Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3. 1-21.docx
Скачиваний:
2
Добавлен:
26.09.2019
Размер:
246.79 Кб
Скачать

7. Оператор case, общая форма, фрагмент блок-схемы.

Case

Общая форма

Case <селектор> OF

<список меток варианта>:<оператор 1>;

< список меток варианта>:<jgthfnjh 2>;

else <оператор N>

end.

Блок схема

Program prin 5;

Type color=(red,blue,black);

Var x:integer:clr:color;

begin

write('Введите номер 0-1-2->');

read(x);

Case x OF

0:clr:=red;

1:clr:=blue:

2:clr:=black;

else write ('Неправельный ввод!')

end;

Case clr OF

0:writeln('red');

1:writeln('blue');

2:writeln('black');

end;

end.

8. Оператор for, общая форма, фрагмент блок-схемы.

FOR

Здесь For, to, do – зарезервированные слова («для», «до», «выполнить»);

Формат

For i:=i0 to iT do <оператор>

Блок-схема

Вычислить функцию f=x+e -x при х=0, 1, 2, …, 10 и распечатать полученные значения в табличном виде.

9. Оператор while, общая форма, фрагмент блок-схемы.

While

Здесь While, Do – зарезервированные слова 

Формат

While <условие> Do <оператор>

Блок-схема

Например, рассмотрим фрагмент программы суммирования чисел от 1 до 10. В данном примере использование всех видов цикла равноценно:

…  s:= 0; i:= 1;    while i<=10 do { находим сумму чисел от 1 до 10 }      begin        s:=s+1;        i:=i+1; { изменение переменной управления циклом }      end;      …

10. Оператор repeat - until, общая форма, фрагмент блок-схемы.

Repeat,Until

Формат

Repeat <тело цикла> Until <условие>

Здесь Repeat, Until – зарезервированные слова («Повторять», «пока не [выполнится условие]»);

<тело цикла> - произвольная последовательность операторов;

<условие> - выражение логического типа.

Блок-схема

 Дано натуральное число N>10. Найти первую цифру даного числа.

11 Способы описания массивов.

Массивы - это совокупности однотипных элементов. Характеризуются они следующим:

  • каждый компонент массива может быть явно обозначен и к нему имеется прямой доступ;

  • число компонент массива определяется при его описании и в дальнейшем не меняется.

Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый элемент. Тип индекса может быть только порядковым (кроме longint). Чаще всего используется интервальный тип (диапазон).

Описание типа массива задается следующим образом:

type

имя типа = array[ список индексов ] of тип

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

Вводить и выводить массивы можно только поэлементно.

Пример 1. Ввод и вывод одномерного массива.

const

n = 5;

type

mas = array[1..n] of integer;

var

a: mas;

i: byte;

begin

writeln('введите элементы массива');

for i:=1 to n do readln(a[i]);

writeln('вывод элементов массива:');

for i:=1 to n do write(a[i]:5);

end.

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

var a,b,c: array[1..10] of integer;

Если массивы a и b описаны как:

var

a = array[1..5] of integer;

b = array[1..5] of integer;

то переменные a и b считаются разных типов. Для обеспечения совместимости применяйте описание переменных через предварительное описание типа.

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

Вместе с тем, над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.

Так как тип, идущий за ключевым словом of в описании массива, - любой тип Турбо Паскаль, то он может быть и другим массивом. Например:

type

mas = array[1..5] of array[1..10] of integer;

Такую запись можно заменить более компактной:

type

mas = array[1..5, 1..10] of integer;

Таким образом возникает понятие многомерного массива. Глубина вложенности массивов произвольная, поэтому количество элементов в списке индексных типов (размерность массива) не ограничена, однако не может быть более 65520 байт.

Работа с многомерными массивами почти всегда связана с организацией вложенных циклов. Так, чтобы заполнить двумерный массив (матрицу) случайными числами, используют конструкцию вида:

for i:=1 to m do

for j:=1 to n do a[i,j]:=random(10);

Для "красивого" вывода матрицы на экран используйте такой цикл:

for i:=1 to m do begin

for j:=1 to n do write(a[i,j]:5);

writeln;

end;

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