Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-28 | 360 |
5.00
из
|
Заказать работу |
|
|
Алгоритмы, в которых последовательность действий зависит от некоторых условий - называются разветвляющимися. Например, если выполнен корректный ввод данных, то программа будет выполнять обработку этих данных, а иначе будет выдано сообщение об ошибке и программа прекратит свою работу.
Для задания условий используется логический тип данных.
Логический тип данных
К логическому типу данных относятся данные, которые могут иметь одно из двух значений – true (истина) и false (ложь). True и false это константы, значение первой равно 1, значение второй - 0. На множестве логических данных определены следующие основные операции:
NOT - логическое отрицание
AND - логическое умножение (и)
OR - логическое сложение (или)
XOR - логическое сложение (исключающее или)
Результаты выполнения логических операций приведены в таблице:
Операция: | Операнд 1 | Операнд 2 | Результат |
NOT | true false | false true | |
AND | true false true false | true false false true | true false false true |
OR | true false true false | true false false true | true false true true |
XOR | true false true false | true true false false | false true true false |
Из этой таблицы следует, что:
- операция NOT определена для одного операнда
- для операции AND результат будет истиной только в том случае, если оба операнда истина
- для операции OR результат будет истиной только в том случае, если хотя бы один из операндов истина.
- для операции XOR результат будет истиной, если операнды имеют разные значения.
Описание данных логического типа
Выполняется с помощью ключевого слова BOOLEAN. Например:
Var
Pr: BOOLEAN;
Begin
Pr:=true;
Логические выражения
Для задания условий используются логические выражения. Логическое выражение может принимать два значения: true(истина) или false(ложь). Для составления логических выражений используются логические операции (NOT, AND, OR, XOR) и операции сравнения:
|
Операция | Описание |
= | равно |
<> | не равно |
> | больше |
< | меньше |
>= | больше или равно |
<= | меньше или равно |
Например:
1. a>b – выражение оценивается как истина, если a=3 и b=5
2. a>b and b>c – выражение оценивается как истина, если a=15, b=10, c=3.
3. b>99 and b<1000 - выражение оценивается как истина, если b – трехзначное число.
4. c<99 or c>1000 - выражение оценивается как истина, если c – не трехзначное число.
Разветвляющийся алгоритм
Разветвляющийся алгоритм позволяет организовать ветвления в программе. Блок-схема разветвляющего алгоритма выглядит следующим образом:
Проверяется условие, в случае, если оно равно истине выполняется Ветка 1(набор операторов), иначе выполняется Ветка 2(другой набор операторов).
Для реализации такой схемы действий в языке Pascal имеется оператор if.
Оператор if
Синтаксис:
IF <условие> THEN <оператор1> [ ELSE <оператор2>];
Где
If, then, else - зарезервированные слова; (if – если, then – тогда, else – иначе). Если перевести на русский, звучит примерно так:
Если условие=истина тогда оператор 1 иначе оператор 2;
<условие> - произвольное выражение логического типа;
<оператор1> - операторы языка Pascal, реализующие ветвь1.
<оператор2> - операторы языка Pascal, реализующие ветвь2.
В квадратных скобках – часть оператора, которая может отсутствовать, необязательная часть.
Если оператор1 или оператор2 – это несколько операторов, тогда их нужно заключать в операторные скобки begin..end. Например,
Begin
Оператор 1;
Оператор 2;
end
Пример 1. Контроль ввода трехзначного числа
Разработаем форму, подобную той, что изображена на рисунке.
На кнопку «Ввод» пишем обработчик:
procedure TForm1.Button1Click(Sender: TObject);
var x:integer;
begin
x:=StrToInt(Edit1.Text);
if (x<100) or (x>999) then
|
begin
ShowMessage(' это не 3-х значное число');
exit;
end
else
ShowMessage(' это 3-х значное число');
end;
Пример 2. Введите три числа. Выведите минимальное
Разработаем форму, подобную той, что изображена на рисунке:
На кнопку «Найти минимальное» напишем обработчик:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,min:real;
begin
a:=StrToFloat(Edit1.text);
b:=StrToFloat(Edit2.text);
c:=StrToFloat(Edit3.text);
min:=a;
if min>b then min:=b;
if min>c then min:=c;
ShowMessage('минимальное ='+FloatToStr(min));
end;
Оператор выбора CASE
Оператор выбора позволяет организовать несколько альтернативных ветвей выполнения программы. Оператор имеет следующий синтаксис:
CASE <выражение> OF
<значение1>: <оператор1>;
<значение2>: <оператор2>;
<значение3>: <оператор3>;
...
[ ELSE <оператор> ] END;
Оператор выполняется следующим образом: вычисляется выражение. Если выражение равно значению1, тогда выполняется оператор1, если выражение равно значению2, тогда выполняется оператор2, если выражение не равно ни одному из значений, тогда выполняется оператор ELSE(иначе).
Значение выражения в операторе CASE не может быть вещественного или строкового типа.
Пример 1. Введите порядковый номер времени года, выведите название времени года
Разработаем форму, подобную той, что изображена на рисунке.
На кнопку «Определить время года» напишем обработчик:
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=StrToInt(Edit1.Text);
case n of
1: ShowMessage('Это зима');
2: ShowMessage('Это весна');
3: ShowMessage('Это лето');
4: ShowMessage('Это осень');
else ShowMessage('Вы ошиблись')
end;
end;
Задания для самостоятельной работы
Используя материал предыдущих занятий решить следующие задачи. Каждую задачу оформлять в виде отдельного приложения. Рекомендуется каждое приложение сохранять в отдельной папке. Продумывать интерфейс с пользователем, чтобы пользователю было удобно работать с вашим приложением. Для разработки интерфейса использовать интерфейсные компоненты Windows: Label, Edit, Bitton.
1. Hайти минимальное из 5-ти чисел. Вывести результат.
2. Введите четыре веществ числа. Определите можно ли построить четырехугольник с длинами сторон, равными этим числам.
3. Заданы тарифы на оплату электроэнергии. Если использовано от 1 до 100 киловатт-час (кВт. час), то плата А рублей за каждый кВт. час. Если использовано больше 100 кВт. час, то за каждый кВт. час от 101 до 200 - плата B руб. а за каждый кВт. час свыше 200 - плата C руб. Составьте алгоритм, вычисляющий, сколько надо заплатить за использование N кВт. часов электроэнергии.
|
4. Введите порядковый номер дня недели. Выдайте название дня недели.
5. Ввели 6-ти значное число. Является ли оно счастливым, т.е. равна ли сумма первых 3-х цифр сумме 3-х последних.
6. Ввели 6-ти значное число. Является ли оно перевертышем, т.е. одинаково читается как справа налево, так и слева направо.
7. Заданы тарифы на перевозки грузов. За перевозку тонны груза на расстояние от 1 до 1000 километров (км) плата А рублей за каждый км. Если груз перевозится на расстояние больше 1000 км, то за каждый км от 1001 до 2001 перевозка тонны груза стоит B рублей за каждый км., а за каждый км свыше 2000 перевозка тонны груза стоит C руб. за км. Составьте алгоритм, вычисляющий, сколько надо заплатить за перевозку одной тонны груза на N км.
8. Электронные часы показывают P часов, M минут, S секунд. Напишите программу, вычисляющую время в часах, минутах и секундах, которое будут показывать часы через 2 минуты 10 секунд.
9. Поле шахматной доски определяется парой (m, n) натуральных чисел (m от 1 до 8, n от 1 до 8). Первое число - номер строки (номер горизонтали), второе число - номер столбца (номер вертикали). Даны натуральные числа k, l, m, n, каждое из которых не больше 8. Определить:
а) являются ли поля (m,n) и (k,l) полями одного цвета;
б) угрожает ли полю (m,n) ферзь, находящийся на поле (k,l).
в) угрожает ли конь, стоящий на поле (k,l) полю (m,n).
10. В кассе имеются только 3-х и 5-ти рублевые купюры (как это было в 1980 году). Составить программу, которая бы "выплачивала" такими купюрами любую сумму более 7 рублей.
11. Ввести коэффициенты квадратного трехчлена, вывести значения корней квадратного уравнения. В случае, если корни не существуют выдать сообщение.
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!