Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

шпоргалка / спо / програмирование111

.docx
Скачиваний:
6
Добавлен:
26.01.2019
Размер:
27.23 Кб
Скачать

8.СТРУКТУРА ПРОГРАММ TURBO PASCAL 7.0

С помощью любого языка программирования создаются программы. Программа - это последовательность действий, которые должен выполнить компьютер в строго указанной очерёдности.

Любая программа на языке Паскаль состоит из трёх частей: заголовка, секции описания и операторной части:

Program<uмя>; - заголовок программы

Uses ... -раздел описаний библиотек

Label... - раздел описаний меток

Cons... - раздел описания констант

Туре ... - раздел описаний типов

Var... - раздел описания переменных

Procedure ... -раздел описания процедур

Function... -раздел описания функций

BEGIN

<операторы>;

END.

Любая часть программы, кроме операторной части, может отсутствовать.

Операторная часть состоит из операторов - команд, которые выполняет компьютер. Операторы отделяются друг от друга точкой с запятой.

9. ТИПЫ ДАННЫХ

В нижеследующей таблице приведены характеристики всех стандартных типов

Вид типа Имя

типа Диапазон возможных значений Объём памяти Значащих цифр

Целые типы Byte 0 … 255 1 байт -

Shortint -128 … 127 1 байт -

Word 0 … 65535 2 байта -

Integer -32768 … 32767 2 байта -

Longint -2147483648…2147483647 4 байта

Вещест-венные типы Single 1.5e-45 … 3.4e38 4 байта 7 - 8

Real 2.9e-39 … 1.7e38 6 байт 11-12

Double 5.0e-324 … 1.7e308 8 байт 15-16

Extended 3.4e-4932 … 1.1e4932 10 байт 19-20

Comp -263 … 263-1 8 байт целые числа

Логичес-кий тип Boolean False и True 1 байт -

Символь-ные типы Char один любой символ 1 байт -

String строка символов 256 байт

Целые типы: Для разных целей нужны разные диапазоны возможных значений. Скажем, если в переменной хранится возраст человека в годах, то для хранения этого значения вполне достаточно интервала от 0 до 150. Для того чтобы разумно распределить память компьютера используют различные целые типы.

Вещественные типы: Переменные этого типа могут хранить рациональные (дробные) числа с разной степенью точности. Точность зависит от выбранного типа.

Логический тип: Условия, которые мы записывали после слова if, оказывается тоже можно сохранять. Для этого существуют переменные логического типа boolean. Например:

Program Boolean_Variable;

var b : boolean ;

begin

b := 23 > 10 ; { b = true }

writeln (b) ;

end.

Символьные типы: переменной присваивается символ или строка; пример:

Program String_Example;

var s1, s2 : string ;

begin

s1 := 'Один!';

s2 := 'Два!';

writeln (s2);

writeln (s1);

writeln (s1, s2)

end.

10. ПРОСТЫЕ ОПЕРАТОРЫ

Оператор - предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить.

операция название пример

+ сложение a+5

- вычитание 4-x

* умножение 5*d

div целочисленное деление 17 div 5 = 3

mod деление с остатком 17 mod 5 = 2

Оператор присваивания:

<имя переменной> := <выражение> ;

Например, если переменная а - целого типа (integer), то после оператора a := 3; в область памяти, которая выделена для переменной a запишется значение 3. Если потом выполнить оператор a := a + 1; то компьютер сначала вычислит выражение справа от знака присваивания. Вместо а он берёт значение, записанное в области памяти, выделенной для этой переменной, то есть число 3. К нему прибавляет 1, получает 4. Эту четвёрку записывает обратно в память, где хранится значение переменной а. При этом старое значение 3 бесследно исчезает.

Операторы ввода и вывода

Используя оператор Readln можно вводить значения переменных с клавиатуры во время работы программы:

Readln (<список переменных>);

Здесь <список переменных> - одна или несколько переменных, разделенные запятыми. Например:

Readln (a);

Readln (x, y);

Нормальная работа с программой невозможна без вывода информации на экран. Выводить на экран можно и нужно различные сообщения: приветствия, подсказки, результаты подсчётов наконец. Для печати сообщений на экран используется оператор вывода:

write (<число>);

write (<строка>);

write (<строка>, <число>, <строка>, ... );

Здесь <число> - имя переменной, константа или, в общем случае, математические выражение; <строка> - это любая последовательность символов, заключенная в 'кавычки'. Строку символов выводят на экран как дополнительную информацию (подсказку). Именно таким способом оформляются программы, создавая диалог с пользователем. Другая разновидность операторов ввода вывода read, write - readln, writeln. После выполнения оператора write (read) курсор оказывается в конце выведенной (введенной) фраз. А оператор writeln (readln) дополнительно переводит курсор на начало новой строки Пример: program NiceSuma;

var a, b, s : integer;

begin

Write ('Введите числа через пробел: ');

Readln (a, b); s := a + b;

Writeln ('Сумма чисел ', a, ' и ', b, ' равна ', s);

end.

11. ОПЕРАТОРЫ БЕЗУСЛОВНОГО И УСЛОВНОГО ПЕРЕХОДА

Формат записи условного оператора:

if <условие>

Then <оператор1>

Else <оператор2>

Здесь <условие> - некоторое утверждение, относительно которого можно сказать: истинно оно или ложно. При выполнении условного оператора компьютер проверяет <условие>. Если оно верно, то выполняется <оператор1>, после чего выполнение условного оператора завершается. Если условие не верно, то компьютер выполняет <оператор2>.

Математические условия:

Математическая запись Наименование Запись в языке Паскаль

a = b равно a = b

a > b больше a > b

a < b меньше a < b

a ? b больше или равно a >= b

a ? b меньше илии равно a <= b

a ? b не равно a <> b

Пример: program Max_of_two_numbers;

var a, b : integer;

begin

write ('Введите два числа: ');

readln (a, b);

if a > b

then writeln ('Max: ', a)

else writeln ('Max: ', b)

end.

Укороченный вариант условного оператора

if <условие>

Then <оператор1>

Составной оператор: По правилам записи условного оператора после Then может быть только один оператор. Если условие не выполняется нужно использовать составной оператор:

if <условие>

Then Begin

<оператор1> ;

<операторN>

End;

Else ...

Составные условия: Условие может быть составным, то есть состоять из нескольких других условий. Эти условия необходимо связывать при помощи логических операций and, or, not и xor (и, или, не, исключающее или).

Оператор выбора Case: используется, когда необходимо из множества значений выбрать одно, например:

Program All_months;

Var mesiac : integer;

Begin

Write ('Введите номер месяца: ');

Readln (mesiac);

case mesiac of

1 : write ('Январь');

2 : write ('Февраль');

……

12 : write ('Декабрь');

else write ('Задан неверный номер месяца.')

end { Если mesiac не совпал ни с одной переменной }

end.

12. ОПЕРАТОРЫ ЦИКЛА

Цикл - это такой оператор, который заставляет компьютер многократно повторять некоторые действия. В Паскале есть три оператора цикла: For, While, Repeat (для, пока и повторять)

Формат записи оператора цикла For:

For <переменная цикла>:=<нач. знач.> to <кон. знач.> do

begin

<Операторы>;

end

В зависимости от начального и конечного значения параметра цикла, которые задаются в заголовке, цикл может выполнится то или иное количество раз. Например, если начальное и конечное значения совпадают, то цикл выполнится только один раз. Если же начальное значение превышает конечное, то цикл не выполнится ни разу!

Существует ещё одна разновидность цикла For, в котором вместо служебного слова to используется downto. В этом случае переменная цикла будет каждый раз уменьшать своё значение, а не увеличивать. Например, цикл

For i := 5 downto 1 do

begin

write (i, ' ');

end ;

напечатает:

5 4 3 2 1

Цикл While (пока) особенен тем, что позволяет организовывать циклы, для которых нельзя заранее сказать, сколько раз выполнится его тело. Цикл выполняется до тех пор, пока верно условие в заголовке цикла.

While <условие> do

begin

<Операторы цикла>;

end

Цикл работает так. Сначала проверяется <условие>. Если оно верно, то выполняется <Операторы цикла>. Затем <условие> проверяется ещё раз, если оно опять верно, то снова выполняется <Операторы>. Так продолжается до тех пор, пока <условие> верно. Если <условие> с самого начала было ложно, то <Оператор> не выполнится ни разу. Пример:

Program NaborChetnyxChisel;

Var i : integer;

Begin

i := 2;

while i <= 20 do

begin

writeln (i);

i := i + 2; { переход к следующему чётному числу }

end;

end.

13. МАССИВЫ. ДЕЙСТВИЯ НАД МАССИВАМИ. ДЕЙСТВИЯ НАД ЭЛЕМЕНТАМИ МАССИВА

1. Инициализация (присвоение начальных значений), при чем это значение одинаково для всех элементов массива. Присвоить каждому элементу массива одно и тоже значение вручную или при помощи оператора цикла с известным числом повтора for:

A[1]:.= 1; А[2]:= 1; А[3]:=1; for i:=1 to 3 do A[i]:=1;

2. Ввод и вывод элементов массива. Ввод/вывод элементов массива осуществляется при помощи цикла for

Ввод:

for i: = 1 to 10 do

Read(a[i]);

Вывод:

for i:=l to 10 do

Write (a[i]);

3. Копирование массивов (присвоение значений всех элементов одного массива соответствующим элементам другого массива).

For i:= 1 to 10 do

A[i]:=B[i];

4. Перестановка элементов массива осуществляется при помощи дополнительной переменной.

Пример: В массиве А нужно поменять местами второй и пятый элементы.

buffer:=а[2];

а[2]:=а[5];

а[5]: = buffer;

Переменной buffer присваивается значение второго элемента массива А. Затем второму элементу присваивается значение пятого элемента массива А. Последняя операция присваивает пятому элементу значение второго элемента, который мы записали в переменную buffer.

14. ОПИСАНИЕ ПРОЦЕДУР И ФУНКЦИЙ. ФОРМАЛЬНЫЕ И ФАКТ. ПАРАМЕТРЫ ПОДПРОГРАММ

Группу операторов, к которой возникает необходимость частого обращения, объединяют в самостоятельный блок, указав ему имя. Такой блок, разработанный пользователем, называют подпрограммой пользователя.

Различает два вида подпрограмм: процедуры и функции, которые описываются в разделе описания главной программы.

Рrосесdurе<имя>(<список формальных параметров значений >: <тип>; var <список формальных параметров переменных>: <тип>);

Label... - раздел описаний меток

Cons... - раздел описания констант

Туре... - раздел описаний типов

Var... - раздел описания переменных

Procedure... - вложенная процедура

Function... - вложенная функция

BEGIN

<операторы>;

END;

Function<имя>(<список формальных параметров>: тип>) : <Тип возвращаемого значения>;

Label... - раздел описаний меток

Const... - раздел описания констант

Туре... - раздел описаний типов

Var... -раздел описания переменных

Procedure... - вложенная процедура

Function... - вложенная функция

BEGIN

<операторы>;

END;

При вызове подпрограммы работа основной программы останавливается. Подпрограмма обрабатывает данные, переданные из главной программы, и по завершении выполнения возвращает главной программе результат.

15. ОПИСАНИЕ СТРОКОВОГО ТИПА.

Данные строкового типа - это последовательность символов переменной длины. Такой тип еще называют типом string. Он во многом похож на одномерный массив символов, однако, в

отличие от последнего, количество символов в строке переменной может меняться от 0 до N, где N - максимальное количество символов в строке.

Описание строкового типа состоит из ключевого слова string, после которого в квадратных скобках указано максимальное количество символов строки данного типа. Это количество может выражаться с помощью целой константы или имени целой константы. Если максимальный размер строки не указан, то он автоматически принимается равным 255 - максимально возможная длина строки.

Длина переменной такого типа может динамически изменяться между 1 и значением константы. Символы в строке следует воспринимать как пронумерованные в интервале от 1 до значения константы. Пример:

type

cities = string [20];

names = string [12].

Переменные типа cities - строкового типа, то есть строки символов, состоящие максимально из 20 символов. Переменные типа names максимально могут состоять из

12 символов. Переменные можно объявить следующим образом:

var

ci: array [1..20] of char;

na: array [1..12] of char.

В этом случае говорят, что ci и na - символьные вектора. Символьные вектора можно рассматривать как строковые переменные, представляющие последовательности

постоянной длины. Благодаря такой интерпретации имена символьных векторов и имена их элементов могут использоваться в строковых выражениях там, где могут

использоваться имена строковых переменных.

Операции над строками

Строки можно присваивать, сливать и сравнивать.

Присваивание последовательности символов строковым переменным осуществляется с помощью оператора присваивания. С правой стороны оператора присваивания может находиться произвольное строковое выражение, а с левой имя строковой переменной.

В Паскале существуют два пути обработки переменных типа string. Первый путь предполагает обработку всей строки как единого целого, то есть единого объекта. Второй путь рассматривает строку как составной объект, состоящий из

отдельных символов, то есть элементов типа char, которые при обработке доступны каждый в отдельности.

Соседние файлы в папке спо