- •Обчислювальна техніка та програмування Методичні вказівки
- •Обчислювальна техніка та програмування Методичні вказівки
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Обчислення арифметичного виразу
- •Завдання 2. Обчислення з використання умовного оператору
- •Завдання 3. Обчислення з використання оператору циклу
- •Завдання 4. Обчислення значення функції на вказаному відрізку з певним кроком
- •Завдання 5. Знаходження коренів квадратного рівняння
- •7. Порядок виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 2 Масиви
- •3. Теоретичні відомості
- •3.3. Робота з компонентом StringGrid
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Введення значень масиву в програмі
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 3 Функції
- •2.Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Створення функції користувача для розрахунку арифметичного виразу
- •Завдання 2. Створення функції користувача для обробки масивів
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 4 Файли
- •2.Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •1 Завдання. Запис інформації у файл
- •2 Завдання. Читання та запис масиву з/у файл
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •2. Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 6 Структури даних
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Література
6.Заходи безпеки при виконанні комп’ютерного практикуму
Комп’ютерний практикум виконується в комп'ютерному класі. Інструктаж щодо виконання комп’ютерних практикумів проводиться на першому занятті і фіксується в журналі техніки безпеки.
7. Порядок виконання комп’ютерного практикума
На жорсткому диску створити каталог з назвою групи та підкаталог з назвою практикуму, наприклад, D:\OM-33\KP_2, бажано назви каталогів записувати англійськими літерами.
Завантажити С++ Builder.
Виконати послідовність операцій: File->New->Application, тобто створити новий проект (Project1.). На екрані з’являється форма (Form1).
В інспекторі об’єктів (Object Inspector) властивість (Properties) заголовок (Caption) замінити на “Комп’ютерний практикум № 2” (Form1->Caption= Комп’ютерний практикум № 2).
Перенести компоненту MainMenu на форму і заповнити її згідно з рис.2.1.
Рисунок 2.1 – Основна форма для комп’ютерного практикуму №2
Обов’язково.Зберегти проект. File->Save Project As в створеній папці. А після внесення змін у проект виконувати тільки File->Save.
Для вектора і матриці будуть створені окремі форми, для цього слід виконати послідовність дій File-> New->Form.
Після чого в кожному з .h файлі в рядку
extern PACKAGE TForm1 *Form1;
дописати
extern PACKAGE TForm1 *Form1,*Form2,*Form3;
На клік “Вектор” в Unit1.cpp прописати
Form2->Visible=true; - друга форма видима
Form1->Visible=false; - перша форма невидима
Аналогічні дії виконати для опції “Матриця”.
Для другої форми використовуються компоненти уже відомі з комп’ютерного практикуму №1.
10.Для третьої форми введення та виведення матриці слід застосувати компоненту StringGrid з вкладки Additional.
11. Виконати спочатку необхідні дії на другій формі.
12. Запустити програму на виконання, перевірити результат.
13. Виконати необхідні дії на третій формі. Запустити програму на виконання, перевірити результат.
14. Проаналізувати результати, захистити комп’ютерний практикум.
15. В Додатку наведено приклад програми виконання комп’ютерного практикуму з інтерфейсами.
8.Оформлення звіту та порядок його подання
Якщо комп’ютерний практикум виконаний на комп’ютері і перевірений викладачем, наступний етап - підготовка звіту та його захист. Звіт оформляється згідно вимог щодо оформлення звітів.
Захист комп’ютерного практикуму відбувається на наступному занятті.
Звіт складається з таких розділів:
Назва комп’ютерного практикуму.
Мета комп’ютерного практикуму.
Задачі комп’ютерного практикуму.
Теоретичні відомості до виконання комп’ютерного практикуму
Інформаційне та технічне забезпечення
Завдання на виконання комп’ютерного практикуму (2 завдання)
Псевдокод до кожного завдання
Блок-схема кожного завдання
Програма (можна роздрукувати)
Результат роботи програми (інтерфейс - форма з завданнями, можна роздрукувати або замалювати)
Висновки
9.Контрольні запитання для підготовки до комп’ютерного практикуму :
Що таке масив?
Що таке індекс масиву?
Що таке значення масиву?
Якого типу можуть бути масиви?
Якого типу можуть бути індекси?
Чому дорівнює перший індекс масиву?
Чи можуть бути значення масиву різного типу?
Варіанти завдання масивів.
Знайти найменший та найбільший елементи масиву.
Знайти суми діагональних елементів квадратної матриці.
Як підключити декілька форм ?
Де розміщується StringGrid і, які властивості у цієї компоненти ?
Як слід працювати з декількома формами?
Додаток
Рисунок 2.2 – Перша форма до комп’ютерного практикуму №2
Файл Unit1.cpp
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
Form2->Visible=true;
Form1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
Form3->Visible=true;
Form1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
Close();
}
Файл Unit1.h
#ifndef Unit1H
#define Unit1H
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
void __fastcall N2Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1,*Form2,*Form3;
//---------------------------------------------------------------------------
#endif
Рисунок 2.3 – Друга форма до комп’ютерного практикуму №2
Файл Unit2.cpp
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
int i, k=0, Amin, A[10]={10,5,0,-1,8,1,5,7,-5,45};
// Знаходження мінімального елементу вектора і його номеру
Amin=A[0];
for(i=1; i<10; i++)
if(Amin>A[i])
{
Amin=A[i];
k=i;
}
// виведення вектора в МЕМО поле
Memo1->Clear();
for(i=0; i<10; i++)
Memo1->Lines->Add("A[" + IntToStr(i) + "]=" + IntToStr(A[i]));
// виведення результату
Edit1->Text=IntToStr(Amin);
Edit2->Text=IntToStr(k);
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button2Click(TObject *Sender)
{
Form2->Visible=false;
Form1->Visible=true;
}
Файл Unit2.h
#ifndef Unit2H
#define Unit2H
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
class TForm2 : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TMemo *Memo1;
TLabel *Label2;
TEdit *Edit1;
TButton *Button1;
TButton *Button2;
TLabel *Label3;
TLabel *Label4;
TEdit *Edit2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2,*Form1;
//---------------------------------------------------------------------------
#endif
Рисунок 2.4 – Третя форма до комп’ютерного практикуму №2
Файл Unit3.cpp
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
Form3->Visible=false;
Form1->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
int i,j, M[4][3],A[4];
for(i=0;i<R;i++)
for(j=0;j<C;j++)
M[i][j]=StrToInt(StringGrid1->Cells[j][i]);
for(j=0;j<C;j++)
{A[j]=0;
for(i=0;i<R;i++)
A[j]=A[j]+M[i][j];
}
Memo1->Clear();
for(i=0; i<C; i++)
Memo1->Lines->Add("A[" + IntToStr(i) + "]=" + IntToStr(A[i]));
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
if(Edit1->Text=="" || Edit2->Text=="")
{
ShowMessage("Не задана розмірність матриці");
return;
}
R=StrToInt(Edit1->Text);
C=StrToInt(Edit2->Text);
StringGrid1->RowCount=R;
StringGrid1->ColCount=C;
StringGrid1->FixedCols=0;
StringGrid1->FixedRows=0;
}
Файл Unit3.h
#ifndef Unit3H
#define Unit3H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TForm3 : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TEdit *Edit1;
TEdit *Edit2;
TStringGrid *StringGrid1;
TLabel *Label5;
TMemo *Memo1;
TButton *Button1;
TButton *Button2;
TButton *Button3;
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm3(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm3 *Form3,*Form1;
//---------------------------------------------------------------------------
#endif
int C, R;
