Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-11-28 | 363 |
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. Ввести коэффициенты квадратного трехчлена, вывести значения корней квадратного уравнения. В случае, если корни не существуют выдать сообщение.
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!