- •Оглавление
- •§1. Первое знакомство с системой программирования Турбо Паскаль
- •§2. Основные элементы языка
- •§3. Команды редактора Команды управления движением курсора
- •§4. Первая программа
- •Пояснения к программе
- •Запуск программы
- •Сохранение программы
- •§5. Управление позициями и цветом вывода
- •§6. Арифметический квадрат.Абсолютная величина
- •§7. Типы данных
- •§8. Целый тип данных
- •Пример 6
- •Пример 7
- •Пример 8
- •§9. Вещественный тип данных
- •Пример 7
- •Пример 8
- •§10. Логический тип данных
- •§11. Условный оператор
- •Пример 1
- •Пример 2
- •Решение
- •§12. Оператор безусловного перехода. Раздел описания меток
- •§13. Вложенные условные операторы
- •Решение
- •Задание
- •Решение задач Задача 1
- •Задача 8
- •Задача 9
- •Задача 10
- •§14. Цикл с параметром
- •Пример 1
- •Пример 2
- •Пример 3
- •§15. Работа с окнами. Метод пошагового выполнения программ
- •§16. Решение задач с использованием цикла с параметром Задача 1
- •Решение
- •Задача 2.
- •§17. Цикл с предусловием
- •Оператор цикла с предусловием
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§18. Цикл с постусловием
- •Пример 1
- •Решение
- •Пример 2
- •§19. Алгоритм Евклида
- •§20. Вложенные циклы Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •Решение
- •Пример 5
- •§21. Решение задач с использованием циклов с условием Задача 1
- •Решение
- •Задача 2
- •§22. Символьный тип данных
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§23. Ограниченный тип данных
- •Var b:3..8; а не просто Vаг b:Integer;
- •Решение
- •§24. Оператор варианта (выбора)
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •§25. Перечисляемый тип данных
- •§26. Описание переменных, констант и типов. Раздел описания констант
- •Раздел описания типов
- •§27. Преобразование типов. Совместимость типов
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение.
- •§28. Процедуры
- •Описание процедуры
- •Решение
- •Begin {основная программа}
- •Пример 2
- •Решение
- •Пример 3
- •§29. Функции
- •Пример 1
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§30. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Пример 3
- •Задачи, которые можно решить как частный случай обобщенной
- •Задание
- •Задачи, в которых можно использовать характеристику или свойство функции Пример
- •Решение
- •§31. Файловый тип данных Операции для работы с файлами последовательного доступа
- •§32. Обработка файлов Связь переменной файлового типа с файлом на диске
- •Чтение из файла
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •§33. Прямой доступ к элементам файла
- •Удаление файлов. Процедура
- •Переименование файлов. Процедура
- •Пример 2
- •§34. Текстовые файлы
- •Обработка текстовых файлов
- •Пример 1
- •Решение
- •Пример 2
- •Нетипизированные файлы
- •§35. Одномерные массивы. Работа с элементами(разбор на примерах) Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Begin {Считываем очередную строку}
- •§36. Работа с элементами массива (разбор на примерах)
- •Пример 2
- •§37. Методы работы с элементами одномерного массива
- •Создание массива
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Работа с несколькими массивами Пример
- •Решение
- •§38. Удаление элементов из одномерного массива Пример 1
- •Решение
- •Begin {Сдвиг элементов на один влево}
- •Пример 2
- •Решение
- •§39. Вставка элементов в одномерный массив
- •Вставка нескольких элементов
- •Решение
- •§40. Перестановки элементов массива
- •§41. Двухмерные массивы Описание. Работа с элементами
- •§42. Найти сумму элементов
- •Решение
- •§43.Нахождение количества элементов с данным свойством
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§44. Работа с несколькими массивами Пример
- •Решение
- •§45. Определить, отвечает ли заданный массив некоторым требованиям Пример 1
- •Решение
- •Пример 2
- •Решение
- •§46. Изменение значений некоторых элементов, обладающих заданным
- •§47. Заполнение двухмерного массива по правилу
- •Пример 2
- •Решение
- •§48. Вставка и удаление элементов Вставка строки
- •Решение
- •Примечания
- •Удаление строки Пример
- •Решение
- •Примечания
- •§49. Перестановка элементов массива Перестановка двух элементов Пример 1
- •Решение
- •Пример 2
- •§50. Строковый тип данных
- •Операции со строками
- •Склеивание
- •Сравнение
- •Примеры
- •Пример 8
- •Пример 9
- •Пример 10
- •§51. Множественный тип данных
- •Операции над множествами
- •Примеры
- •Сравнение множеств
- •Пример 1
- •Пример 2
- •Вопросы для обсуждения
- •Пример 3
- •Вопросы для обсуждения
- •Пример 4
- •Решение
- •Пример 5
- •Решение
- •§52. Комбинированный тип данных (записи)
- •Пример 1
- •Пример 2
- •Пример 3
- •Решение
Задача 8
Написать программу решения квадратного уравнения вида ax2+bx+c=0.
Program Example_28;
var a, b, c, d, x1, x2, x: real;
begin
writeln('Введите коэффициенты квадратного
уравнения’);
readln(a,b,c);
d:=b*b-4*a*c;
if d>0 then
begin
x1:=(-b+sqrt(d)/(2*a);
x2:=(-b-sqrt(d)/(2*a);
writeln('уравнение имеет два корня:
x1=',x1, 'и x2=',x2);
end
else if d=0 then
begin
x:=(-b)/(2*a);
writeln('Уравнение имеет один
корень x=',x);
end
else
writeln('уравнение не имеет корней');
readln;
end.
Задача 9
Определить по номеру года, является ли он високосным. Пример выдачи результата:
2000 – високосный год
1900 – невисокосный год.
Примечание. Год является високосным тогда и только тогда, когда его номер делится на 4 или, если номер года оканчивается на два ноля, − 400.
Program Example_29;
var n: integer;
begin
writeln('Введите год:');
readln(n);
if n mod 100=0 then
begin
if n mod 400=0 then
writeln(n,'- високосный год')
else writeln(n, '-невисокосный
год’);
end
else
begin
if n mod 4=0 then
writeln(n, '-високосный год')
else
writeln(n, '-невисокосный год');
end;
readln
end.
Задача 10
Даны три неравных числа a, b, c. Вычислить и вывести значение z, равное квадрату большего из них.
Program Example_30;
var a, b, c, z: real;
begin
wtiteln('введите 3 числа');
readln(a, b, c);
if a>b then z:=a
else z:=b;
if c>z then z:=c;
z:=sqr (z);
writeln(‘квадрат максимального числа
z=’,z);
readln;
end.
§14. Цикл с параметром
Оператор цикла с параметром:
For <параметр>:= А То В Do
<тело цикла>;
For <параметр>:=А Downto В Do
<тело цикла>;
где А − начальное значение параметра, В − конечное значение параметра.
Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов.
Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями,
Рассмотрим, как выполняется оператор цикла с параметром вида
For <параметр>:=А То В Do
<тело цикла>
Сначала вычисляются значения выражений А и В. Если А<В, то <параметр> последовательно принимает значения, равные А, А+1,..., В-1, В и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу.
Оператор цикла с параметром
For <параметр>:=А Downto В Do
<тело цикла>
выполняется аналогичным образом, но значение <параметра> изменяется с шагом, равным -1.
Если <тело цикла> состоит из нескольких операторов, то операторы тела цикла заключаются в операторные скобки Begin-End.
Пример 1
Составить программу вычисления значения выражения у=((...(202-192)2-182)2-...-12)2.
Решение:
В данном случае целесообразно организовать цикл с параметром, изменяющимся от 19 до 1, то есть шаг изменения параметра равен -1.
Обозначим через у очередное значение квадрата числа, а через n − параметр цикла.
Program Example_31;
Var у, n: Integer;
Begin
y:=sqr(20);
For n:=19 Downto 1 Do y:=sqr(y-sqr(n));
Writeln('Значение выражения равно');
Writeln(у);
End.