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

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

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


 

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

66499. Автоматическое управление в функции времени. Реле времени 248.5 KB
  Наряду с автоматизацией технологических процессов реле времени широко применяют для автоматизации процесса пуска мощных электродвигателей посредством пусковых реостатов в металлорежущих станках бытовых машинах и пр.
66501. Программирование и использование программных модулей 83 KB
  Разработать программный модуль (ПМ), в котором содержится не менее 4 подпрограмм (таблица 1) Задание 2 Составить Паскаль-программу, в которой используется не менее 4 подпрограмм программного модуля, разработанного в задании 1. Отчет должен содержать: -название лабораторной работы и номер варианта...
66502. Вибір та тестування оперативної пам’яті ПК 319 KB
  Мета: Набути вмінь та навиків при виборі та тестуванні оперативної пам’яті. ХІД РОБОТИ 1. Отримати від викладача материнську плату. 2. Визначити кількість роз’ємів для оперативної пам’яті. 3. Визначити тип модулів пам’яті, які встановлюються в дану материнську плату...
66503. Исследование датчика линейных ускорений 806 KB
  Датчик линейных ускорений (ДЛУ) предназначен для измерения линейных ускорений летательных аппаратов и выдачи электрического сигнала, величина которого пропорциональна линейному ускорению, действующему вдоль оси чувствительности.
66504. Электроизмерительные приборы, описание устройства, принципа действия и характеристик изучаемых приборов 5.33 MB
  Ознакомиться с классификацией назначением устройством принципом действия и характеристиками основных типов измерительных приборов. По представленным наглядным образцам и макетам уяснить принципы работы приборов и варианты их конструктивного исполнения отразив в отчете их основные технические характеристики.
66506. Тестування моніторів та відеоадаптерів 136 KB
  Крізь металеву маску або грати вони потрапляють на внутрішню поверхню скляного екрану монітора яка покрита різнокольоровими люмінофорними точками. Причини виходу монітора з ладу: Порушення втрата вакууму Часта причина відмови монітора особливо на початку експлуатації походить від того що...
66507. СИНТЕЗ СИСТЕМ УПРАВЛЕНИЯ С ОБРАТНОЙ СВЯЗЬЮ 539.92 KB
  Построим переходные и частотные характеристики непрерывной и дискретной модели: Рис. Переходная характеристика непрерывной системы Рис. Переходная характеристика дискретной системы Рис. Частотные характеристики непрерывной системы...