- •Глава 2 36
- •1 Задание 1 62
- •Лабораторная работа №1
- •Краткие теоретические сведения
- •1.1Создание консольного приложения
- •1.2Отладка программы
- •1.2.1Установка точек останова (Add breakpoint)
- •2.2Идентификаторы
- •2.3Ключевые слова
- •2.4Знаки операций
- •2.5Константы
- •2.6Комментарии
- •2.7.1Понятие типа данных
- •2.7.2Основные типы данных
- •2.7.3Целый тип (int).
- •2.7.4Символьный тип (char).
- •2.7.5Логический тип (bool).
- •2.7.6Вещественный тип (float, double и long double).
- •2.8Переменные
- •2.9Функции и объекты ввода/вывода
- •2.9.1Основные функции ввода/вывода в стиле с:
- •2.10Операции
- •2.10.2Операция определения размера sizeof
- •2.10.4Деление (/) и остаток от деления (%).
- •2.10.8Логические операции (&& и ||).
- •2.10.10 Условная операция (?:).
- •2.11Выражения
- •2.11.1Преобразование типов в выражении.
- •Задание к лабораторной работе №1
- •Контрольные вопросы к лабораторной работе №1
- •1.1Оператор «выражение»
- •1.2Операторы ветвления
- •1.2.1Условный оператор if... Else
- •1.2.2Об условиях в операторе if
- •1.2.3Оператор выбора switch
- •1.3Операторы передачи управления
- •1.3.1Оператор goto
- •1.3.2Оператор break
- •2 Тестирование программ
- •Домашнее Задание
- •Задание к лабораторной работе №2
- •1Задание 1
- •2Задание 2
- •Содержание отчета
- •2Операторы цикла
- •2.1Цикл с предусловием (while)
- •2.2Цикл с постусловием (do … while)
- •2.3Цикл с параметром for
- •3Дополнительные операторы передачи управления
- •3.1Оператор break
- •3.2Оператор continue
- •4Вложенные циклы
- •Домашнее Задание
- •Задание к лабораторной работе №3
- •1Задание 1
- •2Задание 2
- •Содержание отчета
- •Контрольные вопросы к лабораторной работе №3
- •4Программа пузырьковой сортировки
- •Домашнее Задание
- •Задание к лабораторной работе №4
- •Содержание отчета
- •Контрольные вопросы к лабораторной работе №4
- •0 Строка
- •1 Строка
- •5 Строка
- •2Ввод и вывод многомерных массивов
- •Домашнее Задание
- •Задание к лабораторной работе №5
- •4Ссылки
- •5Динамическое распределение памяти
- •5.1Использование стандартных функций malloc и free
- •5.2Использование операторов new и delete
- •Домашнее Задание
- •Задание к лабораторной работе № 6
- •Содержание отчета
- •Контрольные вопросы к лабораторной работе №6
- •Лабораторная работа №7 отладка программы краткие теоретические сведения
- •6Отладочные пункты меню
- •7Элементы отладки
- •7.1Контрольные точки
- •7.1.1Контрольные точки в исходном коде
- •7.1.2Адресные контрольные точки
- •7.1.3Контрольные точки данных
- •7.2Команда Run to Cursor
- •7.3Команда Pause
- •8Наблюдение за переменными
- •8.1Быстрый просмотр данных
- •9Инспектор отладки
- •9.1Инспекция локальных переменных
- •10Другие инструменты отладки
- •10.1Диалог Evaluate/Modify
- •10.2Окно cpu
- •10.3Стек вызовов
- •10.4Команда Go to Address
- •10.5Команда Program Reset
- •Задание на лабораторную работу №7
- •Контрольные вопросы к лабораторной работе №7
- •Приложение I
- •Приложение II Блоки схем алгоритмов согласно гост 19.002 – 80 и 19.003 – 80
- •Приложение III Оформление алгоритма программы в виде блок-схемы
- •Приложение IV Базовая программа для выполнения лабораторных работ
- •Приложение V
- •Приложение VI
- •Список используемых источников
Лабораторная работа №1
Основы работы в среде C++ Builder. Основы языка Си
Краткие теоретические сведения
1Основы работы в среде C++Builder
1.1Создание консольного приложения
Запустите любым способом C++Builder, если он еще не запущен. Выберите пункт меню File>New. В окне диалога New Items на вкладке New выберите «иконку» Console Wizard – мастер консольного приложения. В появившемся окне диалога установите «радиокнопку» C++ и «флажок» Console Application. Остальные флажки сбросьте, если они установлены. Нажмите кнопку OK. Мастер создал минимальное (пустое) консольное приложение. C++Builder готов к работе. Каждое из окон, которые Вы видите на экране, имеют определенное назначение. В верхней части экрана находится главное окно. Оно содержит меню, панель управления, панель с палитрой компонентов и предназначено для управления разработкой программ. Ниже слева находится инспектор объектов (Object Inspector), который используется, если программа пишется в стиле объектно-ориентированного программирования. Пока это окно не будет использоваться, поэтому закройте его щелчком мыши на кнопке . Оставшееся окно – редактор кода. Оно состоит из двух стыкованных окон. Первое – обозреватель классов находится слева. Как и инспектор объектов, оно не используется. Закройте его. Второе окно – редактор исходного кода программы. Для удобства работы его следует расширить щелчком мыши на кнопке . В результате интегрированная среда разработки программ С++Builder приобретает вид изображенный на рис. 1.1.
Исходный код программы на языке Си вводится как дополнение к минимальной программе, созданной мастером консольного приложения. Как сделать дополнение поясняет пример первой программы, приведенной на рис. 1.2. Введите эту программу в редактор, используя электронный файл (документ Word) с текстом программы и следуя рекомендациям раздела 1.2.2. После ввода вполне возможно неправильное воспроизведение русских букв. Для правильного воспроизведения следует установить шрифт редактора: меню Tools>Editors Options…>Display Editor Font: Courier New Cyr.
Чтобы запустить введенную программу следует нажать кнопку с зеленым треугольником на панели управления. С++Builder предложит задать имя программы, если оно еще не задано. Первым вводится имя модуля программы (Unit). Лучше ввести уникальное имя, например, U_katia_lab1. Во втором окне диалога введите имя проекта, например, Pr_ katia_lab1. После запуска программы на экране появляется окно консоли (рис.1.3).
По сути, запускается программа Pr_ katia_lab1. exe, которая может быть зависимой и независимой от среды разработки (см. лабораторную работу №5), но C++Builder – интегрированная среда и позволяет выполнять все операции по созданию программы, в том числе проверять программу в работе и производить поиск ошибок программирования. Последний процесс называется отладкой программы и требует знания соответствующей системы управления.
Рис. 1.1 Среда разработки C++Builder
//---------------------------------------------------------------------------
#pragma hdrstop //эта директива имеет спец. назначение
//ее не следует удалять
//---------------------------------------------------------------------------
//здесь подключаются библиотеки, например
//
#include <conio.h> //библиотека подключения функции getch()
#include <iostream.h> //библиотека для cin и cout
#include <malloc.h> //библиотека для динамического выделения памяти
#include <fstream.h> //библиотека для ввода/вывода в файл
#include <windows.h> //библиотека используется в функции RUS
#include <math.h> //библиотека математических функций
#include <ctype.h> // библиотека проверки принадлежности символов
#include <stdlib.h> // библиотека некоторых стандартных функций
#include <string.h> // библиотека функций работы со строками
//
char bufRus[256]; //глобальная переменная bufRus используется
// в функции RUS
//---------------------------------------------------------------------------
char* RUS(const char*text) //функция поддержки русского языка
{
CharToOem(text,bufRus);
return bufRus;
}
//---------------------------------------------------------------------------
#pragma argsused //эта директива имеет спец. назначение
//ее не следует удалять
int main(int argc, char* argv[])
{
cout<<RUS("***Напишите здесь название программы*** \n");
//****************************************************
//Здесь введите свою программу, например:
cout<<"Hello World from Console !\n";
cout<<RUS("Привет Всем из Консоли !\n");
//****************************************************
cout<<RUS("\nНажмите любую клавишу для завершения программы ...\n");
getch();//консольное окно ожидает нажатия клавиши
return 0;
}
//---------------------------------------------------------------------------
Рис. 1.2 Язык Си. Пример первой программы
Рис. 1.3 Окно консоли программы с именем – Pr_ katia_lab1.exe
Данная программа является базовой для написания собственных программ с использованием русского языка. Она содержит подключение наиболее широко используемых библиотек и поэтому, частично, снимает эффект неопытности программиста.