71542

Команды ветвления на языке Pascal. Решение задач на использование операторов IF - THEN – ELSE; CASE

Лабораторная работа

Информатика, кибернетика и программирование

If — это оператор позволяющий осуществить выбор в программе одной из двух последовательностей команд (ветвей) в зависимости от некоторого условия. Условный оператор имеет две формы:

Русский

2017-10-23

52.5 KB

0 чел.

Лабораторная работа

Команды ветвления на языке Pascal. Решение задач на использование операторов IF - THEN – ELSE; CASE.

Цель: научиться использовать операторы «ветвления» и «выбора» при написании программ на языке программирования Pascal.

1) Условный оператор (или оператор ветвления)

If — это оператор позволяющий осуществить выбор в программе одной из двух последовательностей команд (ветвей) в зависимости от некоторого условия. Условный оператор имеет две формы:

неполная форма:

If <условие>

Then <оператор>;

полная форма:

If <условие>

Then <оператор1>

Else <оператор2>;

где условие — выражение булевского типа, оператор, оператор1 — оператор, который выполняется, если условие принимает значение True, оператор2 — оператор, который выполняется если условие принимает значение False. В полной форме оператора If обязательно будет выполнен один из двух операторов: оператор1 или оператор2, а затем управление будет передано следующему оператору, стоящему в тексте программы за оператором If. В неполной форме — либо будет выполнен оператор, либо управление будет передано следующему оператору, стоящему в тексте программы за оператором If.

Задание 1.

Задача 1. Даны два числа X и Y. Определить наибольшее значение этих чисел.

Рассмотреть программу решения задачи. Объяснить работу программы.

Program Maximum;

Var x, y, max : Real; // описание переменных

Begin

Write('X Y : ');

Readln(x,y); // ввод значений переменных X и Y

If x>y Then max:=x Else max:=y; // определение наибольшего значения и присвоение этого значения переменной MAX

Writeln('Max = ', max); // вывод на экран максимального значения переменных X и Y

End.

Проверить работу программы на компьютере.

Разработать программу решения задачи 2.

Задача 2. Даны три числа X, Y, Z. Определить наибольшее значение этих чисел.

Задание 2.

Задача 3. Определить, попадает ли точка с координатами (Xa,Ya) внутрь круга с радиусом R, центр круга совпадает с началом координат.

Рассмотреть программу решения задачи. Объяснить работу программы.

Program Krug;

Var xa,ya,r : Real ;

Begin

Writeln ('Программа определяет принадлежит ли точка кругу радиуса R');

Write ('Введите значения координат Xa,Ya и радиуса R ');

Readln (xa,ya,r);

Write ('Точка ');

If (sqr(xa)+sqr(ya)>sqr(r)) then write ('не принадлежит ') else writeln ('принадлежит');

End.

Проверить работу программы на компьютере.

Заменить в программе строку

If (sqr(xa)+sqr(ya)>sqr(r)) then write ('не принадлежит ') else writeln ('принадлежит');

на строки

If (sqr(xa)+sqr(ya)>sqr(r)) Then Write ('не ');

Writeln ('принадлежит');

Объяснить в чем разница вывода ответа.

Задания для самостоятельного решения:

Составить и выполнить программу, которая находит среди данных трех чисел среднее (под средним числом будем понимать число, которое больше наименьшего, но меньше наибольшего).

Составить и выполнить программу вывода на экран номера четверти, которой принадлежит точка с координатами (Х,Y) при условии, что Х и Y отличны от 0.

Составить и выполнить программу, которая по заданному Х вычисляет Y, если

Y =

Составить и выполнить программу, которая располагает три числа в порядке возрастания.

Составить и выполнить программу, которая выводит на экран частное от деления А на В, если А делится на В нацело, в противном случае - сообщение "А на В нацело не делится".

2) Оператор выбора Case — это оператор позволяющий осуществить выбор в программе одной из последовательностей команд (ветвей) в зависимости от значения переключателя. Оператор выбора имеет две формы:

– Полная форма записи: Case выражение of

список(диапазон)_констант_1: оператор1;

список(диапазон)_констант_2: оператор2;

…………………………………………………

список(диапазон)_констант_N: операторN

else операторE

end;

– Неполная форма записи: Case выражение of

список(диапазон)_констант_1: оператор1;

список(диапазон)_констант_2: оператор2;

…………………………………………………

список(диапазон)_констант_N: операторN

end;

Оператор Case работает следующим образом. Сначала вычисляется выражение. Если вычисленное значение равно одной из констант некоторого списка, то выполняется соответствующий оператор для данного списка. Затем управление передается за пределы оператора Case. Выражение может быть скалярного типа, кроме Real. В соответствии с этим и константа не может быть действительного типа. Тип константы должен совпадать с типом <выражения>. Символ точка с запятой (;) перед else никогда не ставится! В случае, когда вместо одного оператора в какой-либо из ветвей оператора case должна стоять последовательность операторов, то ее необходимо заключить в командные скобки: Begin [список_операторов] end. В результате получается составной оператор, который уже можно поместить в любую ветвь оператора Сase.

Задание 3.

Задача 4. Ввести номер дня недели и вывести соответствующий день недели на русском языке.

Рассмотреть программу решения задачи. Объяснить работу программы.

Program Nedelya;

Var N : Integer;

Begin

Write ('Введите номер дня недели:'); Readln (N);

Write (n,' - ');

Case N Of

1 : Writeln ('Понедельник');

2 : Writeln ('Вторник');

3 : Writeln ('Среда');

4 : Writeln ('Четверг');

5 : Writeln ('Пятница');

6 : Writeln ('Суббота');

7 : Writeln ('Воскресенье')

Else Write ('Нет такого номера дня недели!')

End

End.

Проверить работу программы на компьютере.

Доработать рассмотренную программу. По номеру дня недели необходимо выводить соответствующее название на русском и английском (немецком) языках.

Задание 4.

Задача 5. Составить программу, которая, на вводимый с клавиатуры символ, выдавала бы что это: цифра, буква (строчная или прописная, русская или латинская)), пробел или Enter.

Рассмотреть программу решения задачи. Объяснить работу программы.

Program Vvod_symbol;

var Symbol:Char;

Begin

WriteLn('Нажмите любую клавишу, а затем нажмите клавишу Enter');

ReadLn(Symbol);

Write('Это ');

Case Symbol of

'0'..'9': WriteLn('цифра ',Symbol);

'a'..'z': WriteLn('строчная латинская буква ',Symbol);

'A'..'Z': WriteLn('прописная латинская буква ',Symbol);

'а'..'я': WriteLn('строчная русская буква ',Symbol);

'А'..'Я': WriteLn('прописная русская буква ',Symbol);

#13: WriteLn('Enter'); // ASCII-код клавиши Enter равен 13

' ': WriteLn('пробел')

else WriteLn('другой символ')

end; // конец оператора Case

end.

Проверить работу программы на компьютере.

Задача 6. Разработать программу вычисления функции. Дан список трех встроенных функций. При нажатии первой буквы имени функции на экран выводится полное название этой функции и вычисляется ее значение.

Рассмотреть программу решения задачи. Объяснить работу программы.

Какое назначение функции UpCase?

Program Menu;

Var Name : Char ; // вводимый символ

X : Real ; // аргумент функции

Begin

Writeln ('Введите имя функции: A-Abs, S-Sin, C-Cos');

Readln (Name);

Writeln ('Введите аргумент '); Readln (X);

Case UpCase(Name) Of

'A': Begin

Writeln ('Вычисление абсолютной величины');

Writeln ('Abs(',X:2:1,') = ',Abs(X):2:1)

End;

'S': Begin

Writeln ('Вычисление синуса угла');

Writeln ('Sin(',X:2:1,') = ',Sin(X):8:6)

End;

'C': Begin

Writeln ('Вычисление косинуса угла');

Writeln ('Cos(',X:2:1,') = ',Cos(X):8:6)

End

Else Writeln ('Указанного имени нет в меню')

End

End.

Проверить работу программы на компьютере.

Задания для самостоятельного решения:

Составить и выполнить программу, которая осуществляет перевод арабской цифры в римскую.

Составить и выполнить программу, которая подсчитывает, сколько вводится 1, 2 и 3 среди последовательности 5 чисел.

Составить и выполнить программу, которая по возрасту человека в годах (В<100) приписывает к этому числу текст ГОД, ГОДА или ЛЕТ. Например, 1 ГОД; 23 ГОДА, 45 ЛЕТ.

Составить и выполнить программу, которая по номеру месяца определяет количество дней в месяце (год - не високосный).

Составить и выполнить программу, которая вычисляет площади прямоугольника, прямоугольного треугольника, трапеции, круга.


 

А также другие работы, которые могут Вас заинтересовать

7147. Понятие первобытной культуры. Культура Средневековья и Возрождения 115.5 KB
  Лекция 3. Мировая культура. Часть 1 Шаяхметова А.М., Коровина С.В. А. Понятие первобытной культуры. Б. Культура Древних цивилизаций. В. Античная культура. Г. Культура Средневековья и Возрождения. Понятие первобытной культуры Первобытность - эт...
7148. Основное уравнение передачи по световоду 81 KB
  Основное уравнение передачи по световоду. Рассмотрим волоконный световод без потерь двухслойной конструкции, приведенный на рис...
7149. Построение принципиальной схемы 147 KB
  Построение принципиальной схемы Принципиальная схема строится с учетом помех, фильтров, по входу/выходу, с учётом нагрузок способности, для чего ставятся различные фильтры низких или высоких частот. В результате принципиальные схемы реализуют те же ...
7150. Особенности и периодизация культуры Нового времени. Личность и культура 70 KB
  А. Особенности и периодизация культуры Нового времени. Б. Культура ХХ века. В. Личность и культура. Роль интеллигенции в обеспечении духовного развития общества. Особенности и периодизация культуры Нового времени Специфические особенности рассматрив...
7151. Типы волн в световодах. Критические длины и частоты 76 KB
  Типы волн в световодах. Критические длины и частоты. В сетоводах могут существовать два типа волн: симметричные E0m , H0m несимметричные дипольные EHnm, HEnm. В индексе n - число изменений поля по диаметру m - число изменений поля по периметру. Сим...
7152. Прямоугольные и пирамидальные дешифраторы 959.5 KB
  Прямоугольные и пирамидальные дешифраторы Пирамидальные дешифраторы строятся обычных на двухходовых элементах, где число входных переменных больше двух. Дешифратор наращивается каскадно, путем добавления в дешифратор дополнительных каскадов. Пирамид...
7153. Древнейшие культуры на территории России. Культура Киевской Руси. Культура России нового времени 141.5 KB
  Древнейшие культуры на территории России. Культура Киевской Руси. Русская культура XIII–XVII вв. Культура России нового времени: а) реформы I четверти ХVIII в. и культура б) основные достижения культуры России в ХIХ в. ...
7154. Синхронизированный RS-триггер 662 KB
  Синхронизированный RS-триггер Синхронизированные RS-триггеры могут строится на элементах Особенностью этих триггеров является, то что они имеют дополнительный вход управлений который называется - синхронизированный в отсутствии сигнала....
7155. Серебряный век русской культуры (кон. ХIХ в.-нач. ХХ в.). 3. Тенденции развития современной социокультурной ситуации в России 378 KB
  Серебряный век русской культуры (кон. ХIХ в.-нач. ХХ в.). Культура советского периода: достижения и проблемы (1917–середина 1980-х гг.). Тенденции развития современной социокультурной ситуации в России (1980-е  гг.-н...