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 ЛЕТ.

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

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


 

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

63539. Древнейшие цивилизации на территории нашей страны 1.14 MB
  Однако целых три столетия до этого имя хазар не сходило со страниц летописей разных народов и не случайно поскольку именно их держава каганат до возвышения Руси доминировала в Восточной Европе.
63540. ЭКОНОМИЧЕСКАЯ ТЕОРИЯ 98.5 KB
  Основы экономики общества и ее структура. Роль экономики в развитии общества. Цикличность рыночной экономики. Необходимость практика и перспективы экономических реформ преобразования командной экономики.
63541. ПЛАТЕЖНАЯ СИСТЕМА БАНКА РОССИИ 83 KB
  Издаваемые в форме указаний о внесении изменений и дополнений в действующие правила положения Банка России принимаемые нововведения в большинстве случаев касаются отдельных вопросов правил и не изменяют базовых принципов положенных в их основу включая подходы к терминологии структуре содержания и форме изложения.
63543. Правонарушения и юридическая ответственность 71.5 KB
  Социально-правовая активность определяется главным образом высоким уровнем правосознания сформировавшегося на основе идейной убежденности и в общественной пользе поступка осознания долга перед обществом знания прав и обязанностей профессионального чувства ответственности.
63547. Реализация и толкование норм права 69 KB
  Реализация права есть сложный процесс, протекающий во времени. В нем участвуют не только стороны, носители субъективных прав и обязанностей, но и государство в лице различных органов: правотворческих, правоисполнительных, правоприменительных.