- •Оглавление
- •Виды данных
- •Программирование линейных алгоритмов
- •Программирование разветвляющихся алгоритмов
- •Программирование циклических алгоритмов
- •Описание и использование типа массив
- •Ввод и вывод массивов
- •Процедуры и функции для работы со строками
- •Описание и использование данных строкового типа
- •Операции над строками
- •Описание и использование процедур и функций
- •Функции
- •Формальные и фактические параметры
- •Описание и использование типа запись
- •Описание и использование множеств
- •Файловый тип данных. Описание и использование типизированных файлов
- •Описание и использование текстовых файлов
- •Модуль пользователя
- •Объектно-ориентированное программирование. Классы. Основные понятия
- •Основные понятия
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Составляющие класса Поля
- •Свойства
- •Программные файлы. Файл проекта. Файл формы
- •Система программирования Delphi
- •Основные окна Delphi
- •Литература
Программирование линейных алгоритмов
Для программирования линейных алгоритмов используются операторы: присваивания, ввода и вывода, вызова подпрограмм.
С помощью оператора присваивания переменной присваивается значение выражения: имя переменной :=выражение;
Тип выражения и тип переменной должны быть совместимы для присваивания.
Пример: var a,b:real; s:integer;
begin s:=5; b:=2*s-1.6; a:=s end.
s:=b; {нельзя}
Для ввода исходных данных с клавиатуры используются процедуры: read(список ввода);
readln(список ввода);
Список ввода представляет собой перечисленные через запятую имена переменных, которым присваиваются введенные с клавиатуры значения. Переменные могут быть целого, вещественного, символьного и строкового типов.
При вводе с клавиатуры информация представляет собой строку символов, т. е. имеет строковый тип. В процессе ввода происходит автоматическое преобразование строковых значений к типу переменных, входящих в список ввода. При наборе информации с клавиатуры она сначала помещается в виде строки в буфер ввода. Преобразование и передача значений из буфера ввода в переменные списка возможно только, если в буфер ввода введен признак конца строки (#13), этот символ вводится в буфер ввода клавишей Enter. При вводе значений из буфера используется указатель считывания.
Процедура read вводит значения переменных из списка ввода. Ввод значений числовых переменных завершается в строке символами пробел, Tab (#9) или признаком конца строки (#13). В качестве значения символьной переменной используется любой символ, на который в данный момент указывает указатель считывания. Признаком конца строкового значения (типа string) является признак конца строки (#13).
Примеры:
var a,b:integer;
begin read(a,b); end.
Если переменным a и b следует присвоить значения 5 и –76 соответственно, то ввести их с клавиатуры можно следующим образом:
5|_|-76Enter или 5 Enter
-76 Enter
2) var c,d:char;
begin read(c,d); {c должно получить значение ’+’, d - значение ’z’}
end.
Ввод с клавиатуры следует осуществить следующим образом:
+z Enter
3) var c:char; d:integer;
begin read(d,c); { d=23, c=’*’}end.
Если ввести: 23|_| * Enter
то d=23, c=’|_|’
Таким образом, если в списке ввода оператора read необходимо указать имена как числовых, так и символьных переменных, то список имен символьных переменных должен предшествовать списку имен числовых переменных. Ввод данных в иной последовательности невозможен.
read(c,d); Ввести:*23 Enter
4) var s:string ;
begin read(s); { s=’8 марта’}end.
Ввести: 8 марта Enter
5) var a,b:string ;
begin read(a); read(b) end.
Если ввести:
да Enter
то a=’да’ и b=’’.
Ввод значений двух переменных, первая из которых имеет тип string, процедурами read невозможен, необходимо использовать процедуры readln, причем в списке ввода должно быть имя только одной переменной типа string. В отличие от процедуры read процедура readln после ввода значений всех переменных списка очищает буфер ввода.
var a,b:string ;
begin readln(a); readln(b) {a=’мама’, b=’папа’}end.
Ввести: мама Enter
папа Enter
Для вывода на экран используются процедуры:
write(список вывода);
writeln(список вывода);
Список вывода содержит выражения со значениями целого, вещественного, символьного, логического и строкового типов.
Процедура write(список вывода) выводит значения из списка подряд в одну строку и устанавливает курсор в следующую свободную позицию этой же строки экрана.
Процедура writeln(список вывода) выводит значения из списка подряд в одну строку, но после вывода значений переводит курсор в первую позицию следующей строки экрана.
Процедура writeln; переводит курсор в первую позицию следующей строки экрана.
Для вывода значений целого, символьного, логического и строкового типов можно использовать формат вывода: выражение:m, где m- длина поля, в котором размещается выводимое значение, оно выводится прижатым к правому краю поля. Для вывода значений вещественного типа используется формат вывода: выражение:m: n, где m – общая длина поля, n – количество позиций, отводимых под дробную часть.
Если указанной длины поля недостаточно для размещения значения, то поле автоматически раздвигается до нужной длины.
Примеры: На экране:
write(15); 15
writeln(‘a=’,-12); a=-12
w
riteln(-15.6:7:2);
- 1 5 . 6 0
