Строковый тип
Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:
Var <имя_переменной>: string[<длина строки>];
Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.
Перечисляемый тип данных
Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.
Пример:
Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var A: Day;
Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:
Var A: (Monday, Tuesday);
К данному типу применимы операции отношения, при этом заранее определенно, что Monday<Tuesday<Wednesday т. д. Также можно применять функции succ, pred, ord, процедуры inc и dec, и использовать операцию присваивания: A:=Tuesday;
Интервальный тип данных
Когда необходимо задать какой то диапазон значений, то в таких ситуациях применяется интервальный тип данных. Для объявления используется конструкция m..n, где m – минимальное (начальное) значение, а n – максимально (конечное); здесь m и n являются константами, которые могут быть целого, символьного, перечисляемого или логического типа. Описываться величины интервального типа могут как в разделе типов, так и в разделе описания переменных
Таблица. Операции над целыми типами, дающие в результате значение целого типа
Знак операции |
Операция |
+ |
Сложение |
- |
Вычитание |
* |
Умножение |
div |
Целочисленное деление (остаток отбрасывается). Деление без округления (целая часть частного). |
mod |
Деление по модулю (выделение остатка от деления). Остаток от деления: a mod b = a – ((a div b) * b). |
Таблица. Операции отношения
Знак операции |
Операция |
= |
Равно |
<> |
Не равно |
>= |
Больше или равно |
> |
Больше |
<= |
Меньше или равно |
< |
Меньше |
Функция |
Тип результата |
Результат выполнения |
abs(x) |
Целый |
Модуль x (абсолютная величина x) |
sqr(x) |
Целый |
Квадрат x |
succ(x) |
Целый |
Следующее значение x (x+1) |
pred(x) |
Целый |
Предыдущее значение x (x-1) |
random(x) |
Целый |
Случайное целое число из интервала 0..x-1. |
sin(x) |
Действительный |
Синус x (угол в радианах) |
cos(x) |
Действительный |
Косинус x (угол в радианах) |
arctan(x) |
Действительный |
Арктангенс x (угол в радианах) |
ln(x) |
Действительный |
Натуральный логарифм x |
exp(x) |
Действительный |
Экспонента x |
sqrt(x) |
Действительный |
Квадратный корень из x |
odd(x) |
Логический |
Значение true, если x – нечетное число; false – если четное. |
.
№9 Ввод – вывод данных. Процедура чтения READ. Процедура записи WRITE. Форматы вывода данных.
Для обмена информацией между пользователем и ПК все данные организуются в файлы.
Файл - либо именованная область памяти на внешнем носителе информации (винчестер, дискета, CD-диск и т.д.), либо логическое устройство представляющее источник или приемник информации (клавиатура, дисплей, принтер, порты и т.д.).
Под файлом можно понимать любой набор данных.
Например: Программа - исходная, откомпилированная, и т.д. Данные – исходные, промежуточные, результирующие, рисунок, текст, график, аудио- видео и т.д. ).
Связь программы с внешним окружением (устройствами) осуществляется с через имена файлов с использованием стандартных процедур ввода/вывода:
READ (читать)
WRITE (писать).
При вводе данных с клавиатуры и выводе на экран дисплея используются стандартные файлы с именами INPUT (ввод) и OUTPUT (вывод) их имена задаются по умолчанию. Рассмотрим стандартный ввод/вывод.
Вывод данных в Паскале
Для вывода данных используются процедуры:
WRITE (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана;
WRITELN (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана с переводом строки;
WRITELN; - перевод строки.
Выводимые переменные могут иметь следующие типы:
•целый;
•вещественный;
•логический;
•символьный;
•строковый.
При использовании форматов в процедурах вывода указывается длина поля отводимого для вывода переменных (К- знаки до запятой) и точность представления для вещественного числа (М-знаки после запятой).
Ввод данных в Паскале
Для ввода данных используются процедуры:
READ (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN;
READLN (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN с пропуском остальных данных до конца строки;
READLN; - пропуски строки.
Вводимые переменные могут иметь следующие типы:
•целый;
•вещественный;
•символьный;
•строковый.
№10 Структурированные операторы. Условный оператор IF. Оператор цикла REPEAT. Оператор цикла WHILE.
Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся:
составной оператор;
условный оператор IF;
условный оператор CASE;
оператор цикла REPEAT;
оператор цикла WHILE;
оператор цикла FOR;
оператор над записями WITH.
Составной оператор:
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:
begin
<оператор 1>;
<оператор 2>;
. . .
<оператор N>
end;
условный оператор IF:
Позволяет программе выполнять переходы на ту или иную ветвь по значению истинности или ложности.
Например
A:=2; b:=5;
If a<b then write(a) else write(b);
Оператор цикла REPEAT(Цикл с постусловием)
Это повтор, то есть он выполняет какое -то действие, пока оно не станет истинно. Выполняется пока условие ложно.
Begin
I:=1;
Repeat(повторяй) (i , ‘ ‘);
I:=1+I;
Until (до) i>=10
Оператор цикла WHILE. (Цикл с предусловием)
При выполнении оператора while определенная группа операторов выполняется до тех пор, пока определенное в операторе while булево условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.
while <булево выражение> do
begin
группа операторов
end;
пока выполняется это условие, делай
от начала
группа операторов
до конца;
№11 Структурированные операторы. Оператор варианта CASE. Оператор цикла FOR. Вложенные операторы цикла.
Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся:
составной оператор;
условный оператор IF;
условный оператор CASE;
оператор цикла REPEAT;
оператор цикла WHILE;
оператор цикла FOR;
оператор над записями WITH.
Оператор варианта CASE.
Во-первых , это оператор выбора.
program vetvlenija7;
02.uses crt;
03.var NUM :integer;
04.begin
05.clrscr;
06.writeln(‘Введите число от 0 до 4:’);
07.readln (NUM);
08.case NUM of
09.0:writeln (‘Нуль’);
10.1:writeln (‘Один’);
11.2:writeln (‘Два’);
12.3:writeln (‘Три’);
13.4:writeln (‘Четыре’);
14.end;
15.readln
16.end.
В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 - №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.
Нам не нужно каждый раз писать конструкцию If…Then.
Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.
Оператор цикла FOR (цикл с параметром)
Цикл со счетчиком.
for i := 1 to N do (увеличивается на единицу)
for i:=10 downtj 1 do (уменьшаетя на единицу)
Используйте цикл for в том случае, когда точно знаете, сколько раз должно быть выполнено тело цикла. В противном случае обратитесь к циклам repeat или while.
Вложенные циклы.
Принцип работы вложенных циклов заключается в следующем. Сначала один раз выполняется цикл, идущий первым в программе, затем управление передается следующему циклу (№2), и если после него нет никаких других циклов, то он прокручивается до конца и снова единожды выполняется внешний цикл, иначе, если после цикла №2 стоит еще один вложенный цикл, то №2 выполняется один раз, передавая управление циклу идущему после него. Такой алгоритм продолжается до тех пор, пока самый внешний цикл не выполниться необходимое количество раз.
N:=0;
For i:=1 to 3 do
Begin
For k:=1 to 5 begin
N:=n+1;end;
№12 Массивы. Описание типа массив. Действия над массивами. Действия над элементами массива.
Массив – это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти.
Массивы бывают одномерными(вектор с координатами) и двумерными ( матрица)
Элементы массивов могут быть как числа,так и символы
Размер массива-это кол-во элементов
Кроме значений элементов ,массив имеет индекс или уникальный номер.
Действия над массивами
Ввод массива
Const n=5;
A:array [1..n] of integer=(2,3,6,7,0);
Var i:integer;
Begin
For i:=1 to n do
……
End.
Вывод массива
Write (a[i]);
Readln;
End.
Действия над элементами массива.
Одну матрицу можно присваивать другой
Можно узнать равны ли массивы А и В
Доказать,что массивы не равны друг другу
№13Строки. Описание строкового типа. Строковые выражения. Строковые процедуры и функции.
Строка (string)
Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки.
