- •Лекции по Turbo Pascal 7.0
- •1 Курс, «Информатика»
- •Интегрированная среда Turbo Pascal 7.0
- •Первый шаг
- •Создание нового файла
- •Набор и редактирование текста программы
- •Клавиши перемещения курсора
- •Клавиши для редактирования текста:
- •Сохранение и открытие программ
- •Запуск программы
- •Завершение работы
- •А теперь, когда вы уже знаете, как набирать и запускать программы на компьютере, начнём изучать язык паскаль.
- •Первая программа
- •Краткая история
- •Что такое программа?
- •Зарезервированные слова
- •Переменные
- •Константы
- •Стандартные математические операции
- •В информатике, как и в математике, на ноль делить нельзя!
- •Оператор присваивания
- •Пример программы
- •Операторы ввода и вывода.
- •Оператор ввода Readln
- •Оператор вывода Write
- •Самостоятельные задания
- •Работа с цифрами
- •Выделение цифр числа
- •Конструирование числа по его цифрам
- •Обобщение
- •Самостоятельные задания
- •Условный оператор
- •Что такое условие?
- •Укороченный вариант условного оператора
- •Составной оператор
- •Составные условия
- •“Защита от дурака”
- •Вложенные условные операторы
- •Оператор выбора Case
- •Самостоятельные задания
- •Стандартные типы переменных
- •Общий обзор стандартных типов.
- •Целые типы
- •Вещественные типы
- •Способ записи вещественных чисел
- •Вывод на экран вещественных чисел
- •Точность и диапазон вещественных чисел различных типов
- •Вещественные функции
- •Линейная запись математических выражений
- •Логический тип
- •Символьные типы
- •Стандартные функции для работы со строками
- •Стандартные функции для типа char
- •Подпрограммы
- •Зачем нужны подпрограммы?
- •Процедуры
- •Аргументы процедуры
- •Результаты процедуры
- •Функции
- •Самостоятельные задания
- •Цикл For
- •Руками не трогать!
- •Нахождение суммы
- •Нахождение произведения
- •Нахождение количества
- •Цикл While ... Do
- •Цикл Repeat ... Until
- •2.7. Самостоятельные задания
- •Цикл в цикле
- •Натуральные числа
- •Делители чисел
- •Самостоятельные задания.
- •Простые числа
- •Самостоятельные задания.
- •Наибольший общий делитель двух чисел.
- •Самостоятельные задания.
- •Наименьшее общее кратное двух чисел
- •Самостоятельные задания.
- •Массивы
- •Определение и примеры
- •Операции с элементами массива
- •Анализ информации в массиве
- •Рекуррентные соотношения
- •Самостоятельное задание
- •Последовательность Фибоначчи
- •Другие рекуррентные последовательности
- •Оптимизация программ
- •Задача про интеллигентного студента.
- •Самостоятельные задания
- •Оформление программ
- •Понятие модуля
- •Управление цветом
- •Управление звуком
- •Опрос клавиатуры
- •Управление курсором.
- •Дополнительные задачи и вопросы
- •Теоретические вопросы
- •Практические задачи
- •Условия
- •Ряды и рекуррентные последовательности
- •Просмотр всех команд меню
- •Команды меню File
- •Команды меню Edit
- •Команды меню Search
- •Команды меню Run
- •Команды меню Compile
- •Команды меню Debug
- •Команды меню Options
- •Команды меню Window
- •Команды меню Help
- •Синтаксические ошибки
- •Ошибки выполнения
- •Логические ошибки
- •Средства отладки
- •Пошаговый режим работы программы
- •Просмотр/изменение переменных
- •Окно Watch
- •1. Теоретическая часть
- •1.1. Понятие алгоритма и его свойства.
- •1.2. Культура программирования
- •1.3. Устройство компьютера и его компоненты.
- •1.4. Информация
- •1.5. Логика
- •1.6. Системы счисления
- •1.7. Арифметические действия с двоичными числами
- •1.8. Информационные взаимодействия – коммуникации
- •1.9. Информационная революция
- •1.10. Компьютеры и информационное общество.
- •1.11. Польза и опасности компьютеризации.
- •1.12. Киберфобия.
- •1.13. Компьютеры и будущее
- •1.14. Понятие информационного моделирования.
- •2. Толковый словарик
-
Цикл While ... Do
Цикл While (пока) особенен тем, что позволяет организовывать циклы, для которых нельзя заранее сказать, сколько раз выполнится его тело. Цикл выполняется до тех пор, пока верно условие в заголовке цикла.
Формат записи:
While <условие> do
begin
<Оператор цикла>
end
Цикл работает так. Сначала проверяется <условие>. Если оно верно, то выполняется <Оператор цикла>. Затем <условие> проверяется ещё раз, если оно опять верно, то снова выполняется <Оператор>. Так продолжается до тех пор, пока <условие> верно. Если <условие> с самого начала было ложно, то <Оператор> не выполнится ни разу.
Заставим компьютер посчитать от 1 до 100, используя этот оператор цикла:
Program Schet_ot_1_do_100;
Var i : integer;
Begin
i := 1;
while i <= 100 do { нам нужно перебрать первые 100 чисел }
begin
writeln (i);
i := i + 1; { Если убрать эту строку – программа зациклится }
end;
end.
Обратите внимание на строку
i := i + 1;
Благодаря этой строке программа перебирает все числа от 1 до 100, потому что цикл while, в отличие от for, самостоятельно не изменяет никакие переменные – в этом, кстати, и заключается его универсальность. Если вы не позаботитесь об увеличении переменной i на единицу, то условие всегда будет верно (i всегда равно 1, а значит i всё время меньше, чем 100).
С помощью цикла while легко можно перебирать числа не подряд, а, например, через одно. Составим, например, программу для вывода первых 10 положительных чётных чисел.
Program NaborChetnyxChisel;
Var i : integer;
Begin
i := 2;
while i <= 20 do
begin
writeln (i);
i := i + 2; { переход к следующему чётному числу }
end;
end.
Здесь использован тот факт, что от одного чётного числа до следующего две единицы. Если бы мы использовали для решения этого задания цикл For, то нам пришлось бы дополнительно проверять каждое число на чётность (так как в цикле For числа перебираются подряд; цикл while не ставит таких ограничений: как нам надо перебирать числа, так мы и делаем).
Полезный совет: Чтобы не допустить логических ошибок при использовании цикла While, проверьте, как будет работать цикл в первый и в последний раз: обрабатываются ли он те числа, которые надо?
-
Цикл Repeat ... Until
Формат записи этого цикла:
Repeat
<оператор1>;
<оператор2>;
...
<операторN>
Until <условие выхода>;
Цикл Repeat (повторять) очень похож на цикл While. Но работает немного по-другому:
Сначала выполняется последовательность операторов после Repeat, затем проверяется <условие выхода> записанное после Until. Если оно ложно, цикл выполняеттся заново. Если же оно истинно, то цикл заканчивает свою работу.
То есть тело цикла Repeat всегда выполнится хотя бы один раз. Потому можно сказать, что цикл While сначала думает, а потом делает, а Repeat наоборот: сначала делает, а потом думает. Ещё раз обратите внимание, что цикл Repeat повторяется только тогда, когда условие после Until ложно, потому это условие и называется “условием выхода”.
Составим ещё раз программу счёта от 1 до 100, используя теперь цикл Repeat - Until :
Program Schet_ot_1_do_100;
Var i : integer;
Begin
i := 1 ;
Repeat
writeln (i);
i := i + 1;
until i > 100;
end.
Сравните эту программу с аналогичной, которую мы оформляли с циклом While. Сколько вы найдёте различий, прежде чем читать дальше?
Всего должно быть не меньше двух отличий:
-
В цикле Repeat не использованы операторные скобки begin - end (они ему просто не нужны!)
-
По разному записаны условия цикла, в цикле Repeat записано условие выхода: когда оно выполнится, цикл завершит работу.