Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога.doc
Скачиваний:
60
Добавлен:
21.02.2016
Размер:
207.36 Кб
Скачать

Процедуры преобразования типов

Процедура Str (x, s)преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода write и writeln. Например:

x := 123;

s := str(x:6,s);

Результат: s = ' 123'.

Процедура Val (s, x, errcode)преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное представление числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение x не определено.

7. Структурированные типы данных. Массивы.

Массив – это упорядоченная совокупность данных, обозначаемых одним именем, доступ к элементам массива осуществляется по их номерам (индексам). Элементами массива могут быть данные любого типа, включая структурированные, но в одном массиве могут храниться данные только одного типа (real, integer, string, char и пр.).

Одномерные массивы Описать одномерный массив можно несколькими способами:1)В разделе переменных Var имя массива : Array [тип индекса] of тип элементов ; 2) В разделе описания типов

Type имя типа = Array [тип индекса] of тип элементов ; Var имя массива : имя типа ;

3)В разделе констант Constимя массива: Array [тип индекса] ofтип элементов= (список элементов);

Многомерные – каждый элемент получает более 2-х индексов (пр. [1,1,k]).

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

Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел - номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a12 - это элемент, стоящий в первой строке и во втором столбце.

объявления двумерного массива.Type dmyarray = Array[1..n, 1..m] Of <тип элементов>;

Операции с массивами. ;1)ввод массива 2. Печать в виде таблицы. 3. Вычисление суммы элементов каждой строки и каждого столбца.4. Поиск максимального (минимального) элементов каждой строки (столбца) и ихиндексов.5. Сумма элементов массива.6. Максимальный (минимальный) элемент массива.

8. Структурированные типы данных. Записи.

(Турбо Паскаль).

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end. Между ними располагается список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля.

Формат:

type

<имя типа> = record

<идентификатор поля>:<тип компонента>;

<идентификатор поля>:<тип компонента>

end;

 

var

<идентификатор, ...> : <имя типа>;

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

WITH <переменная> DO <оператор>

Здесь WITH, DO - ключевые слова (с, делать);

<переменная> - имя переменной типа запись, за которым, возможно, следует список вложенных полей; <оператор> - любой оператор Турбо Паскаля.

Например:

with c.bd do month := 9;

Это эквивалентно

with с do with bd do month := 9;

Для вложенных полей приходится продолжать уточнения:

type

BirthDay = record 

day,month: Byte; 

year : Word 

end; 

var

с : record

name : String; 

bd : BirthDay 

end; 

begin

.....

if c.bd.year = 1939 then ... 

end.

Ввод записей: type anketa=record    fio: string[45];    dat_r: string[8];    adres: string[50];    curs: 1..5;    grupp: string[3] end; var student: array [1..100] of anketa;    I: integer; begin    {последовательно вводим каждую запись}    for I:=1 to 100 do    begin       writeln (‘введите сведения о’, I , ‘-м студенте’);       writeln (‘введите фамилию, имя и отчество’);       readln (student[I].fio);

Вывод записей осуществляется по полям writeln (‘фамилия студента: ’, student . fio );

Области использования:Как мы уже выяснили, массивы объединяют однородные единицы информации – элементы одного и того же типа. Но многообразие информации нельзя свести только к какому-то одному типу данных. Например, указывая положение точки в пространстве, мы можем воспользоваться одним и тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединимразнороднуюинформацию. Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называютзаписью (record).