
- •2.Понятие формального алгоритма. Тезис Тьюринга - Черча об эквивалентности различных определений вычислимости. Абстрактная машина фон Неймана. Понятие об элементарном исполнителе. 2 часа
- •3. Основные этапы решения задач на эвм: математическая постановка; алгоритм; программа; отладка и тестирование; сдача в эксплуатацию. 1 час
- •4. Критерии качества программы (надежность, эффективность, модифицируемость, возможность многократного использования, стиль программирования). 1 час.
- •5. Диалоговые программы, дружественность (интерфейс человек–компьютер, процессы ввода–вывода, структура диалога, поддержка пользователя). 1 час.
- •7. Постановка задачи и спецификация программы (представление в виде спецификации ввода–вывода; особенности спецификации для завершающихся и циклических программ); способы записи алгоритма. 1 час
- •9. Программа на языке высокого уровня. Язык программирования Си.
- •Элементы языка си
- •Алфавит
- •Буквы и цифры
- •Пробельные символы
- •Разделители
- •Специальные символы
- •Операции
- •Константы
- •Целые константы
- •Константы с плавающей точкой
- •Символьные константы
- •Символьные строки
- •Идентификаторы
- •Ключевые слова
- •Комментарии
- •Структура программы Исходная программа
- •Исходные файлы
- •Выполнение программы
- •Время жизни и область действия
- •Области значений
- •Операторы
- •Оператор выражение
- •Пустой оператор
- •Составной оператор
- •Оператор if
- •Оператор switch
- •Оператор break
- •Оператор for
- •Оператор while
- •Оператор do while
- •Оператор continue
- •Оператор return
- •Оператор goto
- •Категории типов данных
- •Объединения (смеси)
- •Методы организации и хранения линейных списков
- •Операции со списками при последовательном хранении
- •Операции со списками при связном хранении
- •Организация двусвязных списков
- •Стеки и очереди
- •Сжатое и индексное хранение линейных списков
5. Диалоговые программы, дружественность (интерфейс человек–компьютер, процессы ввода–вывода, структура диалога, поддержка пользователя). 1 час.
Диалоговые программы.
1. Понятие интерфейса человек-компьютер;
2. Процессы ввода- вывода;
3. Структура диалога;
4. Поддержка пользователя.
По способу общения программы с пользователем прикладные программы подразделяют на программы, функционирующие в автоматическом режиме (без участия человека) и диалоговые программы. Диалог с программой может осуществляться в пакетном и интерактивном режимах. В первом случае параметры работы программы определяются пользователем до начала работы программы и передается в нее, например, в виде файла. В интерактивном режиме программа функционирует в режиме вопрос- ответ. Способ взаимодействия определяется интерфейсом программы.
Интерфейс - это система унифицированных связей, определяющих способ взаимодействия между компонентами аппаратного обеспечения, компонентами вычислительной системы, между человеком и вычислительной системой и т.д.
Взаимодействие в интерактивном режиме обычно организуется по следующей схеме:
1. Режим командной строки (программа получает параметры работы из строки ввода с помощью команд). Например, ОС MS-DOS.
2. Система меню (программа получает управляющий сигнал при выборе пользователя элементов из списков, в которых перечислены все возможные варианты функционирования программы). Также пользователь имеет возможность вводить различные числовые значения в поля ввода. Например, Norton Commander.
3. Интерфейс, ориентированный на координатное устройство, типа мыши. Включает в себя все элементы из 2 пункта, и также позволяет осуществлять выбор в соответствии с положением элемента интерфейса относительно окна с помощью мыши. Например, Windows.
При проектировании интерфейса человек-компьютер должны учитываться требования, призванные обеспечить эффективность взаимодействия пользователя и системы.
1. Интерфейс должен быть естественным, т.е. диалог с пользователем должен осуществляться на языке понятном для сферы решаемой задачи. Желательно, чтоб компьютер общался с пользователем с использованием терминологии, принятой пользователем до использования вычислительной системы.
2. Интерфейс должен быть последовательным: необходимо, чтоб каждое текущее действие пользователя определялось результатом предыдущих действий. Реализуется с помощью системы иерархического меню.
3. Интерфейс должен быть не избыточным. Реализация этого требования определяется правилом: количество воспринимаемой информации ограничено количеством знаков восприятия.
4. Интерфейс должен обеспечивать поддержку пользователя. Достигается вызовом справочной информации по желанию пользователя, в которой указывается текущее состояние программы и варианты ее возможных действий.
5. Интерфейс должен быть гибок - реализуется с помощью включения в систему функций настройки интерфейса.
6. Жизненный цикл программы (период от первоначальной концепции до морального устаревания: выработка требований к системе, разработка требований к программному обеспечению, общее проектирование, детальное проектирование, создание отдельных модулей, тестирование отдельных модулей системы, объединение модулей в систему, выпуск системы, эксплуатация и сопровождение системы; итеративность фаз цикла). 1 час
Жизненный цикл программы включает в себя следующие этапы:
1. выработка требований к системе..
2. разработка требований к программному обеспечению.
3. общее проектирование;.
4. детальное проектирование;
5. создание отдельных модулей;
6. тестирование отдельных модулей;
7. объединение модулей в систему;
8. выпуск системы;
9. эксплуатация и сопровождение системы.
Например при разработке АС было принято следующее разграничение фаз жизненного цикла программы:
Предпроектное исследование объекта.
Оформление технического задания - документа, содержащео спецификациювсех информационных и управляющих функций с указанием входов/выходов, а также требования к видам обеспечения ОС: математическим, лингвистическим, техническим, организационным.
Разработка технического проекта.
Разработка рабочего проекта.
Экспериментальное внедрение.
Сдача в промышленную эксплуатацию.
Помышленная эксплуатация системы.
Все фазы жизненного цикла программы обладают свойством итеративности. После выполнения каждого этапа по его результатам принимается решение о возможности перехода к следующей фазе или о необходимости проведения дополнительных работ по предшествующим этапам.
Например, после фазы тестирования отдельных модулей может возникнуть необходимость возврата к этапу разработки требований программного обеспечения. Если недостаточна точность, то требуется заменить среду разработки программ или, если это невозможно, возврат к разработке требований к системе, где необходимо пересмотреть перечень функций, решаемых системой.