- •5В070300 «Информационные системы»
- •Введение
- •Содержание отчета
- •Лабораторная работа № 1
- •1 Порядок выполнения лабораторной работы:
- •Постановка задачи
- •Методические указания
- •2 . Пример
- •1 Содержание работы
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Пример
- •Лабораторная работа № 2
- •Лабораторная работа№ 3
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Часть вторая: Оператор выбора
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Группа а Таблица 7
- •Группа в
- •2. Примеры
- •Лабораторная работа№ 4
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2 Примеры
- •For (выражение1; выражение2;выражение3) {операторы; }
- •Лабораторная работа№ 5
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Примеры
- •3. Сортировка элементов массива
- •Сортировка выбором
- •3.2. Сортировка вставкой
- •3.3. Сортировка методом прямого выбора
- •3.4. Сортировка методом обмена
- •4. Указатели и одномерные массивы
- •Лаборатоная работа № 6
- •1 Порядок выполнения лабораторной работы:
- •2. Методические указания
- •3. Указатели и двумерные массивы
- •Лабораторная работа № 7
- •1 Порядок выполнения лабораторной работы:
- •Задание на строки
- •2.Краткие теоретические сведения
- •Лаборатоная работа № 8
- •1 Порядок выполнения лабораторной работы:
- •2. Теоретические сведения
- •Год рождения – 1978
- •Лабораторная работа № 9
- •1 Порядок выполнения лабораторной работы:
- •2. Примеры
- •Лабораторная работа № 10
- •1 Порядок выполнения лабораторной работы:
- •1.3. Задание для выполнения
- •2. Примеры
- •Лабораторная работа № 11
- •1 Порядок выполнения лабораторной работы:
- •1.3. Задание для выполнения
- •Лабораторная работа № 12
- •1 Порядок выполнения лабораторной работы:
- •2. Краткие теоретические сведения Объектно-ориентированный подход
- •Сущности и Объекты
- •Система типов
- •Инкапсуляция
- •Пример класса
- •Создание объектов. Конструкторы и деструктор
- •Наследование
- •Перегрузка функций
- •Полиморфизм
- •Функции-друзья
- •Абстрактные классы
- •Дополнительные возможности
- •Индивидуальные задания
- •2.1. Пример решения задания
- •Int windForce; // Сила ветра в баллах
- •Int startHeight; // Начальная высота
- •Int fuel; // Запас топлива
- •Результат выполнения программы:
- •Разновидности списков
- •Контрольные вопросы
- •Задание
- •Литература
- •Лабораторная работа № 9 Тема: Множества в Паскале.
- •Общие сведения
- •Лабораторная работа № 8 Тема: Применение записей в составлении программ.
- •Теоретические сведения
- •Задание
- •Контрольные вопросы.
- •Литература.
- •Список использованной литературы
Лабораторная работа № 2
Тема лабораторной работы: знакомство со средой Си++Builder, линейные вычислительные процессы и простейшие типы
Цель работы: освоение простейшей структуры программы, изучение порядка действий при вычислении выражений; получение навыков построения простейших форм приложений по вводу-выводу данных.
1 Содержание работы
Составить блок-схему и написать программу решения задач согласно варианту.
Вывести на печать 5 вариантов исходных данных и результатов выполнения программы.
Знакомство с компонентами Label, Edit, Button, Memo квладки Standard среды Си++Builder, bспользование их в программе
1 Порядок выполнения лабораторной работы:
Изучить теоретический материал, соответствующий теме лабораторной работы.
Ответить на следующие вопросы:
из скольких разделов состоит программа, созданная в среде Си++Builder?
Что такое свойства компонента?
Какие свойства компонента Label использовали?
Какие свойства компонента Form использовали?
Какие свойства компонентов Edit, Button, Memo использовали?
Что такое событие, какие события использовали в программе?
Что такое методы компонентов?
Основные окна Си++Builder,назовите их особенности.
С помощью какой команды или функциональной клавиши вызывается на экран Инспектор объектов?
С помощью какой команды или функциональной клавиши производится только компиляция проекта?
С помощью какой команды или функциональной клавиши производится выполнение проекта по шагам?
Какое расширение у файла проекта Project?
Какова структура заголовочного файла?
Какова структура файла реализации?
Укажите правильное описание констант:
а) const min=0;
b) const min=0,5;
c) const min=0.5, max=10;
d) const int min =0;
e) const int min, max: =0;
f)const double Pi = 3.14159265;
Какие операции определены над данными целого типа? Приведите примеры.
Какие записи являются неправильными и почему?
а) 'А' < 'С'; б) '1' > '9'; в) FALSE < TRUE;
г) 'А' < 'B' & 1 < 2; д) '0' != '9';
е) ('D' > 'G') AND ( 1 < 2 ).
Определите тип результата выражения:
а) i * i + g * g + 2 * k / 2; б) sin(x) + 2 * cos(x) + z;
в) x < y; г) i+sqrt(j).
Какие из операторов присваивания являются неверными?
а) x = y + sin(sin(z)); б) x = i + j - b;
в) a = ( x < y ) || b & (i<>k); г) i = i + k / j;
Если i ,j ,k - целые числа.
Вычислить значение выражения, если
A = 2.5; B = 7.8; C = -17.3; M = 5; X = 8.7; E = TRUE ;
а) ( A+B ) /C * M
б) 2 + X / ( X + ( A+B )/5)
в) ( A<B ) & ( X + A<B ) || ( C<M ) || E
Задание
Задание приведено таблице 2 и3 лабораторной работы №1. Для решения задачи в среде Си++Builder необходимо вначале ознакомиться с компонентами Label, Edit, Button, Memo вкладки Standard.
2. Пример
Пример
2.1 вычислить
арифметическое выражение
,
если переменные имеют следующие значения
а=2,3 и b=4 .
Решение задачи: 1. Алгоритм решения задачи представляем на блок-схеме. Алгоритм - линейный (Рисунок-3).
2
.
На форму из палитры компонентов вкладки
Standard среды Си++Builder установить следующие
компоненты: три - Label,
два - Edit,
два – Button,
задаем свойства (Рисунок-5. Обратите
внимание на таблицы 3 и 4). Для компоненты
Form1
установить
BorderStyle – формат
формы, Width
– ширину
формы;
Height -
высоту.
Для компонентов
Label установить
свойства Caption,
Left, Top,
для двух командных кнопок Button
– в
свойстве
Caption отразить
выполняемые действия.
Поле Edit
предназначено
для ввода значений переменных, поэтому
необходимо его свойство
Text очистить.
Для этих целей можно воспользоваться
возможностями страницы Properties окна
инспектора объектов (Object Inspector) Си++Builder.
7-м Рисунке Button1
компонентінің
Свойстван тағайындау және оның оқиғасын
таңдау сәті бейнеленген. Осы амалды
басқа да компоненттердің Свойстван
тағайындауға қолдану керек.
Таблица 4 Свойства компонента Form1
Компонент |
Свойства |
Значение |
Form1 |
BorderStyle |
bsSizeable |
Caption |
Лабораторная_работа№2 |
|
Width |
270 |
|
Height |
196 |
Таблица 5 Свойства компонентов Label, Edit, Button
Компонент |
Caption |
Text |
Left |
Top |
Label1 |
a |
|
24 |
24 |
Label2 |
b |
|
24 |
56 |
Label3 |
- |
|
24 |
96 |
Edit1 |
|
- |
104 |
24 |
Edit2 |
|
- |
104 |
56 |
Button1 |
Вычислить |
|
|
|
Button2 |
Очистить |
|
|
|
3. Для использования математических функций необходимо подключить файл math.h с помощью директивы препроцессора #include <math.h>.
4. Для вычисления выражения поставленной задачи вызываем событие OnClick компоненты Button1: имя метода состоит из имени компоненты и имени события Button1+Click=Button1Click
void __fastcall TForm1::Button1Click(Sender: TObject);
5. Необходимо объявить переменные, согласно заданию: b - целое, a - вещественное, результат y – число вещественного типа: int b; double a,y;
6. Считывание данных :
a=StrToFloat(Edit1.Text); //перевод строкового типа данных в вещественные
b=StrToInt(Edit2.Text);
7. Принимая во внимание правило записи арифметических выражений, вычисляем значение переменной у:
y= pow(a,b)sqrt(а*a+b*b)-3*abs(b);
8. Для вывода результатов вычислений , используем ствойство Caption компоненты Label3 :
Label3->Caption=”Результат вычисления y= ”+FloatToStrF (y,ffFixed,5,2);
9.
С помощью функциональной клавишы F12
или
кнопки
панели иснтрументов переходим с окна
кода редактора программы на окно формы
.
10. Теперь редактируем событие кнопки Button2:
void __fastcall TForm1::Button2Click(Sender: TObject);
11. Для обновления данных в поле компоненты Edit необходимо с помощью функции Clear () очистить его:
Edit1->Clear(); Edit2->Clear();
12. Повторяем пункт 9.
13. При сохранении проекта с помощью команды FileSave Project As основного меню среда Си++Builder предлагает два диалоговых окна: Save Unit As – сохранение модуля ; Save Project As – сохранение проекта. В обоих окнах в поле Имя файла необходимо ввести имена модуля и проекта.
14.
С помощью функциональной клавиши F9
или кнопки
панели инструментов произвести компиляцию
проекта.
15. Ввести значения переменных в поле компонентов Edit1, Edit2 (Рисунок-5).
16. Текст программы:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ double a,b,y;
a=StrToFloat(Edit1->Text); //Edit1 орісіне накты сан усыну
b=StrToInt(Edit2->Text); //Edit2 орісіне бyтін сан yсыну№
y= pow(a,b)+sqrt(a*a+b*b)-3*abs(b);
Label3->Caption="Результат вычисления Y= " + FloatToStrF(y,ffFixed,5,2);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
}
//---------------------------------------------------------------------------
Пример
2.2
Используя компоненту Memo
для вывода результатов вычислить
выражение
,
если
а=23,6 b=4.
Решение задачи: Алгоритм решения задачи, подготовка формы, установка компонентов, назначение его свойств, объявление переменных аналогичны предыдущему примеру. Разница в том, что для вывода результатов вместо Label используется компнента Memo1.
Компонент Memo класса TMemo используется для ввода/вывода большого текста. Текст класса TStrings сохраняется с свойстве Lines. Для вывода результатов вычислений метод компоненты Memo1 записывается следующим образом:
Memo1->Lines->Add(“Результат вычисления:”);
Memo1->Lines->Add(”y = ”+FloatToStrF(y,ffGeneral,7,3));
