Рефераты. Ответы на билеты по информатике 2006-2008 гг. (базовый уровень)

объявление:

procedure  printsum(x,   у:   Integer);

Объявление заранее информирует транслятор о парамет­рах подпрограммы. Это

позволяет правильно обработать вызовы этой подпрограммы.

Прекращение выполнения подпрограммы и возврат в вызвавшую программу

производится, когда управление попадает на последний оператор подпрограммы. Это

не всегда удобно. Поэтому имеется возможность прервать выполне­ние подпрограммы

и вернуть управление в вызывающую программу немедленно. Для функции к этому

моменту уже должно быть вычислено возвращаемое ею значение.

В  Паскале – это оператор EXIT.


Билет 7

Структуры данных. Обработка массивов. Поиск в массиве. Основные алгоритмы

сортировки массивов.


С понятием "массив" приходится сталкиваться при решении научно-технических и

экономических задач обработки совокупностей большого количества значений.


Массив — это множество однотипных элементов, объединённых общим именем и

занимающих в компьютере определённую область памяти.


Количество элементов в массиве всегда конечно.


В общем случае массив — это структурированный тип данных, состоящий из

фиксированного числа элементов, имеющих один и тот же тип.


Название регулярный тип (или ряды) массивы получили за то, что в них объединены

однотипные (логически однородные) элементы, упорядоченные (урегулированные) по

индексам, определяющим положение каждого элемента в массиве.



Элементами массива могут быть данные любого типа, включая структурированные.


Тип элементов массива называется базовым. Особенностью языка Паскаль является

то, что число элементов массива фиксируется при описании и в процессе выполнения

программы не меняется.


Элементы, образующие массив, упорядочены таким образом, что каждому элементу

соответствует совокупность номеров (индексов), определяющих его местоположение в

общей последовательности. Доступ к каждому отдельному элементу осуществляется

путем индексирования элементов массива. Индексы представляют собой выражения

любого скалярного типа (чаще целого), кроме вещественного.


Тип индекса определяет границы изменения значений индекса. Для описания массива

предназначено словосочетание array of (массив из).


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


Массивом называется совокупность данных, выполняющих аналогичные функции, и

обозначаемая одним именем. Если за каждым элементом массива закреплен только

один его порядковый номер, то такой массив называется линейным, или одномерным.


Массив в Паскале


<имя массива>:= array [<количество элементов>] of <тип переменной>;

Каждый элемент массива в общем виде описывается как А[I], где

А - имя массива,

I - номер или индекс массива (0<=I<=N, но практически употребляется 1<=I<=N)

A[I] - значение элемента массива.


Действия над массивами


Для работы с массивом как единым целым используется идентификатор массива без

указания индекса в квадратных скобках. Массив может участвовать только в

операциях отношения "равно", "не равно" и в операторе присваивания. Массивы,

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

одинаковые типы индексов и одинаковые типы компонентов.


Например, если массивы А и В описаны как

var А, В: array[1..20] of real; то применение к ним допустимых операций даст

следующий результат:


Выражение Результат


А=В                  True,    если значение каждого элемента массива А равно

соответствующему значению элемента массива В


А<>В               True,     если хотя бы одно значение элемента массива А не

равно значению соответствующего элемента массива В


А:=В             Все значения элементов массива В присваиваются

соответствующим элементам массива А. Значения элементов массива В остаются

неизменны.


Действия над элементами массива


После объявления массива каждый его элемент можно обработать, указав

идентификатор (имя) массива и индекс элемента в квадратных скобках. Например,

запись Mas[2], VectorZ[10] позволяет обратиться ко второму элементу массива Mas

и десятому элементу массива VectorZ.


При работе с двумерным массивом указываются два индекса, с n-мерным массивом - n

индексов. Например, запись MatrU[4,4] делает доступным для обработки значение

элемента, находящегося в четвертой строке четвертого столбца массива MatrU.


Индексированные элементы массива называются индексированными переменными и могут

быть использованы так же, как и простые переменные. Например, они могут

находиться в выражениях в качестве операндов, использоваться в операторах for,

while, repeat, входить в качестве параметров в операторы Read, Readln, Write,

Writeln; им можно присваивать любые значения, соответствующие их типу.


Двумерные массивы


Двумерным называется массив, элемент которого зависит от его местоположения в

строке и в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А

— имя массива, I — индекс (номер) строки, J — индекс (номер) столбца.


Описание матрицы на языке Паскаль


Матрицу можно задать двумя способами:


<имя матрицы>: array [<количество строк>] of array [<количество столбцов>] of

<тип переменной>;

<имя матрицы>: array [<количество строк >,<количество столбцов>] оf <тип

переменной>].

Соотношение индексов в квадратной матрице


I=J элементы матрицы расположены на главной диагонали

I<J элементы матрицы расположены над главной диагональю

I>J элементы матрицы расположены под главной диагональю

I+J=N+I элементы матрицы расположены на побочной диагонали (N — количество строк

или столбцов в квадратной матрице)

I+J<N+I элементы матрицы расположены над побочной диагональю

I+J>N+I элементы матрицы расположены под побочной диагональю.


Ниже приведены примеры задач с массивами на языке Turbo Pascal.


Пример 1. Ввод значений элементов массива с помощью генератора случайных чисел и

вывод их в строчку.


Примечание:


Для использования случайных чисел в TP используются операторы random:real -

генерирует случайные числа в диапазоне 0...0.99.

random(i:word):word — генерирует случайные числа в диапазоне 0...1.

randomize - изменение базы генератора случайных чисел.


program mas1;

var

a: array [1..10] of integer;

i: integer;

begin

randomize;

for i:=1 to 10 do

begin

a[i]:=random(20);

write('a(', i, ')=', a[i], ' ')

end;

readln

end.


Пример 2. Составить программу заполнения одномерного массива, так чтобы его i-ый

элемент был равен a[i]=(i*i+1)/sin(i).


program mas2;

var a: array [1..10] of real;

i: integer;

begin

for i:=1 to 10 do

begin

a[i]:=(i*i+1)/sin(i);

writeln('a(', i, ')=', a[i], ' ');

end;

readln

end.


Пример 3. Составить программу определения количества элементов одномерного

массива, значение элементов которых меньше заданного действительного числа t.


program mas3;

var a: array [1..10] of real;

i,k: integer; t:real;

begin

write('Введите число t=');

read(t);

k:=0;

for i:=1 to 10 do

begin

write('Введите значение элемента a(', i, ') = ');

readln(a[i]);

if a[i]<t then k:=k+1

end;

writeln('Ответ: Количество элементов, меньших заданного числа t,');

writeln('равно k=',k);

readln

end.

Сортировка одномерного массива

Сортировка или упорядочивание массива производится в тех случаях, когда элементы

массива должны быть расположены в порядке возрастания или убывания.

Задача: Дан массив А. Упорядочить его по возрастанию.

А) Сортировка выбора.

Сначала ищется минимальный элемент среди всех элементов массива и он меняется

местами с первым элементом массива; затем ищется минимальный элемент среди

оставшихся элементов массива и он меняется со вторым элементом массива и т.д.

В программе придется использовать 2 вложенных цикла:

1) по i будем фиксировать элемент массива Ai – куда будем переставлять найденный

минимальный элемент (внешний)

2) по j будем находить наименьший элемент среди оставшейся неупорядоченной части

массива (внутренний)

Б) Сортировка обменами («пузырьковая»).

Просматривается массив и сравниваются 2 соседних элемента. Если оказывается, что

следующий элемент ak+1<ak , то такие элементы меняются местами. Этот

многопроходный процесс повторяется до тех пор, пока не будет зафиксировано ни

одной перестановки.

Идея состоит в последовательном перемещении путем попарных

перестановок наибольшего значения сначала на место N-го элемента, затем (N-1)-го

и т.д.



Билет 8

Основные понятия и операции формальной логики. Законы логики. Логические

выражения и их преобразования. Построение таблиц истинности логических

выражений.



Логическое высказывание — это любое повествовательное предложение, в отношении

которого можно однозначно сказать, истинно оно или ложно.

Высказывания, образованные из других высказываний с помощью логических связок,

называются составными. Высказывания, не являющиеся составными, называются

элементарными.

Существуют три основные логические операции: отрицания (операция, выражаемая

словом “не”), дизъюнкции (операция, выражаемая связкой “или”) и конъюнкции

(операция, выражаемая связкой “и”).


Отрицание (инверсия) . Инверсия высказывания истина, когда само высказывание

ложно, и ложно, когда высказывание истинно.


№ случая&#256;F=&#256;

101

210



Дизъюнкция (логическое сложение) двух или более высказываний ложно тогда и

только тогда, когда все простые высказывания входящие в неё ложны.


№ случаяАВF=A v B

1000

2101

3011

4111




Конъюнкция (логическое умножение) двух или более высказываний истинно тогда и

только тогда, когда все простые высказывания входящие в неё истины.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.