Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
К выполнению практических (лабораторных) работСтр 1 из 9Следующая ⇒
К выполнению практических (лабораторных) работ по дисциплине___Системное программирование_______________ (индекс, название дисциплины)
для студентов ____III____ курса
специальности_09.02.03 Программирование в компьютерных системах___ (шифр, название специальности)
Донецк Порядок выполнения практической(лабораторной) работы Для выполнения всех лабораторных работ предлагается единый порядок, предусматривающий следующие шаги. 1. Ознакомиться с постановкой задачи и исходными данными. Определить вариант индивидуального задания. 2. Сконструировать структуру программы. 3. Составить текст программы и утвердить его у преподавателя. 4. Пункты 1 - 3 должны быть выполнены предварительно, до проведения данной лабораторной работы. Утверждение преподавателем текстов программ является допуском к лабораторной работе. 5. Набрать текст программы. 6. Выполнить компиляцию программы. 7. Провести анализ и исправление обнаруженных синтаксических ошибок в тексте программы и повторить пункты 3.6 и 3.7. При устранении всех синтаксических ошибок перейти к выполнению пункта 3.8. 8. Получить решение (изображение) и, в случае обнаружения логических ошибок, определить и устранить их. Продемонстрировать преподавателю окончательный вариант программы и ее работу. 9. Ввиду того, что индивидуальные задания для многих работ формулируются одинаково, различия в результатах выполнения вариантов во многом будут определяться конфигурацией рабочего места, на котором работа выполняется. Поэтому интерпретация полученных результатов является обязательным условием завершения работы.
Содержание отчета Отчет оформляется по каждой лабораторной работе и состоит из следующих разделов. 1. Тема лабораторной работы. 2. Цель работы. 3. Индивидуальное задание. 4. Описание структур данных и алгоритмов 5. Результаты работы программы. 6. Интерпретация результатов.
Лабораторная работа № 7 Тема: Получение первичных навыков работы с Borland C ++ Builder. Цель работы: Ознакомление с интерфейсом программы Borland C ++ Builder, создание нового проекта, форм и модулей данных. Литература: 1. Конспект лекций на тему: Общая структура программы Borland C++ Builder.
Цель работы: Начальное освоение визуальной среды программирования C++ Builder 6. Приобретение навыков в настройке рабочей среды C++ Builder 6, создании форм, создании, отладке и запуске простейших программ. Ход работы 1. Запустите C++ Builder 6. В результате на экране компьютера автоматически создается новая экранная форма (Form1) в новом проекте (Project1). Открытие нового проекта осуществляется выбором пункта меню File подпункта New Application. Появится окно формы, через которое осуществляется пользовательский интерфейс при выполнении программы. Точки, расположенные на форме служат для упорядочивания размещенных на ней элементов. Их можно убрать с помощью пункта меню Tools подпункт Environment Options соответствующее окно настроек и сняв флажки Display Grid на вкладке Designer.
2. Установите в окне инспектора объектов ( Object Inspector ) основные свойства ( Properties ) самой формы. Captoin – Лабораторная работа №1 (заголовок окна формы); Height – 370 (высота окна ); Width – 540 (ширины окна); Name – Form1 (имя формы). Остальные оставить по умолчанию.
3. На полученной форме разместить три панели (компонент Panel), определяющий рабочие области формы: область управления (Z), область сообщений и результатов (Y), область ввода данных (X). Выберем панель (компонент Panel на вкладке Standart ) и установим на любое свободное место формы (эту процедуру выполняем для каждой панели). В окне инспектора объектов ( Object Inspector ) установить основные свойства (Properties): - для первой панели «область управления». Align – alRight (положение панели относительно границ формы, прижимает к правому краю); BevelOuter – bvNone (внешняя рамка, нет объемности); Caption – пусто; Name – Panel_Z; Width – 150. -для второй панели «область сообщений и результатов» Align – alBottom (прижимает к нижнему краю формы); BevelOuter – bvRaised (Выпуклая внешняя рамка); Caption – Область сообщений и результатов; Font – размер 16 (размер шрифта заголовка); Name – Panel_Y; Height – 100. -для третьей панели «область ввода данных» Align – alClient (заполняет все оставшееся пространство); BevelInner – bvLowered (Вдавленная внутренняя рамка); Caption – пусто; Name – Panel_Х.
4. В области управления (Panel_Z) расположить две кнопки управления процессом решения: Выполнить и Закрыть. Кнопка «Выполнить» служит для сообщения программе о том, что в области ввода подготовлены данные и их необходимо обработать. Для создания кнопки «Выполнить» нужно выбрать компонент BitBtn – кнопка с изображением вкладки Additional. Поместить эту кнопку на панель «область управления» (Panel_Z ). Установить следующие свойства: Caption – Выполнить; Font.Size – 12 (размер шрифта); Height – 40; Kind – bkOk (определяет разновидность кнопки); Name – bbRun; Width – 140. Кнопка «Закрыть» служит для завершения работы программы. Для создания кнопки «Закрыть» выбрать новую кнопку BitBtn (кнопка с изображением вкладки Additional) и поместить ее на панель «область управления» (Panel_Z ). ). Установить следующие свойства: Caption – Закрыть; Font – 12 (размер шрифта); Height – 40; Kind – bkСlose (определяет разновидность кнопки); Name – bbClose; Width – 140. В результате ввыполнения перечисленных действий получили форму представленную на рисунке.
5. Сохранить форму в файл Project.сpp и проект в файл Unit.cpp (используем на панели инструментов кнопку или подпункт Save a ll пункта меню File ).
6. Создать программу, выводящую на панель «область сообщений и результатов» (Panel_Y) текст «Доброе утро страна» и выходящую из режима ввода по кнопке «Закрыть» Для ввода текста программы в форме дважды щелкнуть по кнопке «Выполнить». В открывшемся окне между операторными скобками ввести
void __ fastcall TForm1:: bbRunClick(TObject *Sender) {
} ввести текст PanelY-> Caption=" Доброе утро страна"; Предварительно перед этим очистить значение caption в свойствах панели Panel_Y.
Для ввода текста программы в форме дважды щелкнуть по кнопке «Закрыть». В открывшемся окне между операторами void __ fastcall TForm1:: bbCloseClick(TObject *Sender) {
} ввести текст exit;
7. По завершении ввода текста программы осуществить запуск на выполнение (клавиша F9 или команда Run пункта меню Run). В результате выполнения имеем:
Вопросы для самостоятельной работы 1. Какие окна присутствуют по умолчании на экране в момент начала работы над новым проектом в C++ Builder 6 и каковы их функции? 2. Что такое компонента, объект, форма? 3. В чем разница между свойствами Caption и Name? 4. Что означают значок «+» перед названием свойства в окне инспектора объектов и кнопка с многоточием в строке свойства? 5. Какие файлы создает C++ Builder 6 при работе с проектом? Каково их назначение? Где они сохраняются? 6. Какой алгоритмический язык используется для программирования в C++ Builder 6? Предоставить в отчете: 1. Ответы на вопросы. 2. Форму. 3. Значения устанавливаемых свойств компонентов в виде таблицы:
4. Текст программы. Контрольные вопросы: 1. Для чего предназначен Менеджер проекта? 2. Для чего предназначена Палитра компонентов? 3. Для чего предназначен Редактор форм? 4. Для чего предназначен Инспектор объектов? 5. Для чего предназначен Редактор кода? Лабораторная работа № 8 Тема: Компоненты Borland C ++ Builder и их свойства. Цель работы: Ознакомление с интерфейсом программы Borland C ++ Builder, создание нового проекта, форм и модулей данных, размещение компонентов Borland C ++ Builder и изменение их свойств.
Литература: 1. Конспект лекций на тему: Общая структура программы Borland C++ Builder. 2. Конспект лекций на тему: Основные компоненты палитры компонентов Borland C++ Builder и их свойства. Краткие теоретические сведения: Borland C++ Builder представляет собой интерпретированную систему быстрой разработки приложений. Интегрированная среда разработки Borland C++ Builder содержит инструменты быстрой разработки программных приложений и объединяет менеджер проекта, палитру компонентов, редактор форм, инспектор объектов, а также совмещенный редактор кода и отладчик. В состав визуальной библиотеки Borland C++ Builder по мимо компонентов входит большое количество типов данных, глобальных переменных и функций. Основные компоненты библиотеки представлены на инструментальной панели палитры компонентов. Порядок выполнения работы: 1. Создать проект под названием < ФИО студента> _< Номер варианта>; 2. В проекте создать две формы: 1 – Главная форма (MainForm), 2 – Подчиненная форма (SlaveForm); 3. Разместить на Главной форме кнопку и посредствам команды «Form2→ Show(); » в соответствующей функции обеспечить вызов подчиненной формы; 4. Разместить на главной и подчиненной формах компоненты из панели компонентов и установить соответствующие свойства компонентов, в соответствии с заданием; 5. Разместить на форме 2 произвольных компонента и сделать их не видимыми во время выполнения программы; 6. Компоненты назвать и заполнить данными; 7. Сохранить проект в вашу рабочую папку.
Таблица 2 – Варианты заданий
Контрольные вопросы: 1. В чем разница между визуальными и не визуальными компонентами? 2. Какие характеристики имеет каждый компонент? 3.Для чего предназначены Свойства компонента? 4. Для чего предназначены События компонента? 5. Как разбиты компоненты на палитре компонентов? Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа № 9 Лабораторная работа № 10 Функции приведения типов StrToInt(строка) — преобразование строки в целое число StrToFloat(строка) — преобразование строки в число с плавающей точкой IntToStr(целое число) — преобразование целого10-го числа в строковый тип FloatToStr(число) — преобразование значения с плавающей точкой в строковое представление IntToHex(целое число) — преобразование целого 10-го числа в 16-е
Задание.
Вычислить X и Y. Исходные данные: A = 35; B = -9; C = -4. Вывести X и Y.
Решение поставленной задачи.
Этап 1: Составление алгоритма. Этап 2. Создание формы с элементами управления.
-Все использованные компоненты расположены на странице Standart Политры компонентов.
Label1, Label2, Label3, Label4, Label5 – метки – компоненты, предназначенные для отображения текстовой информации. Эти элементы используются для подписи ввода и вывода переменных. Основное свойство для этого компонента - Caption. Edit1, Edit2, Edit3, Edit4, Edit5 – строка ввода - компонент предназначенный для ввода символьной строки. Компонент Edit использовать для ввода исходных данных и вывода результатов задания. Для улучшения внешнего вида задать свойство Text - очистить. Button1, Batton2 – кнопки – компоненты, предназначенные для формирования события при нажатии на нее. Основное свойство для этого компонента - Caption.
Этап 3. Написание обработок событий
В созданной пользовательской форме две кнопки, следовательно, к каждой из этих кнопок необходимо написать процедуру обработки ее нажатия. Для этого в режиме добавления элементов управления щелкнуть дважды мышкой по соответствующей кнопке.
Для кнопки «Выход» необходимо: 1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано: void __fastcall TForm1:: Button2Click(TObject *Sender) {
} 2. Написать код процедуры выхода, что происходит командой Сlose(), т.е. код программы имеет вид: void __fastcall TForm1:: Button2Click(TObject *Sender) { Сlose(); } Для кнопки «Выполнить» необходимо: 1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано: void __fastcall TForm1:: Button1Click(TObject *Sender) {
}
2. Написать код процедуры согласно составленной блок-схеме, т.е. код программы примет вид: void __fastcall TForm1:: Button1Click(TObject *Sender) { float a, b, c; float x, y; a=35; b=-9; c=-4; x=a*(b+c)*abs(a*b*c-pow(abs(b), 3)); y=(a+b*x)/abs(b*x)+(pow(c, 3)-50); TextX-> Text=FormatFloat(" 0, 000", x); TextY-> Text=FormatFloat(" 0, 000", y); } Помимо указанных выше процедур необходимо в заголовок файла добавить необходимые библиотеки. Сюда могут помещаться дополнительные директивы препроцессора (в частности, include), не включаемые в файл автоматически
#include < vcl.h> #pragma hdrstop
#include " Unit1.h" //---------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" #include < math.h> //подключение библиотеки математических функций TForm1 *Form1;
Этап 4. Запуск программы, получение и проверка результатов
1.Для запуска программы необходимо нажать кнопку Run. 2. В появившейся форме нажать кнопку Вычислить, при этом значения X и Y будут введены в соответствующие текстовые поля TextX и TextY.
Таблица 4 – Варианты заданий
Контрольные вопросы: 1. Какая общая структура объявления переменной? 2. Какие характеристики имеет каждый компонент? 3. Какие команды позволяют производить преобразование типов? 4. Какие типы данных используются в данной работе и почему?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта. Лабораторная работа № 11 Тема: Условные операторы. Таблица 5 – Варианты заданий
Контрольные вопросы: 1. Какая общая структура объявления условного оператора if? 2. Какая общая структура объявления условного оператора switch? 3. В чем разница между switch и if? 4. В каких случаях используются сокращенные условные операторы?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа № 1 2 Тема: Операторы цикла. Цель работы: Ознакомление с операторами цикла в Borland C ++ Builder.
Литература: 1. Конспект лекций на тему: Основные компоненты палитры компонентов Borland C++ Builder и их свойства. 2. Конспект лекций на тему: Операторы цикла. 3. Глушаков С.В., Коваль А.Б. Язык программирования C - Учебный курс – 2001, с. 43-52. 4. Павловська Т.О. Программирование на языке высокого уровня - Учебник для вузов, СПб.: Пітер, 2003, с. 44-49.
Краткие теоретические сведения: Borland C++ Builder представляет собой интерпретированную систему быстрой разработки приложений. Начальное значение обычно используется для установления начального значения переменных, управляющих циклом. Условие окончания цикла - это выражение, определяющее условие, при котором тело цикла будет выполняться. Изменение переменной определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла. Формат операторов цикла: 1. for (< начальное значение>; < условие окончания цикла> ; < изменение переменной> ) тело цикла; 2. < начальные условия> while (< условие окончания цикла> ) { < тело цикла> < изменение переменной> }; 3. do { < тело цикла> < изменение переменной> } while (< условие окончания цикла> ); ложным.
10 Простейший пример для вычисления конечной суммы s = å i
i =1
проиллюстрирует использование оператора for:
int s = 0;
for (int i = 1; i < = 10; i++) s += i;
Возможно наличие пустого оператора (отсутствие оператора) в теле цикла. Так, сумму из предыдущего примера можно вычислить иначе:
for (int s = 0, i = 1; i < = 10; s += i++);
Порядок выполнения работы: 1. Создать проект под названием < ФИО студента> _< Номер варианта>; 2. В проекте создать две формы: 1 – Главная форма (MainForm), 2 – Подчиненная форма (SlaveForm); 3. Разместить на Главной форме кнопку и посредствам команды «Form2→ Show(); » в соответствующей функции обеспечить вызов подчиненной формы; 4. Разместить на подчиненной форме компоненты: Edit 2 Label-для вводимых значений, компоненты Edit и Label-для ввода констант Button(для запуска и очистки проекта), Memo для вводимых значений массивов из панели компонентов и установить соответствующие свойства компонентов; С помощью компонента Memo можно вводить массивы, как в процессе выполнения программы, так и при конструировании формы проекта через окно свойств Lines (для перехода к новой строке при вводе значений следует нажать клавишу < Enter > ). Пример фрагмента программы ввода значений элементов одномерного массива А (в каждой строке по одному числу): for(i=0; i< =9; i++) A[i]=StrToFloat(Memo1-> Lines-> Strings[i]);
5. Компоненты назвать и заполнить данными; 6. Разработать программу для решения задачи в соответствии с индивидуальным заданием. В соответствии с таблицей объявить необходимые переменные. Суммы и произведения выводить отдельно. 7. Сохранить проект в вашу рабочую папку.
ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЕ. Вычислить , где A=5, K=15, H=0, 2. Решение поставленной задачи. Этап 1: Составление алгоритма. Этап 2. Создание формы с элементами управления
В этом примере, используются уже известные компоненты: Label, Edit, Button(вкладка Standart ):
3. Написание обработок событий
В созданной пользовательской форме три кнопки, следовательно, к каждой из этих кнопок необходимо написать процедуру обработки ее нажатия. Для этого в режиме добавления элементов управления щелкнуть дважды мышкой по соответствующей кнопке.
Для кнопки «Выход» необходимо: 1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано: void __fastcall TForm1:: Button3Click(TObject *Sender) {
} 2. Написать код процедуры выхода, что происходит командой Сlose(), т.е. код программы имеет вид: void __fastcall TForm1:: Button3Click(TObject *Sender) { Сlose(); }
Для кнопки «Очистка» необходимо: 1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано: void __fastcall TForm1:: Button1Click(TObject *Sender) {
} 2. Написать код процедуры очистки, т.е. код программы имеет вид:
void __fastcall TForm1:: Button1Click(TObject *Sender) { Edit1-> Text=" "; }
Для кнопки «Выполнить» необходимо: 1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано:
void __fastcall TForm1:: Button2Click(TObject *Sender) {
}
2. Написать код процедуры согласно составленной блок-схеме, т.е. код программы примет вид:
void __fastcall TForm1:: Button2Click(TObject *Sender) { int i; float a, k, S, H, Y; a=5; k=15; H=0.2; // начальные условия S=0; i=1; while (i< =k) { S=S+(a+H*H)*i/(i+1); i=i++; } Y=H/8*S; Edit1-> Text=FloatToStr(Y); }
Помимо указанных выше процедур необходимо в заголовок файла добавить необходимые библиотеки. Сюда могут помещаться дополнительные директивы препроцессора (в частности, include), не включаемые в файл автоматически.
#include < vcl.h> #pragma hdrstop
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" #include < math.h> // подключение библиотеки математических функций TForm1 *Form1;
Этап 4. Запуск программы, получение и проверка результатов
1.Для запуска программы необходимо нажать кнопку Run (F9). 2. В появившейся форме нажать Вычислить, при этом значение Y будет выведено в соответствующие текстовое поля Edit1.
Варианты заданий Вариант№ 1
задать самостоятельно. Вариант № 2 Вычислить значение выражения: задать самостоятельно.
Вариант № 3 Вычислить значение выражения: задать самостоятельно.
Вариант № 4 Вычислить значение выражения: задать самостоятельно.
Вариант № 5 Вычислить значение выражения: задать самостоятельно.
Вариант № 6 Вычислить значение выражения: задать самостоятельно. Вариант № 7 Вычислить значение выражения: задать самостоятельно. Вариант № 8 Вычислить значение выражения: задать самостоятельно. Вариант № 9 Вычислить значение выражения: задать самостоятельно. Вариант № 10 Вычислить значение выражения: задать самостоятельно. Вариант № 11 Вычислить значение выражения: задать самостоятельно. Вариант №12 Вычислить значение выражения: задать самостоятельно.
Вариант № 13 Вычислить значение выражения: задать самостоятельно. Вариант № 14 Вычислить значение выражения: задать самостоятельно. Вариант № 15 Вычислить значение выражения: задать самостоятельно. Вариант № 16 Вычислить значение выражения: задать самостоятельно. Вариант № 17 Вычислить значение выражения: задать самостоятельно. Вариант № 18 Вычислить значение выражения: задать самостоятельно. Вариант № 19 Вычислить значение выражения: задать самостоятельно. Вариант № 20 Вычислить значение выражения: задать самостоятельно. Вариант № 21 Вычислить значение выражения: задать самостоятельно. Вариант № 22 Вычислить значение выражения: задать самостоятельно. Вариант № 23 Вычислить значение выражения: задать самостоятельно. Вариант № 24 Вычислить значение выражения: задать самостоятельно.
Вариант № 25 Вычислить значение выражения: задать самостоятельно. Контрольные вопросы: 1. Из каких четырех основных блоков состоит любой оператор цикла? 2. Какая общая структура объявления оператора цикла For? 3. Какая общая структура объявления оператора цикла While? 4. Какая общая структура объявления оператора цикла Do-while?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа № 1 3 Тема: Массивы. Цель работы: Ознакомление с массивами в Borland C ++ Builder.
Литература: 1. Глушаков С.В., Коваль А.Б. Язык программирования C - Учебный курс – 2001, с. 114-122. 2. Павловська Т.О. Программирование на языке высокого уровня - Учебник для вузов, СПб.: Пітер, 2003, с. 58-65. Краткие теоретические сведения: Borland C++ Builder представляет собой интерпретированную систему быстрой разработки приложений. Массивы - это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве. Для объявления массивов (одномерных или многомерных) используется такая структура: < тип переменных> < имя массива переменных> [размер] ([размер] … [размер]);
Порядок выполнения работы: 1. Создать проект под названием < ФИО студента> _< Номер варианта>; 2. В проекте создать две формы: 1 – Главная форма (MainForm), 2 – Подчиненная форма (SlaveForm); 3. Разместить на Главной форме кнопку и посредствам команды «Form2→ Show(); » в соответствующей функции обеспечить вызов подчиненной формы; 4. разместить объекты, задать им необходимые свойства: - объект Label1, свойство Caption → одномерный массив - объект StringGrid1 (страница Addition) свойства ColCount → 10 (количество столбцов) RowСount → 1 (количество строк); - объект Button1 для запуска проекта, свойство Caption → вычислить - объект Label2, свойство Caption → свойство по вашему заданию - объект Label3 для вывода результата 6. Компоненты назвать и заполнить данными; 7. Разработать программу для объявления массива на 10 элементов и для решения задачи в соответствии с индивидуальным заданием. В соответствии с таблицей объявить необходимые переменные. 8. Сохранить проект в вашу рабочую папку. **Выводить значения массивов можно в файл или на форму, используя разнообразные компоненты С++ Builder. При этом выводить значения элементов массивов можно только поэлементно, для чего следует организовывать циклы с изменением значений индексов. Организация вывода массивов в файл будет рассмотрена в лекциях четвертого модуля. Здесь рассмотрим организацию вывода одномерных массивов на форму с помощью компонентов Edit, Label, Memo, ListBox и функции ShowMessage. В последующих примерах будут использованы следующие переменные: float A[10]; int i; AnsiString st; 1 Вывод в Edit В компонент Edit можно выводить одномерные массивы, отделяя элементы пробелами (" " ) или другим символом. Количество элементов массива, которые можно увидеть, ограничено длиной компонента Edit на форме. Пример фрагмента программы вывода массива А: st = " " ; // очистка строки st for(i=0; i< =9; i++) // начало цикла по индексам массива { st += FormatFloat(" 0.00", A[i])+" "; } // накапливание в строке значений массива Edit1-> Text=st; // вывод в компонент Edit1 сформированной строки 2 Вывод в Label В компонент Label можно выводить массивы, отделяя элементы пробелами (" " ) или символами перехода к новой строке (" \13" ). Вывод одномерного массива в строку организовывают по тем же правилам, что и в компонент Edit, только в программе вместо Edit1.Text следует указать Label1-> Caption ( например Label1-> Caption=st; ). Для вывода одномерного массива в столбец следует свойство WordWrap компонента Label установить True вместо False. 3 Вывод в окно сообщений Вывод в окно сообщений с помощью функции ShowMessage организовывают так же, как и для Edit или Label, только вместо оператора присвоения следует записать оператор вызова процедуры. Например, вместо оператора Edit1-> Text = st; надо записать ShowMessage(st); 4 Вывод в Memo В многострочный компонент Memo можно выводить массивы с любым количеством элементов, поскольку возможно использование полос прокрутки (указав свойству ScrollBars значение ssBoth или ssVertical ). Основное свойство Lines содержит все строки компонента. Пример фрагмента программы вывода массива А (в столбец): Memo1-> Clear(); // очистка компонента for(i = 0; i < = 9; i++) // начало цикла по индексам массива Memo1-> Lines-> Add(FormatFloat(" 0.00", A[i])); // вывод одного элемента массива 5 Вывод в ListBox Вывод массивов с помощью компонента ListBox организовывают так же, как и с компонентом Memo, только вместо Memo следует указать компонент ListBox. Основное свойство Items содержит все строки списка. Например, вместо оператора Memo1-> Lines-> Add(FormatFloat(" 0.00", A[i])); следует записать ListBox1-> Items-> Add(FormatFloat(" 0.00", A[i])); Ввод элементов одномерного массива
Вводить значения массивов можно используя такие компоненты С++ Builder, как Memo, ListBox, Edit. Как и при выводе массивов, при вводе следует организовывать циклы изменения значений индекса. 1 Ввод из окна Memo С помощью компонента Memo можно вводить массивы, как в процессе выполнения программы, так и при конструировании формы проекта через окно свойств Lines (для перехода к новой строке при вводе значений следует нажать клавишу < Enter > ). Пример фрагмента программы ввода значений элементов одномерного массива А (в каждой строке по одному числу): for(i=0; i< =9; i++) A[i]=StrToFloat(Memo1-> Lines-> Strings[i]); 2 Ввод из ListBox С помощью компонента ListBox можно вводить массивы так же, как и в компонент Memo, только вместо свойства Lines надо использовать свойство Items. 3 Ввод из Edit Ввод элементов одномерного массива с помощью компонента Edit (в одну строку через пробел) требует создания специальной функции для ввода строки и преобразования ее в массив величин другого типа. Такая функция будет рассмотрена при изучении работы со строками.
Таблица 6– Варианты заданий Заполнить одномерный массив целыми случайными числами из диапазона [-20; 20] размерностью 10
Контрольные вопросы: 1. Какая общая структура объявления массива? 2. Какая максимальная размерность массива? 3. Как обратится к значению массива? 4. Как хранятся многомерные массивы в памяти?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа № 1 4 Тема: Функции. Цель работы: Ознакомление с функциями в Borland C ++ Builder.
Литература: 1. Глушаков С.В., Коваль А.Б. Язык программирования C - Учебный курс – 2001, с. 52-82. 2. Павловська Т.О. Программирование на языке высокого уровня - Учебник для вузов, СПб.: Пітер, 2003, с. 73-83.
Краткие теоретические сведения: Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы, называемые телом функции, и определяющие действие функции:
Тип_данных имя_функции ( формальные параметры ) { /* Описание локальных переменных */ тип_данных локальная_переменная_1; ........... тип_данных локальная_переменная_n;
/* Тело функции */ ........... }
Тип_данных функции задает тип возвращаемого значения и может задавать любой тип. Если Тип_данных не задан, то предполагается, что функция возвращает значение типа int. Если функция не возвращает значения (т. е. возвращает void), то она служит для того, чтобы изменять свои параметры (вызывать побочный эффект) или глобальные для функции переменные. Определение функции состоит из ее заголовка и собственно тела, заключенного в фигурные скобки и несущего смысловую нагрузку. Если функция возвращает значение, то в теле функции обязательно должен присутствовать оператор return с параметром того же типа, что и возвращаемое значение.
Порядок выполнения работы: 1. Создать проект под названием < ФИО студента> _< Номер варианта>; 2. В проекте создать две формы: 1 – Главная форма (MainForm), 2 – Подчиненная форма (SlaveForm); 3. Разместить на Главной форме кнопку и посредствам команды «Form2→ Show(); » в соответствующей функции обеспечить вызов подчиненной формы; 4. Разместить на главной и подчиненный формах необходимые компоненты из панели компонентов и установить соответствующие свойства компонентов; 5. Компоненты назвать и заполнить данными; 6. Разработать программу, в которой необходимо: А) Объявить три одномерных массива А, В, С произвольной длины; Б) Создать функцию, которая в соответствии с индивидуальным заданием определит необходимые значения; В) Результаты работы программы вывести на форму. 7. Сохранить проект в вашу рабочую папку.
Таблица 7 – Варианты заданий
Контрольные вопросы: 1. Какая общая структура объявления функции? 2. Для чего используются функции? 3. Как вызвать функцию в основной программе? 4. Какой тип позволяет не получать результат из функции?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа №1 5 Таблица 9 – Варианты заданий
Контрольные вопросы: 1. Для чего используется компонент Chart? 2. Какой командой выводятся точки в компонент Chart? 3. Какая команда очищает компонент Chart? Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа №1 6 Таблица 10 – Варианты заданий
Контрольные вопросы: 1. Для чего используется системные сообщения? 2. Какой командой можно изменять действия программы, используя системные сообщения? 3. Как системные сообщения могут действовать на программу?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа №1 7 Таблица 11 – Варианты заданий
Контрольные вопросы: 1. Для чего используется системные сообщения? 2. Какой командой можно изменять действия программы, используя системные сообщения? 3. Как системные сообщения могут действовать на программу?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
Лабораторная работа №1 8 Таблица 12 – Варианты заданий
Контрольные вопросы: 1. Что задает параметр для функции MessageBeep? 2. Что задают параметры для функции Beep? 3. В каких единицах измерения задается частота? 4. В каких единицах измерения задается продолжительность звука?
Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта. Контрольные вопросы: 1. Что задает параметр для функции MessageBeep? 2. Что задают параметры для функции Beep? 3. В каких единицах измерения задается частота? 4. В каких единицах измерения задается продолжительность звука? Содержание отчета: 1. Отчеты по лабораторным работам должны включать: · Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта; · Условие задания; · Листинги программы (если необходимо); 2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.
к выполнению практических (лабораторных) работ по дисциплине___Системное программирование_______________ (индекс, название дисциплины)
для студентов ____III____ курса
специальности_09.02.03 Программирование в компьютерных системах___ (шифр, название специальности)
Донецк |
Последнее изменение этой страницы: 2019-05-04; Просмотров: 195; Нарушение авторского права страницы