- •А.И. Газейкина Основы структурного программирования на языке Паскаль
- •Тема 1. Линейные программы 4
- •Некоторые стандартные функции языка Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 3. Циклические программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
- •Тема 6. Перечисляемый тип Краткое изложение теоретического материала
- •Тема 7. Тип-диапазон Краткое изложение теоретического материала.
- •Тема 8. Множество (множественный тип) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 9. Массивы в языке Паскаль Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
- •Контрольные задания
- •Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала
- •Процедуры в языке Турбо Паскаль
- •Функции в языке Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 12. Тип данных запись (Record) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 13. Работа с файлами в языке Паскаль Краткое изложение теоретического материала
- •Текстовые файлы
- •Примеры решаемых задач
- •Типизированные файлы
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированные указатели
- •Динамические структуры данных
- •Примеры решаемых задач
- •Контрольные задания
- •Список литературы
Контрольные задания
Составить программу, которая определит, в какой координатной четверти лежит точка с координатами (X,Y).
Составить программу, которая вычислит корни квадратного уравнения ax2+bx+c=0.
Составить программу, которая определит, поместится ли квадрат со стороной А в круг радиуса R, или круг в квадрат.
«Вид треугольника». Треугольник задан координатами своих вершин на плоскости. Составить программу, которая определит, является ли он прямо-, остро- или тупоугольным.
«Посылка». Составить программу, которая определит, можно ли коробку размером axbxc упаковать в посылку размером rxsxt? «Углом» укладывать нельзя.
«Кирпич». Составить программу, которая определит, пройдет ли кирпич со сторонами a, b и c сквозь прямоугольное отверстие со сторонами r и s? Стороны отверстия должны быть параллельны граням кирпича.
«Треугольник и точка». Составить программу, которая определит, лежит ли точка М(x,y) внутри треугольника, заданного координатами своих вершин A, B и C?
Составить программу, которая определит, является ли введенное шестизначное число номером «счастливого» билета (т.е. сумма первых трех цифр равна сумме последних трех цифр). Указание: используйте тип LongInt.
Три шахматиста играют в шахматы. Известно количество очков, набранных каждым из них. Составить программу, которая определит, на сколько очков победитель оторвался от самого слабого игрока.
Составить программу, которая вводит текущую дату (число, номер месяца и год) и выводит следующую дату. Например, 31 12 2005 1 января 2006.
Составить программу, которая вводит текущую дату (число, номер месяца и год) и выводит предыдущую дату. Например, 1 05 2005 30 апреля 2005.
Составить программу, которая вводит число, обозначающее количество килограммов, и выводит для этого числа наименование «килограмм», «килограмма» или «килограммов». Например, «14 килограммов», «73 килограмма», «151 килограмм».
Составить программу, которая вводит целое число (с произвольным количеством цифр – от одной до пяти) и выводит число-перевертыш. Например, 21 12; 358 853.
Тема 3. Циклические программы Краткое изложение теоретического материала
Циклом называется многократное повторение некоторого набора действий. Эти повторяющиеся действия называются телом цикла. Программа, содержащая цикл, называется циклической.
В языке Паскаль существует три оператора для организации циклов трех разных видов.
Цикл с предусловием.
While <условие> Do
<тело цикла>;
где <условие> - логическое выражение,
<тело цикла> - простой или составной оператор.
Компьютер сначала проверяет условие (поэтому цикл называется циклом с ПРЕДусловием). Если оно истинно, будет выполнено тело цикла, и произойдет переход снова на проверку условия. То есть, пока условие истинно, будет выполняться тело цикла. Таким образом, условие является в данном операторе условием выполнения цикла. Цикл с предусловием может быть представлен блок-схемой на Рис. 3.
Тело цикла может выполняться бесконечно (условие всегда истинно), может не выполниться ни разу (условие сразу ложно).
Цикл с постусловием.
Repeat
<тело цикла>
Until <условие>;
где <условие> - логическое выражение,
<тело цикла> - группа операторов.
Компьютер сначала выполняет тело цикла, затем проверяет условие (поэтому цикл называется циклом с ПОСТусловием). Если оно ложно, будет вновь выполнено тело цикла, и так до тех пор, пока условие не станет истинным. Таким образом, условие в данном операторе является условием окончания цикла. Цикл с постусловием может быть представлен блок-схемой на Рис. 4.
Тело цикла всегда выполнится хотя бы один раз, может выполняться бесконечно (если условие всегда ложно).
Цикл со счетчиком (с параметром).
For k:=A To B Do
<тело цикла>;
где k – счетчик (переменная перечислимого типа, в ней хранится количество сделанных повторов тела цикла),
А – начальное значение счетчика,
В – конечное значение счетчика,
<тело цикла> - простой или составной оператор,
шаг изменения счетчика +1.
При А>В тело цикла не будет выполнено ни разу.
Если необходимо использовать цикл со счетчиком, меняющимся с шагом -1, оператор приобретает вид:
For k:=A Downto B Do
<тело цикла>;
где А>В.
Если алгоритм требует другого шага изменения счетчика (отличного от +1 и -1), необходимо использовать другие операторы цикла (While или Repeat).