
- •4. Подпрограммы в Паскале. Подпрограммы-процедуры и подпрограммы-функции.
- •5. Формальные и фактические параметры подпрограмм Паскаля.
- •6. Формальные параметры подпрограмм Паскаля. Параметры-значения и параметры-переменные.
- •11. Тип массив в Турбо- Паскале (понятие, описание, размещение в памяти эвм).
- •16. Статическое и динамическое распределение памяти. Тип-указатель в Турбо Паскале ( понятие, описание, типизированные и нетипизированные указатели).
- •17. Общие представления об объектно-ориентированном программировании. Тип-объект в Турбо Паскале (понятие, особенности описания).
- •Пример.
- •23. Особенности компиляции Паскаль-программы модульной структуры.
- •24. Основный стандартные модули и их краткая характеристика.
- •28. Отладка программ ( понятие, цель, стадии отладки, основные фазы контроля корректности программ).
- •30. Восходящее и нисходящее тестирование программ.
- •37. Основные типы и структуры данных в Фортране. Объявление типа и структур данных в Фортране.
- •43. Простейший способ ввода-вывода данных на Фортране, управляемого списками ввода-вывода.
- •44. Запись операторов ввода-вывода в Фортране при использовании объявления формата данных.
30. Восходящее и нисходящее тестирование программ.
Существует 2 основных способа тестирования программ: восходящее и нисходящее тестирование.
При первом программа тестируется снизу вверх сначала мод. нижнего уровня, затем более высокого и т.д. В последнюю очередь тестируется основная программа. При этом необходимо для каждого тестируемого модуля представляющего собой процедуру написать специальную программу-драйвер. Такая программа должны содержать ввод тестируемых данных и вывод тестовых результатов. Недостаток: серьезные ошибки могут проявится только на стадии завершения отладки. Этого недостатка не имеет нисходящее тестирование.
При этом в нисходящем тестировании программы используются «заглушки» и тестирование программы происходит до тех пор пока все заглушки не будут заменены обратно на текст программы.
31. Функциональное и структурное тестирование программ (программных модулей). Метод тестовых счетчиков.
При 1-ом: программа модульная рассматривается как «черный ящик», его внутреннее структура не рассматривается.
При 2-ом: Все определяется внутренней структурой мод.
Функциональное тестирование. Цель найти расхождения между программной единицей и ее спецификацией.
Структурное тестирование. Преследует цель проверки структурированности алгоритмов и программ.
Метод тестовых счетчиков.
Идея этого метода состоит во введении в программу новых переменных-счетчиков, добавляемых по одной в каждый цикл программы. Переменная-счетчик должна инициализироваться перед входом в цикли увеличивать свое значение при каждом прохождении по циклу.
В преобразованной таким образом программе измененные инварианты циклов представляются в виде, содержащем условие ограниченности значений счетчиков функциями, зависящими только от входных переменных.
Переменные-счетчики рассматриваются как органическая часть программы, позволяющая логически выразить свойство завершенности в инвариантах цикла.
Преимущество этого метода состоит в том, что одни и те же инварианты используются при доказательстве частичной корректности и завершенности.
Успех доказательства завершенности в методе счетчиков определяется тем, удастся ли подобрать соответствующее условие ограниченности счетчика в инварианте цикла.
32. Метод и средства локализации места ошибок в программах.
Отладчик – это инструмент, программное средство, которое дает программисту возможность последовательно выполнять отдельные операторы исходной программы и анализировать при этом изменение значений промежуточных данных.
Если программа зацикливается, прерывается: ctrl+break (pause); ctrl+F2
Построчное выполнение с заходом в подпрограммы F7, без построчного F8
Назначение точки прерывания ctrl+F8
Запуск программы на автоматическом выполнение до строки с курсором F4
Просмотр значения переменной ( эл-ов массива) ctr+F4
Добавления окна наблюдения и просмотр значения выражения ctrl+F7
33. Структуризация программ. Методы дублирования блоков и объединения условий как методы структурирования ветвлений в алгоритмах.
Метод дублирования блоков:
Если на одной из 2-х альтернативных ветвей некоторого ветвления необходимо выполнить оператор, но такой уже имеется на другой ветви то такой оператор необходимо на этой ветви продублировать.
Метод объединения условий:
Если при планировании альтернативных действий необходимо вложить друг в друга несколько ветвлений с простыми условиями ветвлений то целесообразней построение одного ветвления со сложным или объединенными условиями.
34. Структуризация программ. Метод объединения условий как метод структурирования циклов в алгоритмах.
Метод объединения условий:
Если для некоторого цикла сформулировано не только основное условие цикла, но и другие ( дополнительные) условия ( как условие досрочного завершения цикла), то целесообразно строить цикл со сложным или объединенным условием цикла. При этом может быть применена БУС цикла «пока» или «до».
Кроме того после выхода из такого цикла необходимо дополнительно проанализировать по какому из условий цикла завершен цикл. Поэтому лучше сначала проверить основные условия, а затем ( если условий > 2) и остальные условия.
35. Структуризация программ. Метод булева признака ( метод флажков).
Более усовершенствованное структурирования алгоритмов с несколькими условиями их завершения.
Вводится в рассмотрение дополнительная простая переменная логического типа принимающая значения истина/ложь.
Эта переменная и используется для управления циклом. При одном ее значении цикл продолжает выполнятся ( повторяться) при другом завершается.
Для этого при подготовки цикла к 1-ому выполнению задается некоторое начально значение флажка ( какое именно зависит от БУС: «до»/ «пока»), затем в теле цикла в нужный момент изменяется на противоположный для обеспечения последующего выхода из цикла.
36. Общая сравнительная характеристика языка Фортран.
Фортра́н (Fortran) — первый язык программирования высокого уровня, имеющий транслятор. Создан в период с1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM. Название Fortran является сокращением отFORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Фортран в СССР появился позже, чем на Западе, поскольку поначалу в СССР более перспективным языком считался Алгол. Фортран — жёстко стандартизированный язык, именно поэтому он легко переносится на различные платформы. Новые стандарты языка в значительной мере сохраняют преемственность с более старыми, что позволяет использовать коды ранее написанных программ и их модифицировать. Фортран имеет достаточно большой набор встроенных математических функций, поддерживает работу с целыми, вещественными и комплексными числами высокой точности. Начиная с Fortran 90, в добавление к фиксированному формату исходного текста появился свободный формат, который не регламентирует позиции строки, а также позволяет записывать более одного оператора на строку. Введение свободного формата позволило создавать код, читаемость и ясность которого не уступает коду, созданному при помощи других современных языков программирования, таких как C или Java. современный Фортран избавлен от избытка меток за счёт введения таких операторов, как DO … END DO, DO WHILE, SELECT CASE. Наличием эффективных трансляторов Фортрана на всех типах ЭВМ, причем версии для различных машин достаточно стандартизированы и перенос программ с машины на машину обычно не составляет больших трудностей. Более того, в современных стандартах языка оставлен лишь классический оператор GOTO, применяемый во многих языках и поныне. Детально разработанный форматный ввод/вывод данных. Простота обработки в процедуре Фортрана любых массивов с регулируемыми размерами.