1)Следование
Кодирование на Паскале: Оператор 1; Оператор 2;
2)Разветвление (развилка)
Смысл: разделение алгоритма на два альтернативных пути
Кодирование на Паскале :
If условие then
оператор 1
else
оператор 2
Если развилка является структурной, то:
Оператор1 и оператор2 не имеют связей.
Существует четко определенная точка соединения ветвей.
3) ЦИКЛ ДО (с постусловием)
Кодирование на Паскале Repeat
тело цикла
until условие;
Тело цикла выполняется хотя бы один раз.
4) ПАРАМЕТРИЧЕСКИЙ ЦИКЛ
Кодирование на Паскале: for i:=нач_знач to кон_знач do
тело цикла;
for i:=нач_знач to кон_знач do begin оператор1; оператор2; … операторN end
Билет 12
Понятие о структурном программировании. Основные алгоритмические структуры. Метод нисходящего проектирования алгоритмов.
Структурное (систематическое) программирование - грамотное, рациональное программирование.
Преимущественное использование базовых алгоритмических структурÞограниченное использование операторов безусловного перехода – goto, break, continue, exit и др.
Преимущественное использование базовых алгоритмических структур Þ уменьшение разнообразия алгоритмов, их стандартизация Þ улучшение наглядности алгоритмов, понятности алгоритмов Þ уменьшение количества ошибок при разработке алгоритмов.
Метод нисходящего проектирования алгоритмов:
разделение задачи на связанные между собой подзадачи;
алгоритм каждой подзадачи имеет один вход и один выход;
разбиение на подзадачи отражает логику программы;
алгоритм, устанавливающий связи между подзадачами, строится с использованием базовых алгоритмических структур;
подзадачи автономны - кодируются как подпрограммы, преимущественно использующие локальные переменные.
Билет 13
Циклические алгоритмы. Основные части цикла: подготовка цикла, тело цикла, анализ на выход из цикла. Цикл ПОКА и ДО. Детерминированные, интерационные и параметрические циклы. Кратные (вложенные) циклы.
Если цикл является структурным, то:
Цикл имеет один блок анализа на выход из (продолжение) цикла.
Блок анализа на выход из (продолжение) цикла стоит либо в начале (цикл ПОКА), либо в конце (цикл ДО) цикла.
Ветвь «обратной связи» не содержит операторов.
Детерминированный цикл – о котором можно сказать, сколько раз он выполнится, не выполняя его.
Итерационный цикл – о котором нельзя сказать, сколько раз он выполнится, не выполнив его.
Параметрический цикл (управляемый параметром) – который выполняется для каждого значения параметра, принимающего значения от начального до конечного с некоторым постоянным шагом.
Цикл ПОКА (с предусловием)
Кодирование на Паскале:
while условие do
тело цикла;
Тело цикла - один оператор, простой или составной.
Тело цикла может не выполниться ни разу.
ЦИКЛ ДО (с постусловием)
Кодирование на Паскале Repeat
тело цикла
until условие;
Тело цикла выполняется хотя бы один раз.
ПАРАМЕТРИЧЕСКИЙ ЦИКЛ
Кодирование на Паскале: for i:=нач_знач to кон_знач do
тело цикла;
for i:=нач_знач to кон_знач do begin оператор1; оператор2; … операторN end
Билет 14
Технологические принципы разработки программ. Критерии качества программ. Понятие о внешней спецификации задачи. Правила записи спецификаций.
Разработка программ - промышленное производство Þ необходима технология разработки программ.
Требования к программам как к промышленному изделию - критерии качества программ:
Надежность (отсутствие некомментируемых отказов)
Наличие «дружественного интерфейса»
Простота анализа и изменения программы
Документированность
Соответствие постановке задачи
Эффективность
Технологические принципы разработки программ:
Процесс проектирования - последовательность этапов разработки.
Структурное программирование.
Внешняя спецификация задачи:
1. Название и условие задачи
2. Входные данные: состав (имя, смысл, тип, структура); диапазон; точность; объем; форма записи - форма ввода (входная форма)
3. Выходные данные: состав (имя, смысл, тип, структура); диапазон; точность; объем; форма вывода (выходная форма)
4. Метод решения (название или описание) или (и)
4а. Связь входных и выходных данных (возможно, формулы)
5. Аномалии: аномальные ситуации и реакции на них
6. Функциональные тесты
Билет 15
Отладка и тестирование программ. Функциональные и структурные тесты. Виды ошибок в программах.
Тест - совокупность специально подобранных исходных данных и соответствующих выходных данных, используемых для проверки правильности работы программы.
Тестирование - испытание программы на множестве тестов.
Подготовка тестирования: подготовка тестов; подготовка программы к тестированию (вставка дополнительных операторов вывода, …)
Отладка - процесс поиска, локализации и устранения ошибок в программе с целью получения правильной программы.
Этапы отладки:
1. Устранение синтаксических ошибок
2. Устранение ошибок при редактировании связей и загрузке
3. Ликвидация ошибок при выполнении программы, обнаруживаемых инструментальной средой программирования или операционной системой
4. Тестирование программы - Сколько тестов?
5. Верификация - доказательство корректности программы посредством логического анализа - необязательный этап
При построении функциональных тестов:
Программа рассматривается как «черный ящик», ее внутренняя структура не учитываются.
Используются методы решения задачи, отличные от положенных в основу алгоритма.
Цель функционального тестирования - найти расхождение между программой и ее внешней спецификацией.
Структурное тестирование:
Учитывает логику (структуру) программы
Предусматривает контроль правильности вычислений с помощью ручного просчета (или просчета с помощью других программ)
Предполагает пошаговое выполнение программы (трассировку) с контролем промежуточных результатов
Билет 16
Логические выражения. Логические константы, переменные. Соотношения. Логические операции. Формулы двойственности. Примеры составления и использования логических выражений.
Билет 17
Принципы написания простейших программ.
Сведения, необходимые для написания простейшей программы:
Структура простейшей программы.
Типы и структуры данных, имеющиеся в алгоритмическом языке, их описание, допустимые операции.
Операторы преобразования данных:присваивания (преобразования внутренних данных), операторы ввода и вывода.
Правила записи алгоритма - программирование основных алгоритмических структур.
Структура простейшей программы на любом алгоритмическом языке:
Заголовок ограничитель
описания - неисполняемые инструкции языка
операторы - исполняемые инструкции языка
ограничитель
Билет 18
Паскаль.
Простейшая программа:
program Имя_программы;
Var описания переменных
begin
операторы
end.
Структура паскаль-программы:
program Имя_программы;
LABEL …{не используем}
CONST имя_константы=значение_константы;
N=20; a=-98.345; eps=2.5e-6; {2.5*10-6}
TYPE имя_типа=описание_типа; MAS1=ARRAY[1..N,1..7] OF REAL; DAY=(SUNDAY, MONDAY, TUESDAY,WEDNESDAY, THURDAY, FRIDAY, SATURDAY); {тип перечисление}
COLOR=(BLACK,BROWN,GREEN,YELLOW,WHITE);
VAR a, a1:MAS1; DATE:DAY; PAINTER:COLOR;
раздел процедур (PROCEDURE) и функций (FUNCTION)
begin
…
end.
Оператор присваивания :
Накапливание: вычисление переменной через саму себя (предыдущее значение) Пример: i:=i+1;S:=S+a; P:=P*b[i];
Накапливание, как правило, происходит в цикле. До цикла накапливаемым переменным необходимо присвоить начальные значения (обычно суммам -0, произведениям – 1)
Оператор вывода (в консольном приложении, на стандартное устройство CON):
write(список_вывода)
writeln(список_вывода)
список_вывода:
обязательно скалярные значения;
переменные, простые или с индексами;
константы;
выражения;
элементы списка разделяются запятыми.
Билет 19
Кодирование на паскале основных алгоритмических структур.
Билет 20
Процедуры. Их назначение. Понятие о формальных и фактических параметрах. Замена формальных параметров на фактические «по ссылке» и «по значению»
ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ПОДПРОГРАММЫ:
Формальные параметры действуют только в подпрограмме (являются локальными).
При обращении к подпрограмме формальные параметры заменяются на данные вызывающей программы (фактические параметры).
В список формальных параметров подпрограммы включаются переменные, значения которых передаются из основной программы в подпрограмму или из подпрограммы в программу.
Формальные параметры - это «вход» и «выход» подпрограммы.
ФАКТИЧЕСКИЕ ПАРАМЕТРЫ ПОДПРОГРАММЫ :
Фактические параметры подпрограммы - это параметры программы, которые подставляются вместо формальных параметров при обращении к подпрограмме.
Фактические параметры должны соответствовать формальным по числу, порядку перечисления и типу.
Замена формальных параметров на фактические (вызов):
