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

ВОПРОСЫ К ЭКЗАМЕНУ ПО ИНФОРМАТИКЕ

(Осенний и весенний семестры 2010)

Оглавление

  1. Общее понятие исполнителя и алгоритма. Смысл понятия «правильный алгоритм». Примеры.

  • Алгоритм

Алгоритм -последовательность определенных действий или шагов для решения поставленной задачи. Запись алгоритма на формальном языке называется программойПрограмма - запись алгоритма на языке исполнителя  Св-ва алгоритма: детерминированность (определённость): каждый шаг и переход от шага к шагу должны быть точно определены так, чтобы его мог выполнить любой другой человек или механическое устройство, Конечность (Алгоритм всегда должен заканчиваться за конечное число шагов, но это число не ограничено сверху), Массовость (алгоритм должен работать с любым допустимым значением переменной)

  • Исполнитель

Исполнитель – объект, который выполняет алгоритм.

  • Правильный алгоритм

Правильный алгоритм - если он дает верные результаты для любых допустимых исходных данных. Такого рода программы вполне можно использовать для решения прикладных задач.

  • Пример

%Нахождение разности a = input ('введите уменьшаемое') b = inbut ('введите вычитаемое') res = a - b %разность

  1. Программы (m-функции) и подпрограммы (вспомогательные m-функции). Функции с параметрами, входные и выходные параметры, механизм присваивания значений параметрам функции (формальные и фактические параметры), локальные и глобальные переменные, рабочие области памяти (модель памяти) в языке МАТЛАБ

  • М-функции

М-функции являются M-файлами, которые допускают наличие входных и выходных аргументов. Они работают с переменными в пределах собственной рабочей области, отличной от рабочей области системы MATLAB.

Пример

Функция average - это достаточно простой M-файл, который вычисляет среднее значение элементов вектора:

function y = average (x)

% AVERAGE Среднее значение элементов вектора.

% AVERAGE(X), где X - вектор. Вычисляет среднее значение элементов вектора.

% Если входной аргумент не является вектором, генерируется ошибка.

[m,n] = size(x);

if (~((m == 1) | (n == 1)) | (m == 1 & n == 1)) 

error('Входной массив должен быть вектором’)

end 

y =sum(x)/length(x); % Собственно вычисление

Подпрограммы (вспомогательные m-функции)

Подпрограммы (вспомогательные m-функции) также являются m-функцией, но они вызываются из основной m-функции.

  • Функции с параметрами

Функции с параметрами — функции, позволяющие производить определенные операции с переменными значениями. Входные параметры — стоят в скобках в названии функции, выходные — res, но их может быть несколько. К примеру, size возвращает вектор-строку. Формальные параметры — буква, допустим, х, которая стоит в названии функции funk(x), фактические — текущее значение x(число, к примеру).

  • Локальные переменные

Локальные переменные действуют только внутри m-функции, глобальные действуют везде (global). Локальные переменные не требуют объявления. Прежде чем переменной присвоить значение, необходимо убедиться, что всем переменным в правой части значения присвоены. Любая операция присваивания создает переменную, если это необходимо, или изменяет значение существующей переменной.

Обычно каждая М-функция, задаваемая в виде M-файла, имеет собственные локальные переменные, которые отличны от переменных других функций и переменных рабочей области. Однако, если несколько функций и рабочая область объявляют некоторую переменную глобальной, то все они используют единственную копию этой переменной. Любое присваивание этой переменной распространяется на все функции, где она объявлена глобальной.

  • Рабочие области функции

Каждой M-функции выделяется дополнительная область памяти, не пересекающаяся с рабочей областью системы MATLAB. Такая область называется рабочей областью функции. Каждая функция имеет свою собственную рабочую область.

При работе с системой MATLAB можно получить доступ только к переменным, размещенным в рабочей области системы или в рабочей области функции. Если переменная объявлена глобальной, то ее можно рассматривать как бы принадлежащей нескольким рабочим областям.

  1. Конструкции ветвления организация циклов в языке МАТЛАБ. Средства обработки (конструкция try – catch- end) и генерации (встроенная функция error) исключительных ситуаций в языке МАТЛАБ, вызванных наступлением фатальных ошибок (т.е. исключающих возможность нормального продолжения вычислительного процесса) при выполнении программы. Примеры

  • Конструкции ветвления организация циклов в языке МАТЛАБ

В программном пакете MATLAB возможно использование двух видов цикла: цикл for и цикл while.

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

  • Конструкция try-catch-end

Эта конструкция позволяет выполнить сомнительную операцию, а если операция приводит к фатальной ошибке, то вся программа не сломается, а пойдет дальше. После try запускаются некоторые инструкции. Если их невозможно выполнить, что берется программа действий из catch, а затем выполнение передается за оператор end. Очень похоже по принципу на if-else-end.

  • Error

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

function test

disp('Мы вошли в цикл')

try

a = fopen('test.txt', 'r'); %открываем некоторый файл

r = fread(a); %пытаемся прочесть некоторый файл

catch

disp ('Файла нет')

end

disp ('Мы вышли из цикла')

end

function errtest1(x, y)

if nargin ~= 2 %кол-во аргументов не 2

error('myApp:argChk', 'Wrong number of input arguments') % название ошибки, суть ошибки

end

  1. Значения, переменные, массивы (одномерные, двумерные, …), выражения встроенных классов языка МАТЛАБ: double, logical, char, cell, struct. Оператор присваивания, явное и неявное присваивание, создание и удаление из памяти переменных различных классов. Примеры.

  • Значения, переменные, массивы

Значение-это константа

Переменные имеют класс(тип).Класс переменной определяет внутренний формат представления значения переменной и допустимые операции с этой переменной. Кроме того, переменная имеет имя.

Массив-совокупность однородных элементов(данных), рассматриваемых как одно целое.

  • Одномерные, двумерные, многомерные массивы.

Отличие состоит в способе нумерации: одномерные-1 индекс

пример:

x(1)=2; x(2)=4; x(3)=0; x(4)=-2;

получится вектор-строка:

2 4 0 -2

Двумерные- 2 индекса

y(1,1)=-2; y(1,2)=9; y(1,3)=-15; y(2,1)=1; y(2,2)=0; y(2,3)=2;

получится массив:

-2 9 -15 1 0 2 …

  • Выражения:

  1. Значение(константа)-это есть выражение

  2. Переменная-это есть выражение(значение с именем)

  3. m-функция, возвращающая значения с n входными фактическими параметрами- это есть выражение(n>=0)

  4. Функции, возвращающие значения, фактические параметры которой выражения- это тоже выражения

Класс выражения определяется классом значения-результата double-используется для представления чисел с плавающей точкой char-для представления символов logical-для представления логических значений cell-массивы ячеек struct-массивы структур

  • Создание и удаление переменных

Переменная создается путем присваивания

<имя переменной>=<значение>-частный случай

<имя переменной>=<выражение>-общий случай

Пример

x=2.3-класс double

h='b'-класс char

удаляются переменные так:

clear('x','h')

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