- •Занятие № 1. Алгоритм. Язык и среда программирования.
- •Занятие № 2. Язык программирования Pascal.
- •Занятие № 3. Переменные. Простейшие линейные алгоритмы.
- •Занятие № 4. Стандартные операции ввода/вывода.
- •Занятие № 5. Ветвление с простым условием.
- •Занятие № 6. Составные условия.
- •Занятие № 7. Множественное ветвление. Безусловный переход.
- •Занятие № 8. Самостоятельная работа. Занятие № 9. Цикл со встроенным счётчиком (с параметром).
- •Занятие № 10. Стандартные функции. Преобразование типов. Операции над строковым типом данных.
- •Занятие № 11. Циклы с условием
- •Занятие № 12. Самостоятельная работа. Занятие № 13. Введение в машинную графику в Pascal.
- •Занятие № 14. Вывод текста в графическом режиме.
- •Занятие № 15. Простейшая анимация.
- •Занятие № 16. Построение графиков функций.
- •Занятие № 17. Самостоятельная работа. Занятие № 18. Вспомогательный алгоритм. Процедуры и функции пользователя.
- •Занятие № 19. Структурные типы данных. Понятие линейного массива.
- •1. Заполнение вводом с клавиатуры:
- •4. Описание предустановленных массивов.
- •5. Заполнение данными из внешнего файла.
- •Занятие № 20. Простейшие задачи на операции с линейным массивом.
- •1. Подсчёт количества элементов удовлетворяющих некоторому условию.
- •3. Раскрашивание массива.
- •4. Поиск минимального и максимального элементов.
- •5. Копирование и перестановка элементов. Занятие № 21. Сортировка линейного массива.
- •1. Сортировка прямого обмена.
- •2. Обменная сортировка (метод «Пузырька»).
- •Занятие № 22. Понятие двумерного массива.
- •Занятие № 23. Решение задач на тему «Двумерные массивы».
- •Занятие № 24. Самостоятельная работа. Занятие № 25. Множества.
- •В этом случае описано множество a, которое может включать в себя элементы – целые числа в интервале от 1 до 12. Существует возможность описания константных множеств:
- •Задача: составить программу, определяющую количество дней в указанном месяце, указанного года.
- •Занятие № 26. Записи.
- •Занятие № 27. Файлы данных. Текстовые файлы.
- •Занятие № 28. Решение задач (текстовый файл). Занятие № 29. Файлы данных. Типизированные файлы.
- •Занятие № 30. Самостоятельная работа.
- •Занятие № 31. Библиотеки пользователя.
- •Занятие № 32. Некоторые процедуры и функции модуля dos.
- •Занятие № 33. Рекуррентные последовательности и формулы. Рекурсивные алгоритмы.
- •Занятие № 35. Элементы объектно-ориентированного программирования.
Занятие № 6. Составные условия.
Возникают ситуации, когда полное условие состоит из нескольких меньших условий. Такая ситуация приводит к появлению составного условия. Составное условие – это совокупность простых условий объединённых логическими функциями. Логические функции бывают двух типов: одной и двух переменных. Всего существует 4 логические функции одной переменной и 16 функции двух переменных. Мы ограничимся рассмотрением всего четырёх.
В случае использования составных условий простые условия заключаются в круглые скобки.
Для знакомства с логическим функциями введём условные обозначения и понятия:
T – True (истина, условие выполняется)
F – False (ложь, условие не выполняется)
Таблица истинности – это перебор всевозможных исходов аргументов логической функции (выражения) с анализам результата всей логической функции.
A |
B |
Инверсия (НЕ) |
Конъюнкция (И) |
Дизъюнкция (ИЛИ) |
Исключающее ИЛИ |
Обозначение в Pascal |
|||||
NOT (A) |
(A) AND (B) |
(A) OR (B) |
(A) XOR (B) |
||
F |
F |
T |
F |
F |
F |
F |
T |
F |
T |
T |
|
T |
F |
F |
F |
T |
T |
T |
T |
T |
T |
F |
|
Как видно из таблицы инверсия – функция одной переменной, все остальные функции – функции двух переменных.
Теперь можно составлять более сложные условия. Продемонстрируем это на примере.
Пример. Даны три положительных числа a, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого треугольника, в противном случае вывести сообщения о невозможности построения такого треугольника.
Условие существования треугольника – выполнение следующей системы неравенств:
a
+b
c
b+c a
a+c b
Приблизительную площадь треугольника можно рассчитать по формуле Герона:
,
где p – полупериметр.
Программа решения:
program triangle;
uses crt;
var a,b,c,p,s:real;
BEGIN
ClrScr;
write('Введите сторону A: '); readln(a);
write('Введите сторону B: '); readln(b);
write('Введите сторону C: '); readln(c);
if (a+b>=c) and (a+c>=b) and (b+c>=a) then
begin
p:=0.5*(a+b+c);
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s:3:2);
end
else
writeln('Треугольник не существует.');
readkey;
END.
Единственную сложность может представлять строка вычисления площади:
s:=sqrt(p*(p-a)*(p-b)*(p-c));
sqrt(x) – это функция возвращающая корень квадратный своего аргумента заключённого в скобки.
Контрольные вопросы:
Что такое составное условие?
Какие функции одной переменной вы знаете? Как они работают?
Какие функции двух переменной вы знаете? Как они работают?
Задания:
1. Составить программу, определяющую количество дней во введенном с клавиатуры месяце года.
2. Составить программу, решения квадратного уравнения по введенным с клавиатуры коэффициентам a, b и c.
3. Определить принадлежит ли точка с координатами (x, y) указанной области:
а) б)
