
- •Предисловие
- •Основные навыки и умения
- •Логическая культура: знание логики, логическая интуиция.
- •Языковые знания и умения.
- •Поисковые знания и умения.
- •Алгоритмические навыки и умения.
- •Общие подходы к построению алгоритмов
- •Тестирование и сопровождение программ
- •Обязательный минимум содержания среднего (полного) общего образования
- •Технология обработки текстовой информации
- •Введение в информатику
- •Системы счисления
- •Перевод из десятичной системы счисления
- •Перевод в десятичную систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы и обратно
- •Выполнение арифметических операций в позиционных системах счисления
- •Элементы математической логики
- •Логические законы
- •Алгоритм и его свойства
- •Исполнители. Компьютер - универсальный исполнитель
- •Работа компьютера
- •Turbo pascal - исполнитель паскаль-программ
- •Конструкции Паскаля
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип данных
- •Логический тип данных
- •Выражения
- •Операторы ввода-вывода
- •Оператор присваивания
- •Общий вид программы на Паскале
- •Условный оператор
- •If логическое_выражение then оператор1 else оператор2;
- •If логическое_выражение then оператор1;
- •Операторы цикла
- •Построение линейных алгоритмов
- •Построение ветвящихся алгоритмов
- •Построенние циклических алгоритмов
- •Нахождение суммы
- •Вложенные циклы
- •Переборный метод решения задач
- •Численные методы
- •Метод итераций
- •Метод половинного деления
- •Вычисление определенного интеграла методом трапеций
- •Случайные числа
- •Метод Монте-Карло (метод статистических испытаний)
- •Массивы Одномерные массивы
- •Перебор элементов массива
- •Перебор подмассивов
- •Классы задач по обработке массивов
- •Задачи первого класса
- •Задачи второго класса
- •Задачи третьего класса
- •Задачи четвертого класса
- •Сортировка массивов
- •Сортировка вставками
- •Сортировка пузырьком (обменом)
- •Сортировка выбором
- •Сортировка фон Неймана (слиянием)
- •Двумерные массивы
- •Обработка строк
- •Процедуры и функции
- •Рекурсия
- •Работа с графикой
- •Классы программного обеспечения
- •Компиляция и интерпретация
- •Текстовый редактор
- •Электронные таблицы
- •Системы управления базами данных (субд)
- •Пример решения экзаменационного билета
- •Контрольные работы
- •Контрольная работа №1
- •Контрольная работа № 2
- •Контрольная работа № 3
- •Контрольная работа № 4
- •Контрольная работа № 5
- •Библиографический список
Условный оператор
Ветвящиеся (разветвляющиеся) алгоритмы (см. раздел “Алгоритм и его свойства”) программируются при помощи условного оператора, полная форма которого следующая:
If логическое_выражение then оператор1 else оператор2;
if (если), then (тогда), else (иначе) - служебные слова.
Выполнение оператора: если логическое выражение истинно, то выполняется оператор1, иначе (если логическое выражение ложно) выполняется оператор2. В качестве оператора1 и оператора2 может быть любой оператор Паскаля, в том числе и условный оператор.
Краткая форма условного оператора:
If логическое_выражение then оператор1;
Если логическое выражение истинно, то выполняется оператор1, иначе выполняется оператор, расположенный после этого условного оператора.
Если по какой-либо веточке условного оператора необходимо выполнить более одного оператора, то эти операторы надо заключить в операторные скобки begin ... end.
if логическое_выражение
then begin оператор1;
оператор2;
...
end
else begin оператор1;
оператор2;
...
end;
Перед else ‘;’ не ставится. Else всегда относится к ближайшему then.
Пример. Напишите программу, определяющую максимальное из двух целых чисел.
program task2;
var a, b: integer;
begin
write (‘введите два целых числа’); readln (a, b);
if a > b then writeln (‘максимальное =’, a)
else writeln (‘максимальное =’, b);
end.
Операторы цикла
В Паскале циклические алгоритмы (см. раздел “Алгоритм и его свойства”) могут быть записаны с помощью следующих операторов.
Арифметический цикл (или цикл с увеличивающимся параметром):
for параметр := выражение1 to выражение2 do оператор;
for, to, do - служебные слова. Выражение1 и выражение2 вычисляются только один раз при входе в цикл и в процессе выполнения цикла не изменяются. В начале выполнения цикла параметру присваивается значение выражения1. Затем проверяется значение параметра выражения2. Если да, то выполняется оператор тела цикла, после чего значение параметра автоматически получает значение, следующее за текущим значением параметра в соответствии с его типом. Если параметр целого типа, то значение параметра увеличивается на единицу. Если параметр символьного типа, то выбирается следующий символ из кодовой таблицы. Если параметр логического типа, то выбирается следующее логическое значение. Отсюда следует, что параметр должен быть порядкового типа и не может быть вещественного типа. Параметр, выражение1, выражение2 должны быть одного типа. Если выражение1 > выражение2, то тело цикла не выполнится ни разу. Нельзя явным образом менять значение параметра в теле цикла. Если тело цикла содержит более одного оператора, то оно оформляется как составной оператор с использованием операторных скобок begin ... end.
Арифметический цикл (или цикл с уменьшающимся параметром).
for параметр := выражение1 downto выражение2 do оператор;
for, downto, do - служебные слова . Выражение1 и выражение2 вычисляются только один раз при входе в цикл и в процессе выполнения цикла не изменяются. В начале выполнения цикла параметру присваивается значение выражения1. Затем проверяется значение параметра выражения2. Если да, то выполняется оператор тела цикла, после чего значение параметра автоматически получает значение, предшествующее текущему значению параметра в соответствии с его типом. Если параметр целого типа, то значение параметра уменьшается на единицу. Если параметр символьного типа, то выбирается предыдущий символ из кодовой таблицы. Если параметр логического типа, то выбирается предыдущее логическое значение. Отсюда следует, что параметр должен быть порядкового типа и не может быть вещественного типа. Параметр, выражение1, выражение2 должны быть одного типа. Если выражение1 < выражение2, то тело цикла не выполнится ни разу. Нельзя явным образом менять значение параметра в теле цикла. Если тело цикла содержит более одного оператора, то оно оформляется как составной оператор.
Цикл с предусловием:
while логическое_выражение do оператор;
while, do - служебные слова. Оператор тела цикла выполняется до тех пор, пока значение логического_выражения истинно. Для того, чтобы цикл не стал бесконечным (не зациклился), необходимо наличие в теле цикла оператора, влияющего на значение логического выражения. В качестве оператора может быть любой оператор Паскаля. Если тело цикла содержит более одного оператора, то оно оформляется как составной оператор. Тело цикла может ни разу ни выполниться, если при первой проверке логическое_условие ложно.
Цикл с постусловием:
repeat операторы тела цикла until логическое_выражение;
repeat, until - служебные слова. Операторы тела цикла выполняются до тех пор, пока логическое выражение ложно. В теле цикла можно указывать любые операторы Паскаля без использования операторных скобок. Для выхода из цикла необходимо, чтобы операторы тела цикла изменили значение логического_выражения на истинное, иначе произойдет зацикливание. Тело цикла выполнится хотя бы один раз.