- •Lll. Задачи
- •1.Алгоритм поиска элементов в одномерном массиве по заданному критерию.
- •2. Алгоритм упорядочивания элементов одномерного массива.
- •7. Оператор case, общая форма, фрагмент блок-схемы.
- •8. Оператор for, общая форма, фрагмент блок-схемы.
- •9. Оператор while, общая форма, фрагмент блок-схемы.
- •10. Оператор repeat - until, общая форма, фрагмент блок-схемы.
- •11 Способы описания массивов.
- •12. Использование символьных переменных и строк.
- •13. Процедуры и функции.
- •14. Алгоритм вставки (удаления) элемента в одномерный массив.
- •15 И 16. Измерение информации. Содержательный подход.
- •Алгоритм измерения информации
- •17. Количество информации и вероятность. Как измеряется количество информации?
- •18 Перевод целых десятичных чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •20. Логические операции: конъюнкция, дизъюнкция, отрицание. Логические операторы vba
- •Логический оператор and
- •Логический оператор or
- •Логический оператор not
- •Логический оператор xor
- •Логический оператор eqv
- •Логический оператор imp
- •21. Правила построения таблиц истинности логических выражений. Определение числа строк таблицы
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;