- •Структура программы
- •Раздел var;
- •Типы величин
- •Ввод / вывод в Паскале.
- •Лабораторная работа№1
- •5. Ветвление. Формат оператора.
- •6.Применение ветвлений при решении задач Неполная форма ветвления
- •Составной оператор
- •Оператор выбора
- •Цикл c предусловием.
- •Цикл с постусловием
- •10 Решение задач на циклы.
- •11. Цикл с параметром.
- •12. Накопление суммы, произведения, количества.
- •13. Сочетание циклов и разветвлений.
- •14. Вычисление рекуррентных последовательностей
- •14. Задачи на поиск.
- •15. Поиск минимального/ максимального элемента.
Оператор выбора
Формат оператора:
Case Селектор of
<Список констант>: < оператор>;
<Список констант>: < оператор>;
<Список констант>: < оператор>; …
Else < оператор>
End;
Здесь <селектор> — это выражение любого порядкового типа; <константа> — постоянная величина того же типа, что и селектор; <оператор> — любой простой или составной оператор.
Выполнение оператора выбора происходит так: вычисляется выражение-селектор; затем в списках констант ищется такое значение, которое совпадает с полученным значением селектора; далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, то происходит переход к выполнению оператора, следующего после оператора выбора.
Задача 1. Дана символьная строка, которая имеет следующий вид:
‘a b=’
На месте а и b стоят десятичные цифры; значком обозначен один из знаков операций: + , - , * . Иначе говоря, записано арифметическое выражение с двумя однозначными числами и знак равенства, например '5 + 7 ='. Нужно, чтобы машина вычислила это выражение и после знака равенства вывела результат. Операция деления не рассматривается для того, чтобы иметь дело только с целыми числами.
Программу решения такой задачи назовем интерпретатором.
Интерпретатор должен расшифровать содержание строки и выполнить соответствующую арифметическую операцию. От исходной символьной информации он должен перейти к работе с числовой информацией.
Если предположить, что строка составлена только из четырех символов в соответствии с указанным форматом, то задача решается довольно просто. Вот программа такого интерпретатора:
Program Interpretator;
Var Str: String[4];
A, B: 0. .9;
С: -100. .100
Begin
{ввод исходной строки}
WriteLn('Введите выражение!');
WriteLn;
Read(Str);
{преобразование цифровых символов в числа}
A:=Ord(Str[l])-Ord('0') ;
B:=Ord(Str[3])-Ord('0');
{выполнение арифметической операции}
Case Str[2]
'+': С:=a+b;
'-': С:=a-b;
'*': С:=a*b;
End;
{вывод резут
WriteLn(C:2)
End.
Для целого случайного числа k от 1 до 100 напечатать фразу «Мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» надо заменить на «год» или «года».
Написать программу, которая по номеру дня недели (натуральному числу от 1 до 7) выдает в качестве результата количество уроков в Вашем классе в этот день.
Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.
Составить программу, которая по заданным году и номеру месяца т определяет количество дней в этом месяце.
Для каждой введенной цифры (0-9) вывести соответствующее ей название на английском языке (0 — zero, 1 — one, 2 — two,
Составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца.
Составить программу, позволяющую получить словесное описание школьных отметок (1 — плохо, 2 — неудовлетворительно, 3 — удовлетворительно, 4 — хорошо, 5 — отлично).
Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и длина окружности (третий элемент). Составить программу, которая по номеру элемента запрашивала бы его соответствующее значение и вычисляла бы площадь круга.
Циклы.
