
- •1.Архитектура эвм - уровни абстракции представления, аппаратная и программная части, основные элементы, поколения эвм.
- •2. Арифметич. Основы эвм. Типы данных, представление, перевод чисел. Коды чисел – прямой обратный дополнит.
- •3. Виды памяти и внешние устройства – регистры, озу, пзу, страничная и виртуальн. Память.
- •4. Процессор – уу, счак, машинная логика, набор операций, адресность.
- •5.По особенности используемой системы машинных команд: risc и cisc процессоры
- •5. Методы адресации, выполнение команд, прерывания, переместимость.
- •7. Персональные эвм, обзор основных типов, аппаратные элементы.
- •9.Функции и состав типичной ос.
- •10. Основные команды операционной системы
- •11. Классификация структур данных, задачи обработки, массивы, списки
- •12. Древовидные и табличные структуры
- •13. Поиск в массиве.
- •14. Методы внутренней сортировки.
- •15. Внешняя сортировка наборов данных.
- •16. Жизненный цикл программы.
- •17. Методы проектирования программ
- •18. Методы тестирования и отладки программ.
- •19. Понятие о технологии про-раммирования. Качество по.
- •20. Классификация и основы построения по.
- •21. Банк данных, архитектура бд.
- •29. Локальные сети, протоколы.
- •24. Пакеты прикладных программ.
- •25.Информационно-поисковые системы
- •26. Системы искусственного интеллекта (ии).
- •28. Основные понятия сапр.
- •23.Реляционная алгебра и обработка данных.
- •22.Субд и их функции. 23.Реляционная алгебра и обработка данных
- •32. Структурное программиро-вание.
32. Структурное программиро-вание.
Традиционная технология про-грам-ния складывалась в усло-виях, когда основной областью применения ЭВМ были научные и инженерные расчёты, быстро-действие и оперативная память самих ЭВМ были весьма ограни-чены, а необходимость сопрово-ждения программ по существу не возникала. В кач-ве осн-го крите-рия оценки кач-ва программ рас-см-лась её узко понимаемая эффективность, не учитывающая отриц-ных последствий тех ухи-щрения, к к-рым прибегали прогрм-сты для её достижения.
Прежде всего – это затруднение в восприятии программы, а это приводит к тому, что сам про-грам-ст с трудом понимает назначение тех или иных конструкций в начале програм-мы, когда он пишет последние опер-ры. Это говорит о необх-сти научно обоснованной мето-дологии разработки и докумен-тирования сложных программ. Эта методология должна касать-ся анализа исходной задачи, разделяя её на достаточно само-стоятельные части и програм-ния этих частей по возможности не-зависимо друг от друга.
Одной из таких методологий явл. структурное прогр-ние. В осно-ву струк-ного прогр-ния по-ложены следующие положения:
1.Программа должна составл-тся мелкими шагами. Размер шага опред-ется кол-вом реш-ий, при-меняемых прог-стом на этом шаге.
2.Сложная задача должна разби-ваться на дост-но простые, легко воспринимаемы части, каждая из к-рых имеет только один вход и один выход.
3.Логика прогр-мы должна опираться на минимальное число дост-но простых базовых упра-вляющих структур, подобно то-му как любая ф-ция алгебры ло-гики может быть выражена через функц-но полную систему (напр, отрицание, дизъюнкцию, конъюнкцию).
Не мене существенным явл. то, что исп-ние базовых управляя-ющих структур существенно облегчает доказ-во правильности программы.
Фундаментом струк-рного прогр-ния явл. теорема о структури-ровании Эта теорема устанавли-вает, что как бы сложна ни была задача, блок-схема соответст-щей программы всегда может быть представлена с исп-нием весьма ограниченного числа элементарных управляющих структур, например:
f THEN g; IF p THEN f ELSE g; WHILE p DO f.
Эти элементарные струк-ры могут соединяться между собой, образуя более сложные струк-ры, по тем же самым элементарным схемам. При этом f и g могут являть собой довольно сложные блок-схемы с одним входом и одним выходом, построенные из таких же элементарных срктур. Хаар-рной особенностью структур-рованной прогр-мы явл не столько отсутствие опера-торов GO TO, сколько наличие струк-ры в её орг-зации.
Предположим, что мы имеем программу, занимающую 80 страниц текста и не содержащцю опер-ров перехода тип GO TO. Каким образом можно ввести струк-рную орг-цию в этот текст? Суть этого процесса со-стоит в том, что на первом шаге составляется одностраничная программа-остов рассм-ваемой 80-страничной программы. Этого можно достигнуть, выделяя наи-более важные в функц-ном смысле фрагменты исходной программы и заменяя их в тексте символическими именами. Каждое новое имя будет соот-ветствовать некоему сегмент, к-рый должен храниться в архиве и вызываться посредством макро-команды. Последовательно осущ-ляя такие замены, мы можем получить прогр-ый сег-мент, содержащий столько строк текста, столько их умещается на одной странице (обычно 30-40 строк).
Важнейшей особенностью всяко-го выделенного в ходе преобразования сегмента явл. то, что его вып-ниеначинается сверху, т.е. с первого опер-ра, и заканчиается внизу – на послед-нем опер-ре – и нет никаких иных путей войти в него из других частей прогр-мы. Т.о., если на какой-то странице текста встречается имя некоего сегмен-та, то изучающий программу может считать, что сверху вниз будут выполнены все опер-ры этого сегмента и при этом не будет изменена управляющая логика рассматриваемого фрагмента программы.
Такой способ программир-ия делает прогр-му стрк-рно организованной в виде дерева, вершины к-рого соответствуют сегменам прогр-мы, огранич-ным в размерах одной страницей и читаемым подобно тексту книги.