- •Ф.Ф. Павлов языки программирования
- •Санкт-Петербург
- •230201 - Информационные системы и технологии
- •Тема 2 посвящена изучению жизненного цикла программы и основным этапам решения задач на эвм.
- •Тема 4 изучает типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов.
- •Тема 8 посвящена структурам данных фиксированного размера (массивы), а также типам данных, определяемых пользователем (структуры, объединения, перечисления).
- •Тема 10 изучает динамические структуры данных: виды и способы реализации списков, динамическое выделение памяти.
- •Тема 12 затрагивает вопросы обработки файлов данных: понятия записи, файла данных и способы доступа, операции и средства обработки файлов, контроль операций обработки файлов.
- •Тема 14 вводит в технологию объектно-ориентированного программирования.
- •Раздел I Принципы программирования на языках высокого уровня
- •Тема 1. Эволюция языков программирования
- •1.1. Неструктурированное, «стихийное» программирование
- •1.2. Процедурное (модульное) программирование
- •1.3. Объектно-ориентированное программирование
- •1.4. Компонентные технологии программирования
- •Тема 2. Жизненный цикл программы и основные
- •2.1. Дружественность, жизненный цикл программы
- •2.2. Постановка задачи и спецификация программы
- •2.3. Проектирование и реализация программы
- •2.4. Способы записи алгоритма
- •2.5. Критерии качества программы
- •3.1. Классификация программных продуктов
- •3.3. Модели программирования в ms-dos и Windows
- •Тема 4. Диалоговые программы
- •4.1. Типы пользовательских интерфейсов
- •4.2. Классификация диалогов и их реализация
- •4.3. Основные компоненты графических
- •Тема 5. Программа на языке высокого уровня
- •5.1. Структура программы и функции
- •5.2. Стандартные типы данных и операции над ними
- •5.3. Адресные типы данных: указатели и ссылки
- •5.4. Стандартные библиотеки языка
- •5.5. Классы памяти
- •Раздел 2 Управляющие структуры и структуры данных
- •Тема 6. Представление управляющих структур
- •6.1. Структура следования
- •6.2. Структуры ветвления
- •6.3. Структуры повторения
- •Int kol, //счетчик введенных оценок
- •Int god; //число лет
- •Тема 7. Адресные типы данных
- •7.1. Указатели
- •7.2. Ссылки
- •Тема 8. Структуры данных фиксированного размера
- •8.1. Массивы
- •8.2. Типы данных, определяемые пользователем
- •Тема 9. Функции (процедуры)
- •9.1. Определение, прототип и вызов функции
- •9.2. Передача параметров
- •9.3. Программирование рекурсивных алгоритмов
- •Тема 10. Динамические структуры данных
- •10.1. Списки: основные виды и способы реализации
- •10.2. Динамическое выделение памяти
- •Раздел 3 Процедурное программирование
- •Тема 11. Ввод/вывод данных
- •11.1. Видеофункции библиотеки conio.H
- •11.2. Функции библиотеки потокового ввода/вывода
- •Тема 12. Обработка файлов данных
- •12.1. Записи и файлы данных
- •12.2. Операции и средства обработки файлов
- •12.3. Контроль операций обработки файлов
- •Тема 13 Технология процедурного программирования
- •13.1. Способы конструирования программ
- •13.2. Проектирование программы: методы декомпозиции и и модульного программирования
- •13.3. Реализация программы: методы структурного
- •Тема 14. Введение в технологию объектно-
- •14.1. Основные понятия объектно-ориентированного
- •14.2. Проектирование программы
- •14.3. Реализация программы
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •Тема 1. Технология программирования и этапы ее
- •Тема 2. Жизненный цикл программы и основные этапы
Тема 4. Диалоговые программы
4.1. Типы пользовательских интерфейсов
Пользовательский интерфейс представляет собой совокупность программных и аппаратных средств, обеспечивающих диалог пользователя и компъютера. Диалог – это процесс обмена информацией между пользователем и программой, осуществляемый в реальном масштабе времени и служащий для решения конкретной задачи. Различают следующие типы пользовательских интерфейсов:
примитивные интерфейсы;
интерфейсы-меню;
интерфейсы со свободной навигацией;
интерфейсы прямого манипулирования.
Примитивный интерфейс реализует единственный сценарий работы программного обеспечения: например, ввод данных – обработка -вывод результатов. Подобный интерфейс применяется крайне редко, например, когда программа имеет только одну функцию.
Интерфейс-меню реализует множество сценариев работы с иерархической структурой команд, выбираемых пользователем. Иерархическая организация меню с графом типа «дерева» задает строго ограниченную навигацию: вверх, вниз по ветвям графа.
Интерфейс со свободной навигацией реализует множество сценариев работы, не привязанных к уровням иерархии команд, а предполагает определение множества команд на конкретном шаге работы. Такие интерфейсы называют графическими пользовательскими интерфейсами (GUI – Graphic User Interface) или интерфейсами WYSIWYG (What You See Is What You Get – что видишь, то и получишь). Преимущества интерфейсов со свободной навигацией по сравнению с интерфейсами-меню заключаются в возможности доступа к любым командам и в выборе команд, имеющих смысл в данный момент. Диалоговые окна программы содержат меню различных видов (кнопочное, ниспадающее, контекстное) и элементы управления вводом/выводом, реализующие диалог с пользователем.
Интерфейс прямого манипулирования реализует множество сценариев работы посредством выбора и перемещения пиктограмм, определяющих объекты предметной области. Этот тип интерфейса реализован в интерфейсе операционной системе Windows, является альтернативой интерфейсу со свободной навигацией.
Два последних типа интерфейса требуют использования современной визуальной среды программирования, ориентированной на объектно-ориентированный подход к разработке программ.
Тип интерфейса зависит от технологических требований программного обеспечения:
выбор метода программирования: процедурный или объектно-ориентированный;
выбор языка программирования: C++ (безусловный лидер), Pascal, Basic, Ada и др.;
выбор среды программирования: Visual C++, Visual Basic фирмы Microsoft, Delphi, Turbo C++, C++ Builder фирмы Borland, Visual Ada фирмы IBM и др.
Использование интерфейса со свободной навигацией или интерфейса прямого манипулирования требует выбора объектно - ориентированного подхода к программированию и выбора современной среды визуального программирования, например, Visual C++, Builder C++, Delphi.
4.2. Классификация диалогов и их реализация
Диалог – это процесс обмена информацией между пользователем и программой.
Различают два типа диалога: управляемые программой и управляемые пользователем.
Диалог, управляемый программой, предусматривает наличие жесткого сценария диалога, заложенного в программу. Диалог, управляемый пользователем, предусматривает, что сценарий диалога зависит от пользователя.
Различают три формы диалога:
фразовую
директивную
табличную
Фразовая форма предполагает общение с пользователем на естественном языке. Но это крайне сложно. Чаще всего используют диалоги, предполагающие односложные ответы, например:
Вопрос программы: Введите возраст
Ответ пользователя: 40.
Недостатки фразовой формы – это отсутствие гарантий и большие затраты ресурсов.
Директивная форма предполагает использование команд (директив) специально разработанного формального языка. Команду можно вводить:
в виде строки текста в командной строке (например, команды MS DOS);
нажатием некоторой комбинации клавиш (например, акселераторы);
посредством манипулирования мышью (например, перетаскивание пиктограмм).
Основными достоинствами директивной формы являются:
небольшой объем вводимой информации;
гибкость (выбор только допустимых команд);
ориентация на диалог, управляемый пользователем;
использование минимальной области экрана или не использование вообще.
К недостаткам директивной формы относятся:
практическое отсутствие подсказок на экране, что требует запоминания;
отсутствие обратной связи о состоянии процесса;
Директивная форма удобна для пользователя-профессионала.
Табличная форма предполагает, что пользователь выбирает ответ из списка, предложенного программой. Достоинствами табличной формы являются:
наличие подсказки (ориентирование не на запоминание, а на узнавание);
сокращение количества ошибок ввода: пользователь не вводит информацию, а указывает на нее;
сокращение времени обучения пользователя.
К недостаткам табличной формы относятся:
необходимость наличия навыков навигации по экрану;
использование большой площади экрана для изображения визуальных компонентов;
интенсивное использование ресурсов компьютера, связанное с необходимостью постоянного обновления информации на экране.