- •Лекции по 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. Толковый словарик
-
Процедуры
Процедура – эта независимая часть программы, которая имеет своё имя. По этому имени её можно вызывать из различных участков программы для выполнения записанных в ней действий. Структура процедуры повторяет структуру программы:
Формат записи процедуры:
procedure <Имя> ; { заголовок процедуры }
... ... { секция описаний процедуры }
begin
... { операторы }
end;
В программе процедуры записываются сразу после описания переменных:
program Р;
{pаздел описаний данных основной пpогpаммы Р}
procedure К;
{pаздел описаний пpоцедуpы К}
begin
{pаздел опеpатоpов пpоцедуpы К}
end;
begin
{pаздел опеpатоpов основной пpогpаммы Р}
end.
В секции описаний процедуры могут быть описаны локальные переменные6, локальные константы и другие элементы (в том числе и внутренние процедуры и функции).
Пример. Давайте составим программу с процедурой, которая будет приостанавливать работу программы.
program Procedure_Demo;
var a, b, s : integer;
procedure Pausa;
{так как в процедуре не используются переменные, секция описаний пропущена}
begin
writeln (’Нажмите ENTER для продолжения!’);
readln;
end;
begin
write (’Введите первое число: ’);
readln (a);
a := a*a;
writeln (’Квадрат этого числа равен: ’, a);
Pausa; { Вызов процедуры Pausa }
write (’Введите второе число: ’);
readln (b);
b := b*b;
writeln (’Квадрат этого числа равен: ’, b);
Pausa;
s := a + b;
writeln (’Сумма квадратов введенных чисел равна ’, s);
Pausa;
end;
Команды вызова процедуры из основной программы подчёркнуты. Когда компьютер при выполнении этой программы дойдет до строчки Pausa он начнет выполнять те действия, которые записаны в процедуре Pausa, то есть выведет на экран строчку и будет ждать нажатия клавиши Enter. После завершения работы процедуры компьютер продолжит выполнять программу с того места, откуда была вызвана подпрограмма.
-
Аргументы процедуры
В процедуры можно передавать аргументы (параметры) – своего рода начальные данные для процедуры. Вот как изменится от этого заголовок процедуры:
Procedure Name (arg1 : type_arg1; arg2 : type_arg2; ... );
где argN – имя переменной-аргумента, type_argN – тип этой переменной (integer, real, string и т.д). Если среди аргументов есть несколько переменных одного типа, то их можно все перечислить через запятую, а потом указать тип:
Procedure Primer (a, b : integer; s : real);
Описанные в заголовке переменные используются в процедуре как обычные переменные. Например:
Program With_Procedure_Summa;
Var x, y : integer;
Procedure Summa (a, b : integer);
var s : integer; { использована локальная переменная }
begin
s := a + b;
writeln (’Сумма чисел ’, a, ’ и ’, b, ’ равна ’, s);
end;
begin
Summa (4, 7);
write (’Введите два числа: ’);
readln (x, y);
Summa (x, y)
end.
Как видите, для вызова такой процедуры надо после её имени указать в скобках значения, которые будут переданы в процедуру. Это могут быть как конкретные числа, так и переменные.
Во время выполнения этой программы на экране будет напечатано:
Сумма чисел 4 и 7 равна 11
После этого компьютер запросит ввод двух чисел, сложит их и выведет сумму на экран.