- •Общие сведения об эвм.
- •Структура и принципы построения эвм
- •Структура и признаки построения малых эвм.
- •Представление информации в систему счисления.
- •Позиционная система счисления
- •Выбор систем счисления.
- •Перевод целых чисел из одной сс в другую.
- •Перевод дробных чисел из одной сс в другую.
- •Формы представления чисел в эвм.
- •Представление числа в форме с фиксированной точкой.
- •Представление чисел в форме с плавающей точкой.
- •Составляющие пк.
- •Контроллеры и шины эвм.
- •Материнская плата.
- •Программное обеспечение пк.
- •Системные программы.
- •Программы – оболочки.
- •Вспомогательные программы.
- •Программы офисного назначения.
- •Редактор документов.
- •Табличные процессоры.
- •Алгоритм и их свойства.
- •Изображение алгоритма в виде блок-схемы.
- •Понятие об алгоритмическом языке.
- •Понятие о подходе к разработке алгоритма.
- •Основные проблемы, связанные с программированием диалоговых систем.
- •Степень защищенности данных и роль конечного пользователя в ис.
- •Факторы, влияющие на поведение пользователя в ис.
- •Основные требования к современным ис.
- •Эффективность программ
- •Профили и анализ программ
- •Оптимизирующие компиляторы
- •Метод структурного программирования (мсп).
- •Этап планирования.
- •Функции, которые выполняет модуль.
- •2) Операционный подход
- •Планирование тестов.
- •Структурное программирование.
- •У аправляющие структуры.
- •Пошаговая детализация.
- •Сегментирование.
- •Методы тестирования и отладки программ.
- •Проблема живучести программы
- •Методы тестирования
- •Этапы современного тестирования
- •Тестирование программ математических вычислений.
- •Этапы испытания программных систем.
- •Рекомендации по организации этапов тестирования.
- •Компаратор файлов.
- •Этапы решения задач с применением эвм.
- •Математическая постановка задач.
- •Выбор и разработка метода решения.
- •Разработка алгоритма.
- •Написание программ и ввод в эвм.
- •Отладка программ.
- •Программный модуль. Этапы обработки программы на эвм.
- •Постфиксная форма.
- •Загрузчики.
- •Редактор связи.
- •Отладчики.
- •Языки программирования.
- •Fortran
- •Язык fort (с точки зрения обычного программирования)
Планирование тестов.
Вместе с планированием порядка, в к-ом следует разрабатывать модули, необходимо параллельно планировать и разработку тестов.
Достоинства планирования тестов:
устраняется возможность подгонки тестов в уже написанной программе, уменьшается возможность внесения одних и тех же упущений (ошибок) и в программу, и в тестовые данные
лучше понимаются ограничения на входные данные. Это заставляет принимать решения и вносить ясность на более ранних этапах разработки программы
тесты, подготовленные до программирования, лучше проверяют программу.
Структурное программирование.
Бойм впервые док-л, что прогр для решения любой логич задачи можно составить только из структур:
следование
развилка
повторение
У аправляющие структуры.
Обозначение обработки, т.е. действия, к-ые необходимо выполнить. Обозначается в него входит и выходит ровно 1 линия управления. Этот наз-сяузлом обработки или функциональным узлом.
Обозначение проверки:- предикатный узел
Он представляет собой ромб, в к-ый входит 1 линия управления, а выходят 2. Помещенный внутри ромба предикат«Р»обозначает условие, к-ое следует проверить.
Обозначение слияния:Соединяются пути управления (2 входа, 1 выход) – внутри ничего не
пишется.
Соединительные линии:Они в схемах играют роль соединения, изображают направление передачи управления.
Структура «следование»
Управление передается от одного обозначения обработки к следующему.
Структура «развилка»
Если … то … иначе. Служит для выбора одной из 2-х альтернатив.
Цикл «Пока»
Эта структура служит для изображения повторений (циклов), к-ая встречается практически во всех программах. В этой структуре управление проходит через узел слияния к обозначению проверки. Здесь происходит вычисление логич выражения Р. Если оно истинно, то вып-ся действие а и вновь вычисляется Р. Если оно ложь, то а не вып-ся. Т.к. выражение Р вычисляется до начала вып-ия действия, может проихойти таким образом, что это действие не будет вып-ся ни разу. Если, в свою очередь, Р сод-т управл переменную, нач знач к-ой было присвоено до нач цикла, то при вып-ии а, значение переменной измениться.
Цикл «До»
Структура представляет те же возможности, что и «пока», за исключением:
в структуре цикла «до» происходит после вып-ия а. Т.о. doбудет вып-ся хотя бы 1 раз.
цикл «до» завершается, когда Р становится истинным, а цикл «пока», когда Р – ложно.
Структура выбора (case)
В этой структуре пути после разных действий сходятся в одной точке. Управление от точки входа всегда попадает в точку выхода. Выбор пути опред-ся проверкой.
Пошаговая детализация.
Это очень известный метод, позволяющий эффективно детализировать (уточнять) программу. Каждый шаг этого процесса включает в себя разложение функции модуля на подфункции. В конечном итоге эти подфункции превращ в шаги нужной программы. Этот процесс подобен нисходящему проектированию программы, при к-ом схема иерархии исп-ся как схема разложения программы на составляющие ее модули. Схема иерархии показывает ф-ии их подчинения, но она не проявляет внутр логики каждого модуля.
Пошаговая детализация применяется для декомпозиции ф-ии каждого модуля в соотв-ии с внутр логикой, необходимой для вып-ия модуля этой ф-ии.
Термин «пошаговая детализация»подразумевает уточнение на каждом шаге программы. 1 шаг связан с общим предложением. Дальнейшая детализация разложения первого общего шагав послед-сти шагов 2-ого или более низкого уровня заставляет более точно опред-ть логику модуля, что явл-ся детализацией предыд формулировки задачи. Детализация отд программных модулей связана с их функц-ым применением.
При использовании псевдокода для пошаговой детализации на каждом новом шаге логика работы модуля описывается все точнее. Когда каждое предложение псевдокода непосредственно переводится в 1 или 2 предложения ЯП, можно считать, что процесс пошаговой детализации завершен.
Сущ-т неск-ко общих принципов, к-ых следует придерживаться, независимо от того, применяется ли псевдокод или нет для детализации программы:
не спешите заниматься мелочами
тщательно взвешивайте принимаемые решения
внимательно отслеживайте данные
будьте готовы отменить ранее принятые решения.