- •Введение
- •Объектно-ориентированного программирования
- •1.3. Области видимости переменных и функций в
- •1.4. Основные рекомендации для разработки программ Стиль
- •Интерфейсы
- •Отладка
- •Тестирование
- •Производительность
- •Переносимость
- •2. Лабораторная работа № 1
- •2.1. Разработка алгоритма решения задачи Последовательность разработки алгоритма решения задачи.
- •2.3. Разработка интерфейса пользователя
- •2.4. Выбор визуальных объектов для стартовой формы
- •2.5. Задание свойств объектов
- •Создание меток и текстовых окон
- •2.6. Написание кода программы
- •2.7. Сохранение проекта
- •2.8. Компиляция программы
- •2.9. Отладка и тестирование программы
- •2.10. Задания для лабораторной работы № 1
- •2.11. Контрольные вопросы
- •3. Лабораторная работа № 2
- •3.1. Теоретический материал
- •If (условие) оператор;
- •Оператор разветвления. Форма записи структуры разветвления имеет вид:
- •If (условие) оператор1;
- •Оператор с составным условием. При составлении конструкции оператора условной передачи управления могут использоваться составные условия, в которых условия соединены логическими операциями
- •3.2. Примеры решения задач
- •3.3. Задания для лабораторной работы № 2
- •3.4. Контрольные вопросы
- •4. Лабораторная работа № 3
- •4.1. Теоретические сведения
- •4.2. Задания для лабораторной работы № 3
- •4.3. Контрольные вопросы
- •5. Лабораторная работа № 4
- •5.1. Теоретические сведения.
- •5.2. Задания для самостоятельного выполнения
- •5.3. Контрольные вопросы
- •6. Лабораторная работа № 5
- •6.1. Теоретический материал
- •Strcpy (Sp, “дополнительный текст”);
- •Библиотечные функции работы со строками типа char
- •Основные функции работы со строками типа AnsiString
- •6.3. Задания для самостоятельной работы
- •6.4. Контрольные вопросы
- •7. Лабораторная работа № 6
- •7.1. Рисование по пикселям
- •7.2. Рисование с помощью пера
- •Методы вычерчивания графических примитивов с помощью пера
- •Выбор метода решения задачи
- •Алгоритм решения задачи
- •Разработка интерфейса пользователя
- •Разработка кода программы
- •7.3. Рисование геометрических фигур
- •7.4. Задания для самостоятельного выполнения
- •7.5. Контрольные вопросы
- •Заключение
- •Библиографический список
- •Математические функции
- •Константы, используемые в математических выражениях
- •Тригонометрические функции
- •Арифметические и алгебраические функции
- •Функции перерасчета градусы-радианы
- •Компьютерные технологии
- •3 94006 Воронеж, ул. 20-летия Октября,84
Переносимость
Придерживайтесь стандарта.
Следуйте основному руслу.
Избегайте неоднозначных конструкций языка.
Попробуйте несколько компиляторов.
Используйте стандартные библиотеки.
Используйте только то, что доступно везде.
Избегайте условной компиляции.
Выносите системные различия в отдельные файлы.
Прячьте системные различия за интерфейсами.
Используйте текст для обмена данными.
Используйте при обмене данными фиксированный порядок байтов.
При изменении спецификации изменяйте и имя.
Поддерживайте совместимость с существующими программами и данными.
Не рассчитывайте на ASCII.
Не ориентируйтесь только на английский язык.
2. Лабораторная работа № 1
Тема: «Изучение среды программирования C++ Builder. Программирование и отладка простейших программ».
Цель работы: Изучение среды программирования на языке C++ Builder и освоение ее основных возможностей. Изучение стандартных типов данных, выражений и операций, стандартных компонентов среды программирования и их применение для визуальной разработки программ [1].
Задачи. Разработать алгоритм и программу на языке С++ Builder решения вычислительной задачи для диапазона значений исходных данных с использованием стандартных компонентов среды программирования для разработки интерфейса пользователя.
2.1. Разработка алгоритма решения задачи Последовательность разработки алгоритма решения задачи.
Определение внешней спецификации задачи.
Пусть в результате математической формализации поставленной задачи на разработку программного средства определено, что необходимо вычислить координаты точки, делящей отрезок [a1, a2] в отношении n1:n2 по формулам:
x = (x1 + vx2) / (1 + v); y = (y1 + vy2) / (1 + v),
где v = n1 / n2; x1, y1 – координаты точки a1; x2, y2 – координаты точки a2.
Исходными данными для решения задачи являются:
– x1, y1 – координаты начальной точки и x2, y2 – координаты конечной точки, которые могут принимать как положительные, так и отрицательные целые и вещественные числа;
– значения величин n1 и n2, которые могут быть только положительными целыми либо вещественными числами.
Выходными данными являются координаты x, y точки, делящей отрезок в отношении n1/n2. Так как в формулах присутствует операция деления, то значения x и y будут вещественными числами.
В зависимости от квалификации разработчика алгоритм решения данной задачи может иметь различную структуру. В процессе обучения построим алгоритм простейшей структуры.
Для каждой конкретной зависимости, при этом, возможна своя (требуемая) степень детализации.
Алгоритм можно считать оптимальным, если степень детализации обеспечивает приемлемый объём и наглядность, а также простоту отладки при решении и удобство анализа результатов.
Так, для данной задачи определения координат x, y точки, делящей отрезок в заданном отношении, расчеты могут проводиться в следующей последовательности:
1. Рассчитываем коэффициент v: v = n1 / n2.
2. Рассчитываем значение величины b = (1 + v).
3. Рассчитываем значение координаты x по формуле:
x = (x1 + vx2) / b.
4. Рассчитываем значение координаты y по формуле:
y = (y1 + vy2) / b.
Графическое изображение алгоритма может быть представлено в виде рис. 2.1.
Рис. 2.1. Схема алгоритма решения задачи
Рис. 2.2. Страница New окна депозитария New Items
2.2. Разработка проекта на языке С++ Builder
Начать новый проект можно несколькими способами:
1. Команда New | File | Application.
2. Команда New | File | Other.
3. Кнопка быстрого вызова на панели инструментов.
При выборе этой команды открывается окно депозитария New Items, хранящее образцы компонентов, форм и проектов (рис. 2.2.).