- •Первый семестр
- •Дальнейшее обучение программированию (по семестрам)
- •Рекомендуемая литература
- •I семестр Лекция 1
- •1.1 Алгоритм. Понятие алгоритма
- •1.2 Алгоритмические языки
- •1.3 Запись алгоритма
- •1.4 Элементарные структуры
- •Лекция 2
- •2.1. Договоренности о синтаксисе
- •2.2. Текст программы на Turbo Pascal
- •2.3 Элементарные операции
- •2.4. Таблица перевода для структур
- •Алгоритм:
- •Текст программы
- •2.5 Практические рекомендации по решению задач
- •3.2. Частные случаи для структуры цикла
- •3.3 Массивы
- •Лекция 4
- •4.0 Требования к защите бальных задач
- •4.1 Начало систематического изложения Turbo Pascal (tp)
- •Лекция 5
- •5.1 Простые типы данных
- •5.1.1 Перечислимый тип
- •5.1.2 Интервальный тип
- •5.1.3 Целочисленные типы
- •5.1.4 Данные типа char
- •5.1.6 Вещественные типы данных
- •Лекция 6
- •6.1 Структура программы на Паскале
- •6.2 Процедуры для стандартного ввода/вывода
- •6.3 Массивы. Регулярный тип
- •6.4 Для работы с массивами – шаблоны
- •Лекция 7
- •7.1 Строки
- •7.2 Записи
- •Лекция 8
- •8.1 Множества
- •8.2 Файлы
- •8.3 Процедуры открытия и закрытия файлов:
- •8.4 Процедуры ввода/вывода:
- •Лекция 9
- •9.1 Текстовые файлы.
- •9.2 Проект программы:
- •9.3 Простейший сканер.
- •9.4 Копия любого файла
- •Лекция 10
- •10.1 Процедуры и функции
- •10.2 Передача параметров в процедуры и функции
- •10.3 Глобальные переменные. Перекрытие (экранирование)
- •10.4 Процедурные типы
- •10.6 Рекурсия. Косвенная рекурсия
- •Лекция 11
- •11.1 Статическая и динамическая память программы
- •11.2 Динамическая память (куча, heap) с точки зрения тр
- •11.3 Операции над указателями
- •11.4 Пояснения с помощью картинки
- •11.5 Динамическая цепочка
- •Лекция 12
- •12.1 Цикл жизни программы. Проект программы
- •12.2 Характеристики качества программ
- •12.3 Программное окружение
- •12.4 Модули
- •Пример Печать данного перечислимого типа. Вот простой пример модуля (пусть имя файла с представленным ниже текстом My_Unit.Pas):
- •12.5 Обзор модуля System
- •12.5.1 Процедуры и функции, обслуживающие файловую систему
- •Лекция 13
- •13.1 Модуль crt - средства работы с экраном, клавиатурой и др.
- •13.2 Обзор примеров программ
- •13.3 Процедуры и функции модуля Crt
- •Лекция 14
- •14.1 Модуль dos - работа с файловой системой.
- •14.1.1 Прерывания.
- •14.1.2 Процедуры и функции модуля Dos
- •Лекция 15
- •15.1 Модуль Graph.
- •15.1.1 Общие сведения:
2.3 Элементарные операции
При записи на ТР элементарной операции присваивания следует учесть, что имя операции – комбинация символов := (двоеточие и равенство), слева от имени оператора записывается имя переменной, которой присваивается значение, а справа – выражение. В выражении должны использоваться только допустимые для данного типа операции, порядок выполнения операций лучше указать скобками.
Элементарные операции ввода реализуются предопределенными в ТР процедурами ввода read и readln.
Read ( <список элементов ввода через запятую>)
Readln ( <список элементов ввода через запятую>)
Под элементами ввода подразумеваются имена переменных ввода. Ввод данных осуществляется с устройства ввода. Обе процедуры выполняют одну и ту же функцию – с устройства ввода последовательно погружают данные в элементы ввода. Отличие их заключается в том, что после завершения своей работы процедура readln на устройстве ввода осуществляет переход на новую логическую запись. Если устройство ввода – клавиатура, переход на новую логическую запись осуществляется пользователем нажатием на клавишу Enter. Поэтому ввод с клавиатуры лучше осуществлять процедурой readln.
Элементарные операции вывода реализуются предопределенными в ТР процедурами вывода write и writeln.
Write ( <список элементов вывода через запятую>)
Writeln ( <список элементов вывода через запятую>)
Под элементами вывода подразумеваются имена переменных и констант. Вывод данных осуществляется на устройство вывода. Отличие процедур заключается в том, что после завершения вывода данных процедура writeln осуществляет переход на новую логическую запись. Если устройство вывода – экран монитора, переход на новую логическую запись соответствует переходу курсора в начало следующей строки.
2.4. Таблица перевода для структур
Пусть нам удалось записать на языке ТР фрагменты Ф1 и Ф2.
Связать эти два фрагмента линейной структурой очень просто. Нужно выписать первый фрагмент, затем поставить знак ; (точка с запятой), а затем выписать второй фрагмент.
Чтобы связать фрагменты Ф1 и Ф2 структурой выбора, можно использовать следующий оператор ТР:
if Усл then begin Ф1 end else begin Ф2 end
Логические скобки begin … end можно опустить около фрагмента, если фрагмент представляет собой единый оператор.
Чтобы связать фрагменты Ф1 и Ф2 структурой цикла, можно воспользоваться следующей конструкцией:
M1: Ф1; if Усл then goto M2; Ф2; goto M1; M2:
Здесь используются метки M1 и M2, которые должны быть описаны в секции описаний. Предложенная реализация цикла довольно неуклюжа, однако, практически всегда можно модифицировать цикл так, либо фрагмент Ф1 отсутствовал, либо фрагмент Ф2 отсутствовал. Для таких частных случаев в языке ТР имеются очень удобные операторы:
repeat Ф1 until Усл
while not Усл do begin Ф2 end
Пример
Вычислить S = 1 - x2/2! + x**4/4! - x**6/6! + ... с точностью E.
Алгоритм:
Текст программы
PROGRAM Example01;
LABEL M17,M18;
var X,E,S,A:REAL; I,ZN:INTEGER;
BEGIN
READLN(X,E);
S:=0;
ZN:=1;
I:=0;
A:=1;
M17: S:=S+ZN*A;
IF A<E THEN GOTO M18;
ZN:=-ZN;
I:=I+2;
A:=A*X*X/(I*(I-1));
GOTO M17;
M18: WRITELN(S);
END.