Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОСЫ ГОСУДАРСТВЕННОГО ЭКЗАМЕНА.docx
Скачиваний:
319
Добавлен:
12.04.2015
Размер:
5.76 Mб
Скачать

4. Основные структуры программирования

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

Операторы действия

Инструкция или оператор – наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.

Например C#: if, if-else, while, do-while, for, switch-case, return и т.д. Также операторам можно считать объявление переменной (int a).

Оператор ветвления

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

if (a == b)

{

}

else

{

}

if a = b then

begin

end else begin

end;

Оператор цикла

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

В Object Pascal циклы бывают: c предусловие(while), с постусловием (repeat .. until), цикл с параметром (for).

for (int i = 0; i < 10; i++)

{

}

for i := 0 to 10 do

begin

end;

while (true)

{

}

while условие do

begin

end;

Repeat

...

Until условие выхода;

Подпрограмма

Подпрограмма - автономная часть программы, реализующая определенный алгоритм, и допускающая обращение к себе из различных частей основной программы. Подпрограмма может быть многократно вызвана из разных частей программы. В языке Object Pascal имеется две разновидности подпрограмм: процедуры и функции.

Функции представляют собой группу операторов, в результате выполнения которых вычисляется одно значение. Возвращаемое значение в теле функции может присваиваться или имени функции или специальной предопределенной системной переменной Result, которую не нужно описывать, но которой можно пользоваться в теле функции.

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

void print(string str)

{

Console.WriteLine(str);

}

PROCEDURE <имя процедуры> (<список формальных параметров>);

BEGIN

<Операторы тела процедуры>

END;

FUNCTION <имя функции> (<список формальных параметров>):

<тип возвращаемого значения>;

BEGIN

<Операторы тела функции>

END;

Литература: [1], [2].

5. Структурные типы данных в языках программирования

Массивы, строки, файлы, записи, множества на примере любого языка программирования.

Массивы

Массив – набор однотипных компонентов (элементов), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам).

Массивы бывают одномерные и двумерные.

Описание массивов:

  • Статическое (размер фиксирован и определён до начала программы)

  • Динамическое (размер можно задать в ходе выполнения программы)

Пример, описывающий массив целых чисел из 10 элементов:

int[] array = new int[10];

Статические массив из 10 символов

var

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

Динамический массив

var DinMass: array of Real;

Для работы с массивом надо выделить место в памяти с помощью процедуры:

SetLength(DinMass, n);

n - количество элементов в массиве.

Двумерный динамический массив

Type Mas = array of array of Real;

Var a: Mas;

Двумерный статический массив:

Var a: array [1..M, 1..N] of integer;

Строки

Строка – тип данных, значениями которого является произвольная последовательность символов алфавита. Чаще всего представляет массив символов.

Обращение к элементу массива происходит как в массиве. Например, str[i]

К строкам можно применять операцию сцепления "+", операции отношения =, <, <, и др.

Функции: копирование (copy), нахождение длины строки (length), поиск подстроки в строке (pos), удаление подстроки (delete), функции преобразования значения строки в число и обратно.

Пример:

string str = “Hello, World!”;

Var str: String;

Файлы

Под файлом понимается именованная область внешней памяти ПК (жесткого диска, гибкого диска, диска CD-ROM).

Типы файлов:

  • типизированные файлы <имя> : File of <тип>; (указан тип компоненты)

  • текстовые файлы <имя> : TextFile; (совокупность строк переменной длины)

  • нетипизированные файлы <имя> : File; (отличаются тем, что для них не указан тип компонентов)

Доступ осуществляется с помощью связывания файла с файловой переменной AssignFile. Открытие файла для чтения - Reset. Перезапись - Rewrite. Открытие для дозаписи - Append. Read - считывание. Write - запись. CloseFile - закрытие.

Для текстовых также применяются процедуры readln и writeln.

При работе с нетипизированными файлами могут применяться все процедуры и функции, доступные типизированным файлам, за исключением Read и write, которые заменяются соответственно высокоскоростными процедурам BlockRead , BlockWrite.

Пример программы чтения строк из файла:

StreamReader f = new StreamReader(“file.txt”);

while (!f.EndOfStream)

{

Console.WriteLine(f.ReadLine());

}

f.Close();

var

f: textfile; s: string;

begin

assignfile(f, “file.txt”);

reset(f);

while not(eof(f)) do

readln(f, s);

closefile(f);

end.