Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа № 2. Тема лабораторной работы: знакомство со средой Си++Builder, линейные вычислительные процессы и простейшие типы






 

Тема лабораторной работы: знакомство со средой Си++Builder, линейные вычислительные процессы и простейшие типы

Цель работы: освоение простейшей структуры программы, изучение порядка действий при вычислении выражений; получение навыков построения простейших форм приложений по вводу-выводу данных.

Содержание работы

1. Составить блок-схему и написать программу решения задач согласно варианту.

2. Вывести на печать 5 вариантов исходных данных и результатов выполнения программы.

Знакомство с компонентами Label, Edit, Button, Memo квладки Standard среды Си++Builder, bспользование их в программе

1 Порядок выполнения лабораторной работы:

1.1 Изучить теоретический материал, соответствующий теме лабораторной работы.

1.2 Ответить на следующие вопросы:

1. из скольких разделов состоит программа, созданная в среде Си++Builder?

2. Что такое свойства компонента?

3. Какие свойства компонента Label использовали?

4. Какие свойства компонента Form использовали?

5. Какие свойства компонентов Edit, Button, Memo использовали?

6. Что такое событие, какие события использовали в программе?

7. Что такое методы компонентов?

8. Основные окна Си++Builder, назовите их особенности.

9. С помощью какой команды или функциональной клавиши вызывается на экран Инспектор объектов?

10. С помощью какой команды или функциональной клавиши производится только компиляция проекта?

11. С помощью какой команды или функциональной клавиши производится выполнение проекта по шагам?

12. Какое расширение у файла проекта Project?

13. Какова структура заголовочного файла?

14. Какова структура файла реализации?

15. Укажите правильное описание констант:

а) 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;

16. Какие операции определены над данными целого типа? Приведите примеры.

17. Какие записи являются неправильными и почему?

а) 'А' < 'С'; б) '1' > '9'; в) FALSE < TRUE;

г) 'А' < 'B' & 1 < 2; д) '0'! = '9';

е) ('D' > 'G') AND (1 < 2).

18. Определите тип результата выражения:

а) i * i + g * g + 2 * k / 2; б) sin(x) + 2 * cos(x) + z;

в) x < y; г) i+sqrt(j).

19. Какие из операторов присваивания являются неверными?

а) x = y + sin(sin(z)); б) x = i + j - b;

в) a = (x < y) || b & (i< > k); г) i = i + k / j;

Если i, j, k - целые числа.

20. Вычислить значение выражения, если

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.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  
Height  

 

Таблица 5 Свойствакомпонентов Label, Edit, Button

Компонент Caption Text Left Top
Label1 a      
Label2 b      
Label3 -      
Edit1   -    
Edit2   -    
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. При сохранении проекта с помощью команды File®Save 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));


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал