- •Вопросы по дисциплине “Программирование на языке высокого уровня”, выносимые на экзамен в зимнюю экзаменационную сессию 2008/2009 учебного года
- •Этапы разработки программы
- •Выбор метода решения
- •Кодирование алгоритма на языке программирования
- •Испытания программы на тестах
- •Краткая характеристика языка
- •Алфавит, лексемы, разделители
- •Операция присваивания
- •Операция вывода
- •Кодирование структуры «Ветвление»
- •Ввод массива с клавиатуры
- •Кон а2. Вывод одномерного массива целых по k чисел в строке
- •А3. Вывод элементов прямоугольной матрицы по строкам
- •А4. Сумма элементов массива:
- •А5. Поиск максимального / минимального элемента
- •А6. Подсчет числа элементов массива, удовлетворяющих условию
- •А7. Выбор элементов по условию
- •А8. Проверка выполнения некоторого условия
- •А9. Поиск номера элемента, удовлетворяющего условию
- •9.1. Множества
- •CountLet : word;{количество букв}
Кодирование алгоритма на языке программирования
Только на данном этапе от разработчика требуется знание языка программирования, на котором предполагается записать алгоритм, получив в результате этого программу, которая может быть выполнена на компьютере. Когда алгоритм уже разработан и записан, и у разработчика имеется уверенность в его правильности, перевод на язык программирования должен быть организован так, чтобы не внести в него изменений. С этой целью рекомендуется использовать формализованные правила перевода (кодирования). Результатом данного этапа является программа на языке программирования.
Испытания программы на тестах
К этому моменту разработки программы, наконец, требуется компьютер. Цель данного этапа – убедиться, что программа полностью отвечает требованиям постановки задачи и внешней спецификации программы. Для этого текст программы «набирается» на клавиатуре, сохраняется во внешней памяти и компилируется на язык машины. Возможны два вида ошибок в программе: синтаксические и семантические.
Синтаксические ошибки связаны с нарушением правил записи на языке программирования. После того, как синтаксические ошибки устранены, начинаются испытания на тестах. Если же при выполнении того или иного теста получены результаты, не совпадающие с эталонным, обнаружена ошибка и необходимо найти и устранить ее причину. Процесс поиска причины ошибки и ее устранение называется отладкой. Успешность и продолжительность процедуры отладки программы зависит от того, насколько удачно разработан набор тестов. После успешного завершения этого этапа программа документируется, т.е. снабжается документацией. Перечень и содержание документов будут рассматриваться позже.
Понятие алгоритма и средства его записи.
Правила структурной записи алгоритма.
Запись каждой детализации должна быть оформлена так, как это изображено ниже: (а) – для случая несамостоятельной части алгоритма; (б) – для случая алгоритма, выделяемого в самостоятельную подпрограмму.
План алгоритма“Название” Внутренние переменные:
<список-переменных> Начало <Описание действий> Конец
(а)
Алгоритм“Название” Входные переменные:
<список-переменных> Выходные переменные:
<список-переменных> Внутренние переменные:
<список-переменных> Начало <Описание действий> Конец
(б)
Отметим, что для случая (а) раздел внутренних переменных вставляется только в том случае, если при разработке указанного плана недостаточно внутренних переменных алгоритма предшествующего уровня. В любом случае данные переменные являются глобальными для этой части алгоритма. Глобальнымипеременными считаются такие, которые определены для алгоритма верхнего уровня, с которого осуществляется переход на текущий уровень.
Метод пошаговой детализации алгоритма.
При методе пошаговой детализации алгоритм решения исходной задачи представляется как совокупность более простых алгоритмов, которые, в свою очередь, разбиваются на еще более простые и т.д. Выделенные алгоритмы могут быть как не имеющими законченного функционального назначения, так и функционально независимыми. В первом случае выделяется часть алгоритма, которую проще разработать отдельно и затем вставить в исходный алгоритм.
Во втором случае выделенные алгоритмы можно проектировать как самостоятельные задачи и оформлять на языке программирования в виде подпрограмм. Как известно, подпрограмма не решает всей задачи, она – часть программы, реализующая строго определенные функции.
Запись каждой детализации должна быть оформлена так, как это изображено ниже: (а) – для случая несамостоятельной части алгоритма; (б) – для случая алгоритма, выделяемого в самостоятельную подпрограмму.
План
алгоритма
“Название” Внутренние
переменные:
<список-переменных> Начало <Описание
действий> Конец
(а)
Алгоритм
“Название” Входные
переменные:
<список-переменных> Выходные
переменные:
<список-переменных> Внутренние
переменные:
<список-переменных> Начало <Описание
действий> Конец
(б)
Отметим, что для случая (а) раздел внутренних переменных вставляется только в том случае, если при разработке указанного плана недостаточно внутренних переменных алгоритма предшествующего уровня.
Краткая характеристика псевдокода. Базовые операции: содержание и правила записи в алгоритме.
Псевдокод. Управляющие структуры: содержание и правила записи в алгоритме.
Если же алгоритм записывается на языке псевдокода или русском алгоритмическом языке, то его надо перекодировать на заданный язык программирования. Отметим, что процесс кодирования рутинный и не вносит (не должен вносить!) никаких изменений в алгоритм.
В дополнение к этому надо собрать воедино все тесты, которые были разработаны на этапах проверки отдельных планов и алгоритмов. Этот набор тестов можно будет использовать для испытания программы на ЭВМ.
Структура основного и вспомогательного алгоритма.
Запись каждой детализации должна быть оформлена так, как это изображено ниже: (а) – для случая несамостоятельной части алгоритма; (б) – для случая алгоритма, выделяемого в самостоятельную подпрограмму.
План алгоритма“Название” Внутренние переменные:
<список-переменных> Начало <Описание действий> Конец
(а)
Алгоритм“Название” Входные переменные:
<список-переменных> Выходные переменные:
<список-переменных> Внутренние переменные:
<список-переменных> Начало <Описание действий> Конец
(б)
Отметим, что для случая (а) раздел внутренних переменных вставляется только в том случае, если при разработке указанного плана недостаточно внутренних переменных алгоритма предшествующего уровня.
С
<Заголовок
подпрограммы>; <Раздел
указания используемых модулей> <Раздел
деклараций> <
Секция объявления локальных констант> <
Секция объявления локальных типов> <
Секция объявления локальных переменных> <
Секция объявления внутренних процедур
и функций> begin <Операторы,
описывающие алгоритм> end;
Краткая характеристика языка программирования Паскаль.
