Контрольные вопросы: Структура программы.
Особенности выполнения изучаемых операторов: присваивания, ввода-вывода.
Арифметические выражения: знаки арифметических операций.
Стандартные функции.
Диапазон допустимых значений для вещественных (real) и целочисленных (integer) переменных.
Литература: Бабушкина И.А. Практикум по Турбо Паскалю.- М.: АБФ, 1998.
Емелина Е.И. Основы программирования на языке Паскаль. - М.: Финансы и статистика,1997 .
Зуев Е.А. Turbo Pascal. Практическое программирование.- М.: ПРИОР, 1997 .
Немнюгин С., Перколаб Л. Изучаем Turbo Pascal. – СПб.: Питер, 2001 .
курс, С-Петербург, 2002
Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. Учебное пособие.- М.:"Нолидж",1998.
ЗАДАНИЕ № 2
Организация ветвлений. Условный оператор IF. Оператор выбора Case..of.
Цель работы. Разработать алгоритмы и программы решения задач. Исходные данные – целые числа (тип integer). Использовать операторы If и Case..of. Результат Х - тоже целочисленный (integer или longint).
Исходные данные должны вводиться с проверкой на область допустимых значений.
Теоретическая часть:
Алгоритм разветвляющейся структуры - это алгоритм, в котором вычислительный процесс осуществляется либо по одной, либо по другой ветви, в зависимости от выполнения некоторого условия. Для организации ветвлений применяется оператор условного перехода If …
Условный оператор в языке Паскаль имеет формат:
If <условие> then <оператор1> else <оператор2>; (полная форма)
или If <условие> then <оператор1>; (сокращенная форма) Точка с запятой перед зарезервированным словом else не ставится. При выполнении условия исполняется оператор1, при невыполнении - оператор2 (при полной форме условного оператора). Для неполной формы условного оператора при выполнении условия исполняется оператор1, в противном случае оператор1 пропускается и исполняется оператор, следующий за условным оператором. Оператор1 и оператор2 могут представлять простые операторы (один оператор), в этом случае они не заключаются в операторные скобки. Если же оператор1 и/или оператор2 представляют составной оператор (несколько операторов), то их нужно заключить в операторные скобки begin … end.
В качестве примера приведем программу вычисления наибольшего из значений функции y1=x*x+1, y2=7-x*x или y3=x+1 для любого х.
program razvetvl ; {программа разветвляющейся структуры}
var x, y1, y2 , y3, max : real;
begin writeln (‘Введите x’); readln (x); y1:=x*x+1; y2:=7-x*x ; y3:=x+1; if y1> y2 then max:=y1 else max:=y2; if y3 > max then max:=y3; writeln (‘ y1=‘, y1: 6:2,’ y2=‘, y2: 6:2, ’ y3=‘,y3: 6:2); writeln (‘при x=‘, x: 6:2, ’ наибольшее значение функций = ‘, max: 6:2); readln;
end. Оператор выбора Case ..of
Если количество разветвлений программы больше двух, то используется оператор выбора Case, который является более общим случаем условного оператора. Оператор Case выполняет один из нескольких операторов в зависимости от значения селектора. Если селектор не совпадает ни с одним из значений, то выполняется оператор после else или следующий после case…of оператор, если else отсутствует. Селектор может быть выражением одного из следующих типов: целочисленный, символьный, перечисляемый, интервальный.
Например, определим время года по введенному номеру месяца. Program case1; {множественный выбор} Label m; Var num: integer; begin m: writeln (‘Введите номер месяца’); readln (num); write (‘Время года: ‘, num); case num of { выбор значений селектора num} 1, 2, 12: writeln (‘Зима’); 3..5: writeln (‘Весна’); 6..8: writeln (‘Лето’); 9..11: writeln (‘Осень’); else begin writeln (‘нет месяца с таким номером!’); goto m; end; end; {завершение оператора case} readln;
end .
В приведенном примере программы при вводе номера месяца от 1 до 12 на экране печатается соответствующее время года и выполнение программы заканчивается. Если же номер месяца превышает 12 или меньше 0, то выводится сообщение о неверном вводе месяца, для чего служит зарезервированное слово else и выполняется переход на ввод нового значения месяца с помощью метки m. В данной программе num – селектор.
Задачи для самостоятельного решения:
1) 2) 3) 4)
5) 6) 7) 8) 9) 10)
Дано двузначное число. Определить:
а) какая из его цифр больше, первая или вторая;
б) одинаковы ли его цифры 12. Дано двузначное число. Определить, равен ли квадрат этого числа учетверенной сумме кубов его цифр. Например, для числа 48 ответ положительный, для числа 52 — отрицательный. 13. Дано двузначное число. Определить:
а) является ли сумма его цифр двузначным числом;
б) больше ли числа а сумма его цифр. 14. Дано двузначное число. Определить:
а) кратна ли трем сумма его цифр;
б) кратна ли сумма его цифр числу а.
Имеется стол прямоугольной формы размером а × b (а и b — целые числа, а > b). В каком случае на столе можно разместить большее количество картонных прямоугольников с размерами с×d (c и d— целые числа, с> d): при размещении их длинной стороной вдоль длинной стороны стола или вдоль короткой. Прямоугольники не должны лежать один на другом и не должны свисать со стола.
Дано трехзначное число. Выяснить, является ли оно палиндромом («перевертышем»), т. е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево.
Дано трехзначное число. Определить, какая из его цифр больше:
а) первая или последняя;
б) первая или вторая;
в) вторая или последняя.
Дано трехзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр.
Дано трехзначное число. Определить:
а) является ли сумма его цифр двузначным числом;
б) является ли произведение его цифр трехзначным числом;
в) больше ли числа а произведение его цифр;
г) кратна ли пяти сумма его цифр;
д) кратна ли сумма его цифр числу а. 20. Дано трехзначное число.
а) Верно ли, что все его цифры одинаковые?
б) Определить, есть ли среди его цифр одинаковые. 21. Дано четырехзначное число. Определить:
а) равна ли сумма двух первых его цифр сумме двух его последних цифр;
б) кратна ли трем сумма его цифр;
в) кратно ли четырем произведение его цифр;
г) кратно ли произведение его цифр числу а.
Дано натуральное число.
а) Верно ли, что оно заканчивается нечетной цифрой?
б) Верно ли, что оно заканчивается четной цифрой? В обеих задачах составные условия не использовать. 23. Даны три вещественных числа а, b, с. Проверить:
а) выполняется ли неравенство а < b < с;
б) выполняется ли неравенство b> а > с.
Определить, является ли число а делителем числа b или, наоборот, число b делителем числа а. Ответом должны служить сообщения: «Да, одно из чисел является делителем другого» или «Нет, ни одно из чисел не является делителем другого».
Определить, верно ли, что при делении неотрицательного целого числа а на положительное число b получается остаток, равный одному из двух заданных чисел с или d.
Даны три вещественных числа а, Ь, с. Определить, имеется ли среди них хотя бы одна пара равных между собой чисел.
Год является високосным, если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400 (например, 1700, 1800 и 1900 — невисокосные года, 2000 — високосный).
Дано натуральное число п. Определить, является ли високосным год с таким номером.
Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, ..., 7) выводит на экран его название (понедельник, вторник, ..., воскресенье).
Составить программу, которая в зависимости от порядкового номера месяца (1,2,..., 12) выводит на экран его название (январь, февраль,..., декабрь).
Составить программу, которая в зависимости от порядкового номера месяца (1,2,..., 12) выводит на экран количество дней в этом месяце. Рассмотреть два случая:
а) год не является високосным;
б) год високосный (информация об этом вводится с клавиатуры)
Мастям игральных карт условно присвоены следующие порядковые номера: «пики» — 1, «трефы» — 2, «бубны» — 3, «червы» — 4. По заданному номеру масти т (1 < т < 4) определить название соответствующей масти.
Игральным картам условно присвоены следующие порядковые номера в зависимости от их достоинства: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14. Порядковые номера остальных карт соответствуют их названиям («шестерка», «девятка» и т. п.). По заданному номеру карты к (6 < к < 14) определить достоинство соответствующей карты.
С начала 1990 года по некоторый день прошло п месяцев и 2 дня (n > 1). Определить название месяца (январь, февраль и т. п.) этого дня.
|