- •Алгоритмы.
- •Условие
- •Типы данных.
- •Целые числа.
- •Вещественный тип данных.
- •Символьные и строковые типы данных.
- •Булевские данные.
- •Указатели.
- •Идентификаторы.
- •Операторы.
- •Операторы присваивания.
- •Арифметические операторы.
- •Побитовые операторы.
- •Операторы отношений.
- •Логические операторы.
- •Адресные операторы.
- •Операторы над множествами.
- •Строковые операторы.
- •Создание программ в среде turbo pascal Структура программ.
- •1: WriteLn(' I меньше 10 ');
- •Тип константы компилятор определяет по типу значения. Описание типов используется при создании типов данных, отличных от базовых.
- •Обзор управляющих структур языка pascal
- •Интегрированная среда turbo pascal Назначение и состав среды.
- •Строка статуса
- •Справочник.
- •Работа с блоками текста
- •Компиляция и выполнение
- •Выполнение по шагам и трассировка
- •Управляющие структуры языка Паскаль. Условные операторы.
- •Пустой оператор
- •Условный оператор
- •If Flag then Writeln(‘Истинно’)
- •If not Flag then Writeln(‘Ложно’)
- •Оператор выбора
- •Операторы цикла Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (repeat…until)
- •Оператор цикла с параметром (for...Do)
- •I : Integer; { описание параметров циклов}
- •Процедуры и функции.
- •Структура процедуры и функции.
- •Локальные и глобальные элементы.
- •I : Integer; {I - глобальная}
- •I : Integer; {I - локальная }
- •Параметры.
- •I : Integer; {I - локальная }
- •Var { описание переменных }
- •Var { описание внутренних переменных}
- •Структурированные типы данных языка паскаль Перечисляемый тип.
- •Структурированные типы
- •Массивы
- •If eq then Write(“Массивы одинаковы”);
- •Множества
- •Совместимость и преобразование типов.
- •Символы и строки Символы:
- •Строки.
- •Строка- это массив символов.
- •Доступ к файлам.
- •Логические устройства
- •Открытие файла
- •Процедуры и функции для работы с файлами.
- •Текстовые файлы.
- •Типизированные файлы.
- •Нетипизированные файлы.
- •Модуль graph.
- •Драйверы.
- •Координатная система.
- •Текущий указатель.
- •Фигуры и стили.
- •Окна и битовые образы.
- •Обработка ошибок.
- •Пример простой программы:
- •Справочник по модулю Graph
- •Модуль crt
- •Ввод данных с клавиатуры. Более подробно о cтандартных операторах ввода.
- •Функции crt.
- •Текстовый вывод на экран.
- •Некоторые процедуры модуля crt.
- •Программирование звукового генератора.
- •Указатели.
- •Динамические переменные.
- •Проблема ограничения памяти.
Символы и строки Символы:
Объявление.
var
Имя:Char;
Способы задания символов:
var
Ch: Char;
Присваивание
Ch := 'S';
Ch := 'A';
Ch := '1';
Ch := #65;
Ch := Chr(65);
Специальные символы (управляющие):
#1 - #31
#7 – звуковой сигнал;
#10 – перевод строки (LF);
#13 – возврат каретки (CR);
Операции над символами:
Операции отношений
if Ch > 'A' then …
Большим считается тот символ, ASCII код которого больше.
Операция принадлежности
if Ch in ['0'..'9'] then …
Функции, применимые к символьным значениям:
Chr(X:Byte):Char – возвращает символ.
Ord(C:Char):Byte - возвращает ASCII код символа.
Pred(C:Char):Char – возвращает предшествующий символ.
Succ(C:Char):Char - возвращает следующий символ.
UpCase(C:Char):Char – возвращает символ в верхнем рег-ре.
Строки.
Объявление.
var
Имя:String;
Имя:String[длинна строки];
Способы задания строк:
var
St1: String;
St2: String[80];
Присваивание:
St1 := 'Это строка 1';
St1 := 'ФИО '#179' Адрес '#179' Телефон';
St1 := ''; {Пустая строка}
Строка- это массив символов.
St[0] - длина строки.
St[1].. - элементы строки.
Операции над строками:
Сложение строк:
St1 := 'Вам';
St2 := 'Привет';
St3 := St1 + ' ' + St2 + '!';
Операции отношений
if St1 <> St2 then … {Строки сравниваются посимвольно.}
Функции, применимые к строкам:
Length(S:String):Byte – возвращает длину строки.
Concat(S1,S2,...,Sn:String):String - слияние строк.
Copy(S:String; Start,Len:Integer):String – возвращает подстроку.
Delete(var S:String; Start,Len:Integer) - удаляет подстроку.
Insert(SubS:String; var S:String; Start:Integer) - вставляет подстроку.
Pos(SubS,S:String):Byte – поиск подстроки в строке.
Str(X[:F[:n]]; var S:String) - преобразование числа в строку.
Val(S: String; var X, var ErrorCode : Integer) - преобразование строки в число.
Файлы
Файл с точки зрения программы на Pascal – это именованная структура данных, представляющая собой последовательность элементов одного типа и располагающаяся в область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального/диска»), либо логическое устройства.
В первом приближении файл можно рассматривать как массив, сохраняемый на внешнем устройстве.
Любой файл имеет три характерные особенности.
Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами.
Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов. Иными словами, нельзя создать «файл файлов».
В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.
Файловый тип или переменную файлового типа можно задать одним из трех способов:
имя = FILE OF тип;
имя = TEXT;
имя = FILE;
Здесь «имя» - имя файлового типа;
TEXT - имя стандартного типа текстовых файлов;
Например:
type
product = record
name : String;
code : Word;
cost : comp
end;
text80 = file of String [80];
var
fl : file of cha r;
f2 : text;
f3 : file;
f4 : text80;
f5 : file of product;
В зависимости от способа объявления можно выделить три вида файлов:
• типизированные файлы (задаются предложением FILE OF...);
• текстовые файлы (определяются типом TEXT);
• нетипизированные файлы (определяются типом FILE).
В наших примерах Fl, F4 и F5 - типизированные файлы, F2 - текстовый файл, F3 -нетипизированный файл. Вид файла, вообще говоря, определяет способ хранения информации в файле. Однако в Турбо Паскале нет средств контроля вида ранее созданных файлов. При объявлении уже существующих файлов программист должен сам следить за соответствием вида объявления характеру файла.