- •Списки §1. Общие сведения о списках
- •§2. Создание списка
- •§3. Просмотр и анализ списка
- •3.1. Просмотр и анализ списка целых чисел.
- •3.2. Просмотр и анализ списка одномерных массивов.
- •§6. Сравнительный анализ списков.
- •§1. Порядок работы с файлом
- •1.1. Потоки и файлы
- •1.2. Объявление файла
- •1.3. Открытие файла.
- •1.4. Закрытие файла.
- •§2. Работа с текстовым файлом
- •2.1. Посимвольная работа с текстовым файлом
- •Int fputc(int ch, file *stream)
- •2.2. Построчная работа с текстовым файлом
- •§3. Функции блокового ввода/вывода
- •3.1. Экономические задачи с использованием файлов
- •3.2. Математические задачи с использованием файлов
- •§4. Прямой (произвольный) доступ к файлу
- •4.1. Функция fseek()
- •4.2. Замена записи. Функции ftell, fgetpos, fsetpos, rewind.
- •Пример. В файл записать координаты точек плоскости. Найти две (любые) точки с наибольшим расстоянием между ними. Массив для хранения координат всех точек не использовать.
- •Упражнения, тесты.
- •Функции (дополнительные возможности)
- •§1. Функции с переменным количеством параметров.
- •§2. Указатели на функции.
- •§3. Массив указателей на функции.
- •§4. Введение в рекурсивные функции.
- •Упражнения, тесты.
- •Void Fun1 (float); void Fun2(float); void Fun3(float);
- •Лабораторная работа № 12.
- •Команды препроцессора (директивы компиляции)
- •§1. Директива define (замены в тексте)
- •Простое макроопределение (макрос)
- •Макрос с аргументами.
- •Директива #undef.
- •§2. Директива #include (включение файлов).
- •§3. Директивы условной компиляции.
- •Директива #if.
- •Директивы #ifdef и #ifndef.
- •Упражнения, тесты
- •История развития технологий программирования
- •§1. Программирование в машинных кодах и на языках символического кодирования
- •§2. Языки высокого уровня. Структурное и модульное программирование
- •§3. Интегрированные системы программирования.
- •§4. История и идеи объектно-ориентированного программирования.
- •§5. Программирование для Windows. Визуальное программирование.
- •Литература
- •Оглавление Предисловие………………………………………………………….…………………3
- •Г л а в а 4. Структуры и другие типы, определяемые пользователем.84
- •Г л а в а 6. Файлы ………………………………………………………..154
- •Г л а в а 7. Функции (дополнительные возможности) ………………190
- •Г л а в а 9. История развития технологий программирования ……220
§5. Программирование для Windows. Визуальное программирование.
С начала 90-х годов широкое распространение и развитие получила операционная система Windows (Windows 3.1, Windows 95, Windows 98, Windows 2000 и, наконец, Windows XP Professional). C появлением этой системы возникла новая технология программирования: программирование для Windows. Программы для Windows имеют иную структуру, чем те программы, которые написаны под DOS. Это определяется двумя основными причинами.
Первая связана с тем, что программа пользователя по-другому взаимодействует с системой Windows. Windows вызывает программу пользователя, а не наоборот, как это было в случае с MS DOS. Этот процесс осуществляется следующим образом. Программа ждёт, пока не получит сообщение от Windows. По отношению к программе сообщения прибывают случайным образом. Сообщение передаётся программе через специальную функцию, вызываемую Windows. После того, как сообщение получено, программа выполняется. Примером сообщения является сообщение о щелчке мыши при выборе кнопки или пункта меню. Сообщение посылается, например, когда окно программы должно быть перерисовано.
Вторая причина заключается в том, что программы для Windows должны быть написаны таким образом, чтобы был обеспечен единообразный интерфейс. Другими словами, человек, знакомый с основами системы, без предварительного обучения должен уметь выполнять приложение. Обучение требуется только для того, чтобы понять, что программа делает, а не как она взаимодействует с системой. Чтобы этого достичь, программа для Windows должна содержать ряд стандартных элементов: окна с одинаковыми элементами, различные виды меню, кнопки, окна ввода и редактирования данных и т. п.
Программирование вручную привычных для пользователя элементов, обработка событий мыши и клавиатуры, включение в программы изображений и звука требовало всё больше и больше времени программиста. Один из способов автоматизации программирования для Windows вначале был основан на использовании стандартных функций API (Application Program Interface — интерфейс прикладного программирования). Функции API вызываются по мере надобности и обеспечивают весь системный сервис Windows. При смене стиля графического интерфейса (при переходе от одной версии Windows к другой) приложения смогли автоматически приспосабливаться к новой системе без какого-либо перепрограммирования. Эта технология оказалась очень трудоёмкой, и прямое использование функций API не оправдало себя.
Революционным шагом, существенно облегчивших жизнь программистов, явилось появление визуального программирования. Оно возникло в Visual Basic. Эта система сегодня существует как самостоятельная и как встроенная в продукты Microsoft Office (Word, Excel, Access) в виде VBA (Visual Basic for Application). Эта современная технология реализована также в Visual C++ фирмы Microsoft, в системах C++Builder и Delphi фирмы Borland и в других системах..
Идея визуального программирования следующая. На форму с помощью мыши размещаются компоненты, т.е. элементы, “кирпичики”, из которых состоит приложение. Примерами компонент являются различные виды кнопок, меню, компоненты для ввода, редактирования и вывода информации, информационная строка и др. Уже во время проектирования виден результат — изображение формы и расположенных на ней компонент. Визуальная система, например, С++Builder автоматически формирует часть кода программы, включая в неё соответствующие фрагменты, описывающие данный компонент. Основная работа программиста заключается в написании обработчиков событий. Другими словами, мы должны разработать программы в виде функций, которые будут выполняться в случае возникновения тех или иных событий. Таким простейшим событием является, например, щелчок мышью по кнопке. То есть в функции мы определяем те действия, которые будут выполняться, когда во время выполнения нашего проекта мы, например, щёлкнем по кнопке мыши.
Визуальное программирование тесно связано с объектно-ориентированным программированием, так как компоненты представляют собой объекты стандартных классов со своими свойствами и методами.
Объектно-ориентированное (Borland C++ и Java) и визуальное программирование (на примере C++ Builder) будет изучено на втором курсе.