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

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

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


 

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

86062. Учет расчетов по социальному страхованию и обеспечению 503 KB
  В качестве объекта налогообложения по единому социальному налогу признаются выплаты в виде материальной помощи безвозмездные выплаты в натуральной форме производимые сельскохозяйственной продукцией и или товарами для детей в части сумм превышающих 1000 руб.
86063. Подсчет резервов увеличения суммы прибыли и рентабельности на ООО ПКФ «Консалекс» 608 KB
  Анализ прибыли и рентабельности предприятия позволяет выявить большое число тенденций развития, призван указать руководству предприятия пути дальнейшего успешного развития, указывает на ошибки в хозяйственной деятельности, а также выявить резервы роста прибыли, что в конечном счете позволяет предприятию...
86064. Расчёт характеристик ТТЛ транзистора со сложным инвертором 2.03 MB
  На базе 5В. Этого достаточно, что бы открыть pn переход. Эмиторный переход открыт; коллекторный переход открыт. Т3 переходит в режим насыщения. Как только переход открывается, на базе остаётся напряжение 0,7В, а остальное падает.
86065. Предложения по совершенствованию существующей системы управления ЗАО «ЦАС» 573.2 KB
  Изучение общей характеристики деятельности организации, её технико-экономических показателей, экономической политики, положения на рынке, связей с другими организациями и государственными службами. Построение организационной структуры предприятия.
86066. Въездной туризм в странах ЕС 463.5 KB
  Туризм давно стал насущной необходимостью и неотъемлемой частью жизни каждого человека, который рано или поздно ощущает потребность отправиться в путешествие. Каждый человек представляет себе туризм достаточно индивидуально, но все-таки общим для всех туристов является желание познать мир...
86067. Виды организационно- правовых форм в соответствии с Российским законодательством 284.5 KB
  Почему существуют фирмы. Создатель такой фирмы ее единоличный хозяин который ни с кем не обязан делиться своей чистой прибылью чистая прибыль это часть прибыли которая остается в распоряжении хозяйственной организации после уплаты налогов и других обязательных платежей. Владелец такой фирмы с одной стороны единолично распоряжается прибылью полученной в результате ее хозяйственной деятельности а с другой стороны несет единоличную ответственность по всем обязательствам данной фирмы. Это означает что в случае необходимости...
86068. Маркетинг товаров новейшей технологии 482 KB
  Маркетинг является разноплановой концепцией. Прежде всего, он известен как философия бизнеса, направленная на выявление потребностей потребителей, целевых рынков, которые данная организация может удовлетворить наилучшим образом путем производства соответствующих продуктов, на то, чтобы каждый...
86070. Моделирование системы массового обслуживания 780.5 KB
  Большой класс систем которые сложно изучить аналитическими способами но которые хорошо изучаются методами статистического моделирования сводится к системам массового обслуживания СМО. Системы массового обслуживания СМО представляют собой системы специального вида реализующие многократное выполнение однотипных задач.