- •Введение.
- •Понятие формального алгоритма.
- •Абстрактная машина.
- •Диалоговые программы.
- •Структурное программирование.
- •Информация.
- •Программа на языке высокого уровня.
- •Интерпретатор – покомандно или построчно считывает программу на исходном языке, переводит на машинный язык и отправляет на выполнение.
- •Интерпретатор языка командной строки.
- •Критерии качества программы.
- •Императивные и декларативные языки.
- •Надежность по.
- •Жизненный цикл по.
- •Структурное программирование.
- •Язык программирования с.
- •Алфавит.
- •Константы.
- •Void – пусто. Используется для обозначения отсутствия возвращаемого значения функции.
- •Данные.
- •Int а[10][7];массив из 10 элементов типа массив, из элементов типа int
- •Структура.
- •Extern. Внутренняя переменная.
- •Динамическая структура данных. Синтаксическое и динамическое распределение памяти.
- •Формальные параметры.
- •Тело функции.
- •Вызов функции.
- •Фактические аргументы.
- •Использование файлов в языка программирования с.
- •Директивы препроцессора. Указания компилятора.
- •Именованные константы. Макроопределения.
- •Проектирование интерфейса.
- •Блок схемы.
- •Символы процесса.
Диалоговые программы.
По способу общения программ использования прикладные программы делятся на:
-
Функционирующие в автоматическом режиме;
-
Диалоговые программы.
Диалог с программой может осуществляться в 2 режимах:
-
Пакетном (получает все исходные данные до начала работы)
-
Интерактивном (режим вопрос-ответ)
Интерфейс – система унифицированных связей, определяющих способ взаимодействия между компонентами аппаратного обеспечения вычислительной системы, между человеком и ВС и др.
Взаимодействие в интерактивном режиме по следующей схеме:
-
Режим командной строки (получает параметры работы с помощью ввода команд)
-
Система меню (программа получает управляющий сигнал при выборе пользователем элемента из списка, в котором перечислены все возможные варианты функционирования программы).
Программы делятся на консольные приложения и приложения с графическим интерфейсом. При проектировании интерфейса «человек-компьютер» должны учитываться требования, призванные обеспечить эффективность взаимодействия пользователя и системы.
Требования:
-
Естественный интерфейс;
-
Последовательный интерфейс (каждое текущее действие пользователя должно определяться результатом предыдущего действия)
-
Не избыточный интерфейс
-
Интерфейс должен обеспечивать поддержку пользователя;
-
Интерфейс должен быть гибким (включение функций настройки интерфейса)
Жизненный цикл программы.
Период от начальной концепции до морального устаревания.
Жизненный цикл включает следующие этапы:
-
Выработка требований к системе;
-
Разработка требований ПО;
-
Общее проектирование;
-
Детальное проектирование;
-
Создание отдельных модулей;
-
Тестирование отдельных модулей;
-
Объединение модулей в системы;
-
Выпуск системы;
-
Эксплуатация сопровождения системы;
Модели создания систем.
-
Каскадная (водопадная)
Возврат предыдущего этапа невозможен.
-
Модель развития системы.
-
Циклическая.
Способы представления алгоритма.
Свойства определённости алгоритма требуют исполнения при описании его формальных языков. Однако, степень формализации (то, насколько строгим должен быть синтаксис языка), а также представление алгоритма определяются тем, что предполагается в качестве исполнения. Формальный исполнитель субъекта или устройства, способный воспринимать и анализировать указание алгоритма, изменить в соответствии с ним своё состояние и обладающий механизмом управления, способный производить по-маловую обработку информации.
В программировании есть определенные представления алгоритмов, рассчитанные на разных исполнителей:
-
Если для человека запись может быть полностью формализована, существенными являются понятность и наглядность;
-
Для технических устройств важна однозначность понимания и исполнения, а также ограничение допустимых грамматических конструкций;
Формы представления алгоритмов:
-
Символьная (последовательность строк, каждая из которых содержит описание 1-го или нескольких элементарных действий). Порядок выполнения алгоритма задаётся:
-
В явном виде (указание метки последовательности);
-
В неявном виде (элементарность действия определяется возможностями исполнителя).
-
Символьный способ основный: понятен и человеку, и ЭВМ.
Примеры:
-
Помагословесная форма - пронумерованная последовательность строк, каждая из которых содержит описание конкретных действий на естественном языке (для человека) – алгоритмы математических вычислений над конечными числами;
Алгоритм Евклида:
-
If a=b, результат a;
-
If a>b, ?(a-b), a=a-b → 1) ;
-
If a<b, ?(b-a), b=b-a → 1);
-
Формулы – строчная запись действий, обеспечивающих обработку числовых, символьных и логических данных.
-
Псевдокод – ориентированный на человека частично-формализованный (в псевдокоде строго определены только правила записи направляющих структур) язык, позволяющий записывать алгоритм в форме весьма близкой языкам программирования высокого уровня.
Направляющие структуры псевдокода:
-
Внешние направляющие алгоритма;
-
Ветвление (если, то, иначе, всё)
-
Цикл (пока – повторять – конец - пока)
Алгоритм Евклида:
Пока a≠b повтор
Если a>b то
a:=a-b
Иначе
b:=a-b
Конец если
Конец пока
Печать a
Конец
D. Язык программирования – искусственно-формализованный язык для ЭВМ
-
Графическая (для представления отдельных элементов, используя некоторый набор геометрических фигур). Только для человека.
+ наглядность
- трудоемкость
→ соединительная линия