- •Введение
- •Выбор среды программирования
- •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. Инициализация графического режима
6)Внутри условного оператора могут располагаться любы другие операторы,
втом числе и другие условные операторы. То, что находится внутри них, пишется с еще большим отступом.
Например:
begin
readln(x, y, z); if x > y then begin
if x > z then {Вложенный if с дополнительным отступом в два пробела} begin
{writeln с еще большим отступом} writeln(x);
end; end;
end.
Общая идея такова: отступы показывают подчиненность (вложенность) структур в вашей программе. Текст внутри раздела операторов – делаем отступ, внутри условного оператора – еще больший отступ, внутри еще одного условного оператора – еще больший отступ и т. д.
Соблюдение данных правил делает визуально очевидной логическую структуру вашей программы. Создание сколько-нибудь сложной программы без этого оказывается невозможным.
Контрольная работа №2
1.Вычислите, какое значение будет присвоено логической переменной b. x := 2;
a)y := 5;
b := not((x>=2)and(x*y<5));
x := 2; б) y := 55;
b:= not(not(2*x>4)and(y mod 2<>1));
2.Составьте логическое выражение, которое истинно, когда точка с координатами (x, y) попадает в заштрихованную область на рисунке
(а) |
(б) |
25
(в) |
(г) |
3. Какое значение примут переменные после выполнения следующих операторов
a)x := 5; y := 10;
if sqr(x) > sqrt(y) then x:=sqr(x)
else
y:= sqr(y);
б) x := 5; y := 10;
if sqr(x) > sqrt(y) then x := sqr(x)
else
y := sqr(y); x := sqr(x);
Задание 2: Составление логических выражений, условный оператор
1. Напишите программу, которая запрашивает два числа и, а затем выводит их в порядке возрастания, сначала меньшее затем большее.
2. Создайте программу, которая запрашивает у пользователя три числа, а затем сообщает ему, какое из этих чисел наибольшее.
3. Создайте программу, которая запрашивает у пользователя число и сообщает, является ли это число четным.
4. Даны три числа a, b, c. Если среди них есть отрицательные, возведите их в квадрат. Если после возведения в квадрат число стало больше 20, умножьте его на 2.
5. Напишите программу, которая запрашивает значение x, а затем выводит значение следующей функции от x:
ì 1, x > 0 sign(x) = ïí 0, x =0
ïî-1, x < 0
6.Напишите программу, которая запрашивает значения x, y, z, а затем выводит значение следующих функций: max(x, min(y, z)) и min(min(x, y), z).
7.Модифицируйте вашу программу расчета корней квадратного уравнения, добавив к ней проверку неотрицательности дискриминанта. Если дискриминант отрицательный, сообщайте пользователю, что уравнение не имеет корней.
26
8.Модифицируйте вашу программу расчета корней квадратного уравнения, добавив к ней проверку того, что первый коэффициент не равен нулю. В противном случае сообщайте пользователю, что уравнение не квадратное, а линейное и вычислите его единственный корень. Если первые два коэффициента оба равны нулю, а третье не равно, сообщите пользователю, что корней нет. А если все коэффициенты равны нулю, сообщите, что любое число является корнем.
9.Пользователь вводит три числа. Сообщите ему, упорядочены ли введенные числа по возрастанию.
10.Пользователь вводит три числа – длины сторон треугольника. Программа должна сообщить пользователю:
является ли треугольник равносторонним; является ли треугольник равнобедренным; является ли треугольник разносторонним; является ли треугольник прямоугольным;
существует ли вообще такой треугольник (такого треугольника не может быть, если сумма любых двух сторон окажется меньше третьей стороны).
11.«Узник замка Иф»
За многие годы заточения узник замка Иф проделал вилкой в стене прямоугольное отверстие размером d × e . Замок Иф сложен из кирпичей размером a × b × c . Узник хочет узнать, сможет ли он выбрасывать кирпичи в море из этого отверстия, чтобы сделать подкоп. Снабдите его необходимым для решения задачи софтом. На вход программе подаются 5 чисел (a, b, c, d, e), программа должна давать ответ YES или NO.
12. Напишите программу, которая в зависимости от введенного возраста добавляет слова «год», «года» или «лет». Например, при вводе возраста 1, программа сообщает «1 год», при числе 2 – «2 года», при числе 125 – «125 лет».
27