- •Введение
- •Выбор среды программирования
- •1. Линейные программы: арифметические операторы, стандартные функции и ввод/вывод в текстовом режиме
- •1.1. Алгоритмы
- •1.2. Переменные и их типы
- •1.3. Операторы
- •1.4. Стандартные функции
- •1.5. Структура программы
- •1.6. Ввод/вывод в текстовом режиме
- •1.7. Задачи на составление арифметических выражений
- •Контрольная работа №1
- •Задание 1: Линейные программы, арифметические операторы
- •2. Логические выражения и условный оператор
- •2.1. Переменная логического типа
- •2.2. Операторы сравнения
- •2.3. Логические операторы
- •2.4. Задачи на составление логических выражений
- •2.5. Условный оператор
- •2.6. Оформление текста программ
- •Контрольная работа №2
- •Задание 2: Составление логических выражений, условный оператор
- •3. Цикл for
- •3.1. Цикл с параметром (for)
- •4.2. Прием накопления суммы
- •4.3. Прием накопления произведения
- •4.4. Комбинация обоих приемов
- •4.5. Цикл с downto
- •4.6. Операторы break и continue
- •Контрольная работа №3
- •Задание 3. Цикл for. Приемы накопления суммы и произведения.
- •4. Вычисления с помощью рекуррентных соотношений
- •4.1. Рекуррентные соотношения: основные понятия
- •4.2. Задачи на составление рекуррентных соотношений
- •4.3. Многомерные рекуррентные соотношения
- •Контрольная работа №4
- •Контрольная работа №5
- •Задание 4. Вычисления с помощью рекуррентных соотношений
- •5. Вложенные циклы
- •5.1. Вложенные циклы: теория
- •Контрольная работа №6
- •Задание 5. Вложенные циклы
- •6. Задачи на перебор вариантов
- •6.1. Перебор вариантов: теория
- •Задание 6. Задачи на перебор вариантов
- •7. Пепременные – флаги
- •7.1. Переменные – флаги: теория
- •Задание 7. Переменные-флаги
- •8. Переменная – счетчик событий
- •8.1. Переменные – счетчики
- •Задание 8. Переменная – счетчик событий
- •9. Циклы while и repeat
- •9.1. Циклы while и repeat
- •9.2. Зацикливание
- •9.3. Цикл, управляемый меткой
- •9.4. Вычисление номера шага
- •9.5. Вычисления с заданной точностью
- •Контрольная работа №7
- •Задание 9. Циклы while и repeat
- •10. Массивы
- •10.1. Структурные типы данных
- •10.2. Массивы
- •10.3. Вычислимость индексов
- •10.4. Примеры программ, работающих с массивами
- •10.5. Сортировка массивов
- •10.6. Хороший стиль при решении задач на массивы
- •Контрольная работа №8
- •Контрольная работа №9
- •Задание 10. Массивы
- •11. Процедуры и функции
- •11.1. Простейшая процедура
- •11.2. Локальные переменные
- •11.3. Параметры процедур
- •11.4. Параметры-значения и параметры-переменные
- •11.5. Программирование сверху вниз
- •11.6. Передача массивов в качестве параметров
- •11.7. Функции
- •11.8. Опережающее описание
- •11.9. Процедурные типы
- •11.10. Пример: Интегрирование методом трапеций
- •11.11. Правильное составление заголовков процедур и функций
- •11.12. Модули
- •11.13. Хороший стиль при написании процедур и функций
- •Контрольная работа №10
- •Задание 11: Процедуры и функции
- •12. Двумерные массивы
- •12.1. Двумерные массивы: теория
- •Задание 12: Двумерные массивы
- •13. Графика в Паскале
- •13.1. Введение
- •13.2. Инициализация графического режима
x := x - y else
y := y - x; end;
function Nod(x, y: integer): integer; begin
while x <> y do
Step(x, y); Nod:=x;
end;
begin x:=9; y:=27; z:=3;
writeln(Nod(Nod(x, y), z)); end.
Задание 11: Процедуры и функции
Простейшие процедуры
1. Создайте процедуру, печатающую на экране слово Hello и программу, которая с ее помощью напечатает слово Hello 10 раз.
Локальные переменные
2. Создайте процедуру, которая выводит в одну строку слово Hello 5 раз. Осуществите это с помощью цикла. Переменную счетчик цикла сделайте локальной. С помощью этой процедуры выведите 5 таких строк.
Параметры процедур
3.Создайте процедуру, печатающую слово Hello заданное число раз. Количество раз передавайте в процедуру как параметр-значение.
4.Создайте процедуру, увеличивающую значение переменной на единицу.
5.Создайте процедуру, меняющую значения двух переменных местами.
6.Создайте процедуру, располагающую два числа по возрастанию. На входе она должна получать две переменные и если первая больше второй, то значения должны поменяться местами. Операцию перестановки выполняйте, обращаясь к процедуре из первой задачи.
7.Создайте процедуру, упорядочивающую три числа по возрастанию. Сравнений в этой процедуре не проводите. Вместо этого обращайтесь к процедуре из предыдущего задания.
8.Создайте процедуру, которая пару последовательных чисел Фибоначчи преобразует в следующую пару. То есть, если на входе даны элементы с
номерами (n-1) и n, то процедура должна в те же переменные записать элементы с номерами n и (n+1). С помощью этой процедуры найдите 10-е число в последовательности Фибоначчи.
9. Создайте процедуру для возведения числа в целую степень. Число и степень должны быть параметрами-значениями, а результат должен записываться в параметр-переменную. То есть заголовок процедуры должен выглядеть примерно так:
procedure Power(x: real; n: integer; var Result: real);
10. Поворот на угол ϕ против часовой стрелки относительно начала координат приводит к следующему преобразованию координат:
ìx′ = xcosϕ − ysinϕ
íîy¢ = xsinϕ + y cosϕ
Создайте процедуру, осуществляющую такое преобразование.
12.Создайте процедуру, заполняющую массив случайными числами. Массив для заполнения передавайте в процедуру как параметр-переменную. В той же программе создайте процедуру, печатающую на экране элементы массива. Главная программа должна состоять из вызова этих процедур.
13.Усовершенствуйте предыдущую программу, добавив к процедурам еще один параметр – количество элементов, которые нужно заполнять или печатать. Пусть главная программа запрашивает это количество у пользователя.
Функции
14.Создайте функцию, перемножающую два числа. Убедитесь с ее помощью, что дважды два – четыре.
15.Создайте функцию, возводящую число в целую степень. Число и степень должны быть, естественно, параметрами.
16.Создайте функцию, возвращающую индекс максимального элемента массива. С ее помощью осуществите сортировку массива.
17.Реализуйте несделанные вами ранее задания на обработку массивов, оформляя часть программы как процедуру или функцию.
Процедурные типы
18. Создайте функцию, вычисляющую определенный интеграл методом трапеций. Функцию, от которой надо брать интеграл, передавайте как параметр процедурного типа.