- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •2.2 Операторы ввода данных
- •2.3 Операторы вывода данных
- •3 Стандартные функции Pascal
- •3.1 Примеры составления линейной программы
- •4 Контрольные вопросы
- •5 Задание
- •1 Условный оператор if
- •2 Оператор варианта case
- •3 Контрольные вопросы
- •4 Задание
- •4.1 Задание по условному оператору
- •4.2 Задание по оператору варианта
- •5 Содержание отчета
- •1 Оператор цикла с постусловием
- •2 Оператор цикла с предусловием
- •3 Оператор цикла с параметром
- •4 Контрольные вопросы
- •5 Задание
- •6 Содержание отчета
- •1 Итерационные циклы
- •2 Программа итерационного цикла
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Краткая теория
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •6 Содержание отчета
- •1 Одномерные и многомерные массивы
- •2 Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •5 Содержание отчета
- •1 Описание функций
- •2 Параметры функции
- •2.1 Параметры-значения
- •2.2 Параметры-переменные
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Формат описания процедуры
- •2 Параметры процедуры
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Средства и методы отладки программ
- •1.1 Понятие отладки
- •1.2 Разновидности ошибок
- •1.2.1 Ошибки этапа компиляции
- •1.2.2 Ошибки этапа выполнения
- •1.2.3 Логические ошибки
- •2 Выполнение программы по шагам и трассировка
- •2.1 Выполнение по шагам и трассировка
- •2.2 Остановка выполнения
- •2.3 Отслеживание и модификация
- •2.4 Понятие отладочного шага
- •2.5 Выполнение программы по шагам
- •2.6 Трассировка программы
- •2.7 Выполнение больших фрагментов
- •2.8 Повторное выполнение
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
2 Оператор варианта case
Оператор Case (case – случай) производит ветвление программы на произвольное множество ветвей. Из этого множества либо выбирается единственная ветвь, отвечающая одному из заданных условий, либо ни одной, если ни одно из условий не выполняется.
Оператор варианта состоит из выражения (селектора) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Селектор должен иметь порядковый тип данных. Строковый тип и длинный целый тип данных являются недопустимыми типами селектора. Все константы выбора должны быть уникальными и иметь порядковый тип данных, совместимый с типом селектора.
Формат оператора Case:
case <селектор> of
<константа_выбора1>: <оператор1>;
<константа_выбора2>: <оператор2>;
...
<константа_выбораN>: <операторN>;
[else <оператор>]
end;
Оператор Сase сравнивает значение селектора со всеми константами (или диапазонами) выбора и ,в случае их выполняет следующий за константой оператор. Если такой константы выбора или такого диапазона выбора не существует и присутствует ветвь else, то выполнятся оператор, следующий за ключевым словом else. Если же ветвь else отсутствует, то никакой оператор конструкции Case не выполняется, а программа автоматически переходит к своему следующему оператору.
Пример 5:
case Ch of
‘A’..’Z’: WriteLn(‘Латинский алфавит’);
‘А’..’Я’: WriteLn(‘Русский алфавит’);
end;
В случае, когда переменная Ch является одной из A…Z, то на печать выводится "Латинский алфавит", а когда Ch является одной из A…Я, то на печать выводится "Русский алфавит".
Пример 6:
case I of
0, 2, 4, 6, 8: Writeln('Четная цифра');
1, 3, 5, 7, 9: Writeln('Нечетная цифра');
else
Writeln('Цифра не принадлежит диапазону 0..9!');
end;
Если переменная I равна 0, 2, 4, 6, 8, то выводится текст "Чётная цифра", если переменная I равна 1,3,5,7,9, то выводится текст "Нечётная цифра"
Примечание. Во всех примерах оператор end; означает завершение данного блока операторов, а не всей программы. Конец программы Pascal записывается оператором end. (end с точкой).
3 Контрольные вопросы
1 Назначение условного оператора и оператора варианта.
2 Формат и действие оператора IF.
3 Формат и действие оператора Case.
4 Задание
4.1 Задание по условному оператору
№ вар |
Задание |
1 |
2 |
1 |
1.1 Составить алгоритм и программу нахождения корней уравнения ax2+bx+c=0. Предусмотреть варианты двух, одного корня, а также, когда действительных корней нет. |
1.2 Вычислить y=max{a,b,min{c,d}}, a, b, c, d – числа. | |
2 |
2.1 Составить алгоритм и программу вычисления функции y0 (x,y- даны) |
|
2.2 Вычислить (x вводится с клавиатуры). |
3 |
3.1 Составить алгоритм и программу вычисления функции (х вводится) |
3.2 Вычислить: y=min{max{a,b},c}, a, b, c, d – даны. | |
4 |
4.1 Составить алгоритм и программу вычисления функции, x вводится с клавиатуры. |
4.2 Вычислить: (а,b,c,d – вводятся) | |
5 |
5.1 Составить алгоритм и программу вычисления функции, x, a, b, c – вводится с клавиатуры. |
5.2 Вычислить y=min{a,b,c}+max{d,f}, где a, b, c, d, f – даны | |
6 |
6.1 Составить алгоритм и программу вычисления функции, x – вводится с клавиатуры. |
6.2 Вычислить: (a, b, c, d – вводятся с клавиатуры) | |
7 |
7.1 Составить алгоритм и программу вычисления функции, x, y – вводится с клавиатуры. |
7.2 Написать программу, которая в зависимости от введенных А, В и С считает их произведение, если они все положительны; или сумму, если хотя бы одно отрицательно. | |
8 |
8.1 Известно, что из четырёх чисел a, b, c, d одно отлично от трех других, равных между собой. Найти сумму данного числа с любым из трех оставшихся. |
8.2 Вычислить: U = max(x,y)+2*(min(x,y,z)) ( x, y, z – вводится с клавиатуры) | |
9 |
9.1 Даны координаты двух точек. Определить, какую из осей пересекает отрезок, соединяющий две этих точки. |
9.2 Найти квадратный корень из числа А (вводится с клавиатуры). Проверить корректность ввода числа. | |
10 |
10.1 Дан номер года. Найти число дней в этом году. Указание . В современном (григорианском) календаре каждый год, номер которого делится на 4, является високосным, за исключением тех, которые делятся на 100 и не делятся на 400. Например, 1990 год - не високосный, 2000 год – високосный |
10.2 Вычислить (x,y,z,v – вводятся с клавиатуры и принадлежат [-7;7]) | |
11
|
11.1 Логической переменной T присвоить значение TRUE или FALSE в зависимости от того, является натуральное число k кратно 5 или нет |
11.2 Вычислить (x вводится с клавиатуры) | |
12 |
12.1 Определить и вывести на печать номер квадранта, в котором расположена точка М(x,y), x и y заданные вещественные числа. |
12.2 Вычислить (a,b,c,d вводятся с клавиатуры) | |
13 |
13.1 Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия. |
13.2 Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False: | |
14 |
14.1 Время в полете вычисляется по формуле T=S/V, где S – расстояние между пунктами, V – скорость полета самолета. Определить время в полете при отсутствии ветра и при наличии встречного ветра (V1 – скорость ветра). |
15.1 Написать программу проверки трех введенных чисел на четность/нечетность. Вывести, сколько из них четно, сколько нечетно. | |
15 |
15.1 Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False: (n вводится с клавиатуры) |
16 |
16.1 Вычислить , где x,y,z,a,b-вводятся, причем а,b должны быть кратны 5, иначе выдать соответствующее сообщение |
16.2 Ввести возраст человека в годах и в зависимости от числа добавить «лет» или «года». Например, 25 лет, 2 года. | |
17 |
17.1 Вычислить сумму А,В и С, если все они четны, разность, если есть хотя бы одно нечетное. |
17.2 Найти max(min(a,b);min(c,d)). | |
18 |
18.1 Найти максимум из трех чисел. Если он больше некоторого числа А, то найти сумму этих чисел, иначе – произведение. |
18.2 Ввести трехзначное число и найти сумму цифр этого числа. | |
19 |
19.1 Вычислить , где x,y,z,a,b-вводятся, причем а,b четные, иначе выдать соответствующее сообщение |
19.2 Ввести три числа и определить, есть ли среди них четные и кратные 3 одновременно. | |
20 |
20.1 Найти среднее арифметическое трех чисел. Если оно больше некоторого числа А, то возвести его в квадрат, иначе удвоить. |
20.2 Вычислить |