
- •Вопрос 37.Симметричные и асимметричные алгоритмы шифрования. Понятия об электронно-цифровой подписи и электронных сертификатах.
- •Вопрос 38.Алгоритм и его свойства. Способы записи алгоритмов.
- •Вопрос 39. Основные алгоритмические структуры: следование, ветвление, цикл.
- •Вопрос 40.Трансляция программ и сопутствующие процессы. Компиляторы и интерпретаторы.
- •Вопрос 41.Средства создания программ. Основные этапы компьютерного решения задач.
- •Вопрос 42. Классификация языков программирования. Уровни языков программирования.
- •Вопрос 43.Структурное программирование.
- •Вопрос 44.Объектно-ориентированное программирование.
Вопрос 41.Средства создания программ. Основные этапы компьютерного решения задач.
В самом общем случае для создания программы на выбранном языке программирования нужно иметь след.компоненты.
1.Текстовый редактор-для набора исходного текста.
2.Компилятор-для перевода текста программы в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет. Он обычно выдает промежуточный объектный код. Объектный код обрабатывается спец.программой-редактором связей или сборщиком.
3.Редактор связей-для сборки нескольких откомплированных модулей в одну программу.
4.Библиотеки функций-для подключения стандартных функций к программе. Такие функции содержатся в библиотеках-файлах со стандартным расширением .LIB; .TPL, которые поставляются вместе с компилятором.
5.Отладчик-инструментальное средство для поиска и исправления ошибок. Позволяет анализировать работу программы во время ее выполнения, дает возможность выполнить отдельные операторы по шагам.
Для автоматизации процесса создания программ исп-ся системы программирования(совокупность языковых и программных средств, предназначенных для написания, тестирования и отладки программ ЭВМ.
Основные этапы:
1.Постановка задач(основное требование к постановке задач – достаточное количество инф-ции для решения задачи)
2.Моделирование и формализация задачи
Формализация-это замена реального объекта или процесса его формальным описанием, т.е. информац.моделью.
Информац.модель-это описание объекта моделирования.
Моделирование-исследование объектов познания(предметов, процессов) путем построения и изучения их моделей.
3.Разработка алгоритма-представляет собой реализацию идеи решения задачи.
Основные принципы разработки алгоритма:
-принцип поэтапной детализации алгоритма(предполагает первоначальную разработку алгоритма в виде укрупненных блоков и их постепенную детализацию)
-принцип «от главного к второстепенному»(предпол.составление алгоритма, начиная с главной конструкции)
-принцип структурирования(т.е. использования только типовых алгоритмических структур при построении алгоритма)
4.Программирование алгоритма(программа-это детальное и законченное описание алгоритма средствами языка программирования. Процесс выполнения программы наз.вычислительным процессом.)
5.Тестирование программы-процесс поиска ошибок в программе.
6.Отладка программы-процесс устранения ошибок.
7.Документирование программы-подготовка документов, сопровождающих программный продукт.
8.Эксплуатация программы, интерпретация и анализ результатов(в сложных программах может быть недостаточно тестирования для устранения всех ошибок. Очень часто они обнаруживаются на стадии эксплуатации)
Вопрос 42. Классификация языков программирования. Уровни языков программирования.
Языки программирования-это искусственные языки, у них ограниченное число слов, значение которых понятно транслятору, и строгие правила записи команд.
Бывают процедурные и непроцедурные Я.П.
1.Процедурные (алгоритмические) языки предназначены для однозначного описания алгоритмов, для задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения. Среди процедурных выделяют структурные(одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д.- Паскаль, Си, Ада, ПЛ/1) и операционные языки(одним оператором исп-ся несколько операций-Фортран, Бейсик, Фокал)
2.Непроцедурные(декларативные) Я.П. ориентированы не на разработку алгоритма решения задач, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. Выделяют функциональные(программа описывает вычисление некоторой функции. Один из основных элементов функциональных языков-рекурсия-Haskell,LISP,APLи логические задачи(программа вообще не описывает действий-Пролог)
Можно выделить еще один класс Я.П.-объектно-ориентированные языки высокого уровня(на таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования-ObjectPascal,C++,Java.
Язык программир. Имеет 3 основные составляющие: алфавит, синтаксис и семантику.
Алфавит-совокупность допустимых символов(включает буквы, символы и спец.знаки)
Синтаксис-это набор правил построения конструкций языка(совокупность правил записи, которым должна удовлетворять любая программа)
Семантика-это совокупность значений(смысл) всех конструкций языка.
Одним из важнейших признаков яв-ся уровень. Уровень Я.П. определяется семантической емкостью его конструкций и степенью его ориентации на программиста.
Если Я.П. ориентирован на конкретный тип процессора и учитывает его особенности, то он наз.языком программирования низкого уровня.
Языком самого низкого уровня яв-ся Язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде кода, а с помощью символьных условных обозначений, наз.мнемониками.
С помощью языка низкого уровня создаются очень эффективные и компактные программы.
Я.П. высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. ЯПВУ яв-ся машинно-независимыми языками.