|
|
|
Алгоритмический язык Pascal |
TYPE A = array [1..1000] of real;Тип переменной объявляется после служебного слова VAR, например:
VAR a1, a2: A; { массивы из 1000 элементов вещественных чисел типа "A" }Если не использовать служебное слово TYPE, то можно записать:
VAR a1, a2 : array[1..1000 ] of real;Рассмотрим подробнее описание некоторых стандартных типов и допустимые диапазоны изменения значений переменных.
Вещественные типы
Наименование типа |
размет (байт) |
кол-во цифр |
диапазон значений |
Single Real Duble Extended Comp |
4 6 8 10 8 |
7..8 11..12 15..16 19..20 19..20 |
10-45..+38 10-39..+38 10-324..+308 10-4951..+4932 -263..+263 |
VAR c, d, e : real; d1, d2: double;
с := -125.6; e := 10; d := 1.e02; d1 := 1.2e-257; { 1.2*10-257 }
Наименование типа |
Размер (байт) |
Диапазон значений |
Byte Shortint Word Integer Longint |
1 1 2 2 4 |
0..255 -121..+127 0..65535 -32761..+32767 -2147483641..+2147483647 |
VAR i, j, k : byte; h, m, n : integer; l1, l2, l3 : longint;
i := 222; j := 10; m := -23000; l1 := 280000; h := $A7; (шестнадцатеричный формат числа 167)Логический тип
VAR b1, b2, b3, b4 : boolean;
b1 := True; b2 := False; b3 := not b1;
VAR с, ch, e: char;
c := 'A'; c := '!'; c := #33; { символ "!" задается значением кода } ch := #13; { код клавиши Enter } e := #27; { код клавиши Esc }
Write(с); { выводится символ "!" } Write(ch); { команда перевода курсора на новую строчку } Write(е); { выводится специальный символ, соответствующий коду #27 }Строковый тип
VAR s : string[25]; { Длина переменной s может изменяться от 1 до 25 символов } s1 : string; { длина переменной s1 не указывается, наибольшее число символов равно 255 }Примеры присвоения значения:
s := 'Привет'; s1 := 'Hello';Массив
VAR M1 : array[1..200] of integer; { М1, A1 - одномерные массивы целых и вещественных чисел } A1 : array[100..200] of real; ch1 : array['A'..'Z'] of char; { сh1, ch2 - одномерные массивы символов } ch2 : array[0..255] of char;Примеры присвоения значения:
M1[1] := 5; M1[2] := 8; M1[3]:= M1[1]; M1[100] := 32; A1[101] := 0.2; A1[102] := 2.31; ch1['B'] := 'C'; ch2[1] := '!'Тип диапазон и перечислимый тип задаются программистом.
TYPE Date_M = 1..31; Rush_b = 'А..Я'; Lat_b = 'A..Z'; {тип диапазон} Otmetka = (2,3,4,5); Ball = (1,2,3,4,5,6,7,8,9,10); {перечислимый тип} VAR t1, t2 : Date_M; c1 : Ruch_b; s1 : Lat_b; a1, a2 : Otmetka; b : Ball;Примеры присвоения значения:
t1 := 10; c1 := 'Л'; s1 := 'F'; a1 := 5; b := 8;Файлы
VAR f1, f2 : text;Примеры присвоения значения:
Assign(f1, 'file1.in'); Assign(f2, 'C:\PASCAL\WORK\file2.out');Оператор Assign присваивает файловой переменной имя файла на диске. Файл file1.in содержится в текущем каталоге. Для файла file2.out указываетсяеаталог в формате DOS.
Type Sity = Record Name_G : String[20]; { название города } Numb_G : LongInt; { число жителей } Stol_G : Boolean; { Столица (Да, Нет) } Shir, Dol : Real; { Координаты: широта, долгота } End; Var St1, St2, St3 : Sity; { Переменные типа запись }Примеры присвоения значения:
St1.Name_G := 'Уфа'; St1.Numb_G := 1200000; {Отдельным полям переменной St1 } St2.Name_G := 'Москва'; St2.Numb_G := 8200000; St3 := St1; { Всем полям переменной St3 }Переменные типа запись могут обозначаться с помощью оператора присоединения:
WITH "имя переменной" DO "оператор";
With St1 do begin Name_G := 'Уфа'; Stol_g := True; Readln(Shir, Dol); z := Numb_G - St2. Numb_G; end; Writeln(Name_G:5, Numb_G:10);
|