- •§1. Начало программирования на языке Паскаль.
- •Краткое знакомство.
- •Функциональные клавиши Турбо Паскаль.
- •§2. Алфавит языка Паскаль. Переменные. Типы переменных Алфавит языка Паскаль.
- •Стандартные математические функции
- •Типы переменных
- •§3. Операторы присваивания.
- •Оператор ввода-вывода.
- •Арифметические операции.
- •Стандартные функции
- •Правила записи арифметических выражений.
- •Правила записи стандартных функций.
- •Оператор ввода .
- •Оператор вывода .
- •§4. Структура программы.
- •Первая программа.
- •Эксперименты с программой.
- •§5. Разветвляющие алгоритмы. Составной оператор
- •Оператор if или условный оператор
- •Блок-схема полного у словного оператора
- •Блок-схема неполного у да Условие словного оператора
- •§6. Оператор цикла с параметром Циклический алгоритм
- •Цикл с предусловием «Пока»
- •Цикл с постусловием «До»
- •Цикл с параметром «Для» Цикл с параметром «Для»
- •Блок-схема цикла «for»
- •§7. Базовые циклические алгоритмы
- •1. Алгоритм вычисления суммы чисел.
- •2. Подсчет количества чисел удовлетворяющих заданному условию.
- •3. Вычислить сумму чисел, кратных 3, из десяти чисел введенных с клавиатуры.
- •4. Алгоритм вычисления n!.
- •5. Алгоритм вычисления аn.
- •§8. Цикл с предусловием while
- •Блок-схема цикла «Пока»
- •§9. Оператор цикла с постусловием Repeat
- •Блок-схема цикла «До»
- •§10. Эксперимент с программой. Лабораторная работа
- •§11. Оператор варианта выбора
- •§12. Типы определенные пользователем Раздел описания типов
- •Перечислимый тип данных
- •§13. Вложенные циклы
- •§14. Одномерные массивы Работа с элементами
- •Способы задания значений элементов массива
- •Алгоритмы работы с массивами
- •Эксперименты с программой
- •§15. Обработка символьных массивов. Данные символьного типа.
- •Описание строковых переменных
- •Операции над строковыми переменными
- •§16. Двумерные массивы Работа с элементами
- •5.Вычисление суммы элементов всего двумерного массива.
- •6. Задача поиска максимального (минимального) элемента и его индексов.
- •7. Алгоритм поиска минимального элемента и его индексов для всего массива.
- •8. Квадратные матрицы.
- •Примеры решения задач
- •§17. Подпрограммы
- •Процедура в Паскале и ее формат.
- •Функции
- •§18. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Задачи, из постановки которых можно извлечь рекурсию
- •Задачи, которые можно решить как частный случай обобщенной
- •Задачи, в которых можно использовать характеристику или свойство функции
- •§19. Графика
- •Установка цвета и стиля заполнения
- •Процедуры создания графических примитивов
- •1. Текущий указатель.
- •2. Вывод точки
- •3. Вывод отрезка
- •4. Построение прямоугольника
- •5. Построение дуг, окружностей, эллипсов.
- •6. Построение закрашенного эллипса:
- •7. Заполнение внутренней или внешней области замкнутой фигуры.
- •Материалы для дополнительного чтения. §20. Файловый тип данных
- •Связь переменной файлового типа с файлом на диске.
- •Чтение из файла.
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •Прямой доступ к элементам файла
- •§21. Текстовые файлы
- •§22. Множества
- •Операции над множествами
- •Операция определения принадлежности элемента множеству
- •Сравнение множеств
- •§23. Комбинированный тип данных (записи)
- •2. С использованием оператора присоединения.
- •§24. Приближенные вычисления.
- •§25. Основы структурного программирования
- •10. Комплексный пример
- •Содержание
§4. Структура программы.
(* комментарии *)
PROGRAM <имя программы>;
USES - модули;
{раздел описаний }
LABEL - описание меток;
CONST - описание констант;
TYPE - описание типов;
VAR - описание переменных;
PROCEDURE - описание процедур;
FINCTION - описание функций;
{начало раздела операторов}
BEGIN
операторы ввода, вывода и
обработки данных
END. {конец раздела операторов,
конец программы}
Среди разделов описаний есть раздел описания переменных. Он начинается со служебного слова Var, после которого идет последовательность объявлений переменных, разделенных точкой с запятой. В каждом объявлении перечисляются через запятую имена переменных одного типа, после каждого списка имен переменных ставится двоеточие Var f,a : integer;
g,y1,y2 : real;
s,s1,s2 : char;
Раздел описания констант начинается со слова CONST.
Пример :
Сonst n=25; r=38;
m=5.15;
Первая программа.
Задача 1 : Написать программу, которая вводит значения двух любых чисел, выводит на экран сумму, разность, произведение и частное от деления этих чисел. Ввод каждого числа произвести с отдельной строке. Каждый результат также нужно поместить на отдельную строку, пояснив в комментарии, чему соответствует выводимое число.
program exampl_1;
var a,b : integer;
begin
writeln('Введите первое число’);
readln(a);
writeln('Введите второе число’);
readln(b);
writeln('A+B= ', a+b:5);
writeln('A-B= ', a-b:5);
writeln('A*B= ', a*b:7);
writeln('A div B= ', a div b:5);
writeln('Нажмите <Enter>');
readln;
end.
Сохранение программы.
Для того чтобы сохранить программу, необходимо либо, либо :
нажать Enter, в вертикальном меню выбрать команду Save as... и нажать клавишу Enter;
в появившемся окне ввести имя файла и нажать Enter;
Компиляция программы
или
выйти в верхнее меню и выбрать команду Compile и нажать клавишу Enter;
или
нажать клавишу ALT-F9.
Запуск программы на выполнение.
или
выйти в верхнее меню и выбрать команду RUN и нажать клавишу Enter;
или
нажать клавишу CTRL-F9.
Алгоритм работы с программой
1. Написать программу на бумаге.
2. Запустить Турво Паскаль.
3. Набрать программу при помощи клавиатуры.
4. Сохранить программу на диске.
5. Запустить программу на компиляцию.
6. Запустить программу на выполнение.
Наша программа есть пример линейного алгоритма.
Линейные алгоритмы описывают решение задач с последовательным выполнением действий. Обычно такие действия идут в следующем порядке :
ввод исходных данных (может отсутствовать, тогда данные задаются внутри программы),
последовательные команды - обычно вычислительного характера;
вывод результатов (должен присутствовать обязательно).
Задача 2 : Написать программу определения цифр трехзначного числа.
program examp2_1;
var a, z1,z2,z3, rez : integer;
begin
writeln('Введите число’); readln(a);
z1:=a Mod 10;
writeln('Цифра единиц числа - ’z1);
z2:=(a Div 10) Mod 10;
writeln('Цифра десятков числа - ’z2);
z3:=a Div 100;
writeln('Цифра сотен числа - ’z3);
rez:=z3*100+z2*10+z1;
writeln('Это тоже число - ’rez);
end.
