- •Вопросы к экзамену по курсу «Программирование» для потока а-4,6,7,8,9,12-XX
- •Алгоритм и его основные свойства
- •Методы нисходящего и восходящего проектирования
- •Критерии качества программного продукта
- •С точки зрения пользователя[
- •Виды циклов в языке Паскаль. Итерационные циклы
- •Оператор выбора case
- •Способы структуризации алгоритмов
- •Классификация типов данных в Delphi. Тип Real
- •Порядковые типы. Целые типы в Delphi, тип диапазон
- •Порядковые типы. Символьный тип
- •Логический тип. Логические операторы и операции сравнения
- •Реализация
- •Доступные операции
- •Применение
- •Порядковые типы. Перечисляемый тип
- •Тип массив (статический): описание, ввод, вывод
- •Тип запись: описание, ввод, вывод. Оператор Wlith
- •Вввод / вывод записей в Паскале
- •Тип множество: описание, ввод, вывод, операции над множествами
- •Текстовый файл: описание, основные операции. Использование параметров программы для передачи программе имен файлов
- •Назначение и отличия процедур общего вида и функций
- •Описание и вызов процедур
- •Описание и вызов функций
- •Классы формальных параметров: параметры-константы, параметры-значения и параметры переменные. Ключевые слова const, var, out при описании параметров
- •Массивы и записи как формальные параметры процедур и функций
- •Имена процедур и функций как формальные параметры. Процедурный тип
- •Модули в Паскале: назначение, описание, использование. Обязательные и дополнительные разделы
- •Составление функциональных и структурных тестов на примере разработанной процедуры
- •Нисходящее и восходящее тестирование программ
- •Описание констант, переменных и пользовательских типов. Области видимости констант и переменных
- •Описание констант структурированных типов: массивов, записей и множеств
Критерии качества программного продукта
Работоспособность.
Правильность.(программа должна решать именно поставленную, а не более широкую, более узкую или измененную задачу).
Надежность (программа должна работать при любых исходных данных – анализировать их правильность и выдавать результаты или диагностику ошибок).
Читабельность (текст программы – итоговый носитель всей информации о решении, поэтому он должен иметь четкую и ясную организацию, отображающую решение).
Легкость отладки и тестирования.
Модифицируемость (возможность внесения изменений в программу).
Документированность (наличие документации по всему процессу разработки, начиная от постановки задачи); документированность обеспечивает возможность передачи программы другим лицам, или отчуждение программы.
Простота пользования, наличие сервиса.
эффективность применительно к компьютеру (использование минимума машинных ресурсов – памяти и времени выполнения).
С точки зрения пользователя[
Помимо технического взгляда на качество ПО, существует и оценка качества с позиции пользователя. Для этого аспекта качества иногда используют термин «юзабилити». Довольно сложно получить оценку юзабилити для заданного программного продукта. Наиболее важные из вопросов, влияющий на оценку:
Является ли пользовательский интерфейс интуитивно понятным?
Насколько просто выполнять простые, частые операции?
Насколько легко выполняются сложные операции?
Выдаёт ли программа понятные сообщения об ошибках?
Всегда ли программа ведёт себя так как ожидается?
Имеется ли документация и насколько она полна?
Является ли интерфейс пользователя само-описательным/само-документирующим?
Всегда ли задержки с ответом программы являются приемлемыми?
Базовые структуры алгоритмов. В виде блок-схем и на Паскале.
Название |
Блок-схема |
Операторы псевдокода |
|
1. Следование
|
|
S1; S2; … Sn; |
|
2 Развилка, ветвление, альтернатива |
2.1 если- то- иначе
|
|
если В то S1 иначе S2 кесли; |
2.2 если-то (обход) |
|
если В то S1 кесли;
|
|
2.3 выбор |
|
выбор <ключ> из <знач1>: S1; <знач2>: S2; …………. <значn>: Sn; [иначе Sn1;] квыб;
delphi сase <селектор > of <конст1>: S1; <конст2>: S2; …………. <констn>: Sn; [else Sn1;] end {case}; Выполняется только оператор, для которого значение селектора равно константе. |
|
Оператор Sn1 может быть опущен. В программировании в том же смысле, что и термин «ключ», используется термин «селектор». |
|||
Виды циклов в языке Паскаль. Параметрические циклы с шагом +1 и -1
Оператор цикла типа арифметической прогрессии используется, если заранее известно количество повторений цикла и шаг изменения параметра цикла +1 или –1.
FOR<параметр цикла>:=<выражение1> TO | DOWNTO <выражение2> DO < оператор > ;
< параметр цикла > - это переменная цикла любого порядкового типа (целого, символьного, перечисляемого, интервального);
TO – шаг изменения параметра цикла +1;
DOWNTO - шаг изменения параметра цикла -1;
< выражение 1> - начальное значение параметра цикла, выражение того же типа, что и параметр цикла;
< выражение 2> -конечное значение параметра цикла, выражение того же типа, что и параметр цикла;
< оператор>- тело цикла - простой или составной оператор.
При выполнении оператора FOR выполняются следующие действия:
- вычисляется < выражение 1> , которое присваивается параметру цикла;
- проверяется условие окончания цикла : <параметр цикла> больше <выражения 2> при использовании конструкции TO и <параметр цикла> меньше <выражения 2> при использовании конструкции DOWNTO;
- выполняется тело цикла;
- наращивается (TO) или уменьшается (DOWNTO) на единицу параметр цикла;
- все этапы, кроме первого, циклически повторяются.
При использовании оператора необходимо помнить :
- Внутри цикла FOR нельзя изменять начальное , текущее или конечное значения параметра цикла.
- Если в цикле с шагом +1 начальное значение больше конечного, то цикл не выполнится ни разу. Аналогично для шага -1, если начальное значение меньше конечного.
- После завершения цикла значение параметр цикла считается неопределенным, за исключением тех случаев, когда выход из цикла осуществляется оператором GOTO или с помощью процедуры BREAK.
- Телом цикла может быть другой оператор цикла.
Например, вычислить значение факториала F=N!
a) … F:=1; b) … F:=1;
FOR I:=1 TO N DO FOR I:=N DOWNTO 1 DO
F:=F*I; … F:=F*I; …
В следующем примере цикл выполняется 26 раз и SIM принимает значения всех латинских букв от ’A’ до ‘Z’.
…
FOR SIM:=’A’ TO ‘Z’ DO
WRITELN( SIM);
…
Если телом цикла является другой цикл, то циклы называются вложенными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся внутри другого цикла, называется внутренним. Внутренний и внешний циклы могут быть любыми из трех видов: FOR, WHILE или REPEAT. При построении вложенных циклов необходимо, чтобы все операторы внутреннего цикла полностью находились в теле внешнего цикла. Возможная глубина вложенности циклов ограничивается объемом памяти компьютера.
