- •А.И. Газейкина Основы структурного программирования на языке Паскаль
- •Тема 1. Линейные программы 4
- •Некоторые стандартные функции языка Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 3. Циклические программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
- •Тема 6. Перечисляемый тип Краткое изложение теоретического материала
- •Тема 7. Тип-диапазон Краткое изложение теоретического материала.
- •Тема 8. Множество (множественный тип) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 9. Массивы в языке Паскаль Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
- •Контрольные задания
- •Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала
- •Процедуры в языке Турбо Паскаль
- •Функции в языке Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 12. Тип данных запись (Record) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 13. Работа с файлами в языке Паскаль Краткое изложение теоретического материала
- •Текстовые файлы
- •Примеры решаемых задач
- •Типизированные файлы
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированные указатели
- •Динамические структуры данных
- •Примеры решаемых задач
- •Контрольные задания
- •Список литературы
Контрольные задания
Составить программу, которая вычислит длину окружности и площадь круга заданного радиуса.
Составить программу, которая вводит трехзначное число и выводит число-перевертыш (т.е. число, полученное из введенного перестановкой цифр слева направо).
Составить программу вычисления площади треугольника, заданного длинами своих сторон (по формуле Герона ).
Составить программу вычисления площади треугольника, заданного координатами своих вершин на плоскости (по формуле Герона ).
Составить программу, которая поменяет местами значения двух переменных:
с использованием третьей переменной;
без использования третьей переменной.
«Из градусов в радианы». Угол α задан в градусах, минутах и секундах. Найти его величину в радианах с максимально возможной точностью.
«Из дюймов в метры». Длина отрезка задана в дюймах (1 дюйм = 2,54 см). Выразить длину отрезка в метрах, сантиметрах и миллиметрах. Например, 21 дюйм = 0 м 53 см 3,4 мм.
«Временной интервал». Заданы моменты начала и конца некоторого промежутка времени в часах, минутах и секундах (в пределах одних суток). Найти продолжительность этого промежутка в тех же единицах измерения.
Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
Для организации ветвления в программе на языке Паскаль используются условный оператор (конструкция ветвления в полной и сокращенной форме) и оператор варианта.
Ветвление в полной форме:
If <условие>
Then <оператор 1>
Else <оператор 2>;
где <условие > - логическое выражение, которое может принять одно из двух значений – истина или ложь; условия могут быть простыми (с использованием операций отношения >, <, =, <>, <=, >=) или сложными (с использованием логических операций Not, And, Or, Xor);
<оператор 1> и <оператор 2> - простые или составные операторы. <оператор 1> будет исполнен в случае, когда условие истинно. <оператор 2> - если условие ложно. Одновременно <оператор 1> и <оператор 2> выполнены быть не могут. Ветвление в полной форме может быть представлено в виде блок-схемы на Рис. 1.
Ветвление в сокращенной форме:
If <условие>
Then <оператор>;
Ветвление в сокращенной форме может быть представлено в виде блок-схемы на Рис. 2.
Оператор варианта:
Позволят осуществить множественный выбор. Имеет вид:
Case <переключатель> Of
<константа 1> : <оператор 1>;
<константа 2> : <оператор 2>;
…
<константа n> : <оператор n>
Else <оператор>
End;
где <переключатель> - переменная (выражение) перечислимого типа (из стандартных к перечислимым относятся Integer, Char, Boolean);
<константа i> - возможные значения переключателя;
<оператор i> - простой или составной оператор, который будет исполнен в случае, если значение переключателя будет равным соответствующей константе;
<оператор> - простой или составной оператор, который будет исполнен в случае, если значение переключателя не совпадет ни с одной из констант.
Примеры решаемых задач
Пример 1. Составить программу, которая определит большее из двух введенных чисел.
Программа:
Program maximum;
Uses Crt;
Var A, B : Integer;
Begin
Clrscr;
Write (‘Введите два числа ’);
Readln (A, B);
If A>B
Then Writeln (‘Большее число ’, A)
Else If B>A
Then Writeln (‘Большее число ’, B)
Else Writeln (‘Числа равны’);
Readln
End.
Пример 2. Составить программу, которая вводит число, обозначающее количество лет, и выводит для этого числа наименование «год», «года» или «лет». Например, «14 лет», «183 года», «31 год».
Составим модель данной задачи. Исходным данным является целое число A. Результат: наименование. Наименование зависит от последней цифры введенного числа: 1 - «год»; 2,3,4 – «года», 0,5,6,7,8,9 – «лет». Исключением являются числа, две последних цифры которых составляют число от 11 до 14 – в этом случае требуемым наименованием будет «лет» («12 лет»).
Алгоритм решения:
ввод числа А;
вычисление числа В из двух последних цифр числа А;
если В лежит в интервале от 11 до 14,
то писать наименование «лет»
иначе
выделить последнюю цифру числа А (обозначим С);
если С=1, то вывести наименование «год»;
если С=2 или С=3 или С=4, то вывести наименование «года»;
если С=0 или С в интервале от 5 до 9, то вывести наименование «лет».
Программа:
Program Years;
Uses Crt;
Var A, B, C : Integer;
Begin
Clrscr;
Write (‘Введите число ’);
Readln (A);
B := A mod 100;
If (B>=11) And (B<=14)
Then Writeln (A, ‘ лет’)
Else Begin
C := A mod 10;
Case C Of
1 : Writeln (A, ‘ год’);
2, 3, 4 : Writeln (A, ‘ года’);
0, 5..9 : Writeln (A, ‘ лет’)
End
End;
Readln
End.