Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.docx
Скачиваний:
15
Добавлен:
27.10.2018
Размер:
322.84 Кб
Скачать

25. Программирование циклических структур с неопределённым числом повторений. Цикл с предыдущим условием.

Цикл с предусловием Оператор цикла с предусловием организует выполнение операторов заранее неизвестное число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале, тело цикла может не выполнится ни разу.

Структура цикла с предусловием

WHILE <условие> DO

begin

<тело цикла>

end;

<условие> - логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;

<тело цикла> - любые выполняемые операторы языка.

Порядок выполнения цикла:

Пока условие истинно выполняется тело цикла. Как только условие становится ложно выполнение цикла прекращается.

Программирование циклических структур с неопределённым числом повторений.

26. Программирование циклических структур с неопределённым числом повторений. Цикл с последующим условием.

Цикл с постусловием

Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор repeat..until;

На языке Pascal цикл с постусловием имеет следующий вид::

repeat

<тело цикла>

until <условие>

В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до»).

Программирование циклических структур с неопределённым числом повторений.

27. Массивы и их организация. Типы данных в массиве. Диапазон индекса. Одномерные массивы. Примеры.

МАССИВ - это набор однотипных данных (либо числа , либо символы-строки),

причем все эти данные хранятся в одном месте памяти компьютера в

упорядоченных по номерам ячейках.

Линейный (одномерный) массив – массив, у которого в описании задан только один индекс, если два индекса – то это двумерный массив и т.д. Одномерные массивы часто называют векторами, т.е. они представляют собой конечную последовательность пронумерованных элементов.

Организация.

Описание одномерных массивов

Массив - совокупность конечного числа данных одного типа, объединенных общим именем.

0.1, 0.5, 0.7, ..., 1.9 12, 34, 56, ..., 13

A[I], B[J] - элементы массива,

где I, J - индексы, указывающие номер или место данного элемента в массиве.

Ввод-вывод одномерных массивов

Var <имя массива>: array[<диапазон изменения индекса>] of <тип элементов>;

Размерность массива может быть любой, элементы массива могут быть любого, в том числе и структурированного типа, индекс может быть любого ординального типа, кроме типа Longint.

Пример:

Var A: array [1..4] of real;Type MAS1=array[1..4] of real;

B: array [1..3] of integer;MAS2=array[1..3] of integer;

Var A: MAS1;

B: MAS2;

или

Type I1=1..4;

I2=1..3;

MAS1=array[I1] of real;

MAS2=array[I2] of integer;

Var A: MAS1;

B: MAS2;

Пример:

for I:=1 to 4 do for I:=1 to 4 do

Read(A[I]);илиbegin

Writeln(`A[`,I,']=');

Read(A[I])

end;

{Ввод элементов одномерного массива}

Пример:

{Вывод элементов одномерного массива}

for J:=1 to 3 dofor J:=1 to 3 do

Write(B[J]:3);Writeln(`B[`,J,']=',B[J]:3);

{в строку 12 34 56}{в столбец B[1]= 12

B[ 2]= 34

B[ 3]= 56}

Описание двумерных массив

D[I,J] - элемент матрицы,

где I- номер строки,

J- номер столбца.

Ввод-вывод двумерных массивов

Var <имя массива>: array[<диапазон строк>,<диапазон столбцов>]

of <тип элементов>;

Пример:

Var D:array[1..2,1..3] of integer;или Type MATR=array[1..2,1..3] of integer;

Var D: MATR;

Type ST=array[1..2] of integer;

MATR=array[1..3] of ST;

Var D: MATR;

Пример:

for I:=1 to 2 do

for J:=1 to 3 do

Read(D[I,J]); {Последовательность ввода: 1 3 2 4 6 7}

{Ввод элементов двумерного массива}

Пример:

{Вывод элементов двумерного массива}

for I:=1 to 2 do

for J:=1 to 3 do

Write(D[I,J]); {вывод в строку 1 3 2 4 6 7}

или

for I:=1 to 2 do

begin Writeln;{переход на новую строку}

for J:=1 to 3 do

Write(D[I,J]) {вывод элементов строки}

end;{результат вывода: 1 3 2 4 6 7}

В среде Turbo- элементы матрицы располагаются в оперативной памяти построчно. Для обращения к элементам матрицы удобно использовать приведенный индекс, IPR- это порядковый номер элемента массива в памяти.

Например: Var D: array [1..M,1..N] of integer;

тогда для D[I,J]IPR=(I-1)*N+J

Начальные значения элементам массивов в среде Turbo-Pascal могут быть заданы с использованием типизированных констант.

Пример:

Type MAS2=array [1..3] of integer;

MATR=array[1..2,1..3] of integer;

Const B:MAS2=(12,34,56);{одномерный массив: 12 34 56}

D:MATR=((1,3,2),(4,6,7));{двумерный массив: 1 3 2 46 7}

Номер элемента массива называется индексом. Индекс – это значение порядкового типа, определенного, как тип индекса данного массива. Очень часто это целочисленный тип ( integer , word или byte ), но может быть и логический и символьный.

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

Type < имя _ типа >= array [ I ] of T;

где I – тип индекса массива, T – тип его элементов.

Можно описывать сразу переменные типа массив, т.е. в разделе описания переменных:

Var a,b: array [ I ] of T;

Обычно тип индекса характеризуется некоторым диапазоном значений любого порядкового типа : I 1 .. I n . Например, индексы могут изменяться в диапазоне 1..20 или ‘ a ’..’ n ’.

При этом длину массива Паскаля характеризует выражение:

ord ( I n )- ord ( I 1 )+1.

Вот, например, объявление двух типов: vector в виде массива Паскаля из 10 целых чисел и stroka в виде массива из 256 символов:

Type

Vector=array [1..10] of integer;

Stroka=array [0..255] of char;

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

Опишем переменные типа vector и stroka :

Var a: vector;

c: stroka;

далее в программе мы можем обращаться к отдельным элементам массива a или c . Например, a [5]:=23; c [1]:=’ w ’; a [7]:= a [5]*2; writeln ( c [1], c [3]).

Типы данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]