Отчёт.4.5
.docxБийский технологический институт (филиал)
федерального государственного бюджетного образовательного
учреждения высшего образования
«Алтайский государственный технический университет им. И. И. Ползунова»
Технологический факультет
Кафедра методов и средств измерения и автоматизации
Отчет
по лабораторной работе № 4
Программирование с использованием массивов
(название лабораторной (практической) работы)
по дисциплине Языки программирования
(наименование дисциплины)
Вариант № 5
Выполнил
студент гр. ИСТ-
подпись и.о. фамилия
Проверил
профессор каф. МСИА А. И. Сидоренко
подпись и.о. фамилия
г. Бийск, 2017
Цель:
изучить свойства компонента TStringGrid и освоить основы программирования с использованием массивов.
Постановка индивидуальной задачи:
Задана матрица размером N×M. Определить k – количество “особых” элементов матрицы, считая элемент “особым”, если в его строке слева от него находятся элементы, меньшие его, а справа – большие.
Описание разработанной программы:
Программа генерирует случайные значения от 0 до 99 и присваивает их элементам матрицы. Затем второй элемент каждой строки сравнивается с первым и третьим элементами своей строки. Если он больше первого и меньше третьего, то данный элемент считается особым, после чего к счетчику «особых» элементов прибавляется единица. По окончанию сравнения всех элементов выводится результат счетчика.
Разработанная программа:
-
Интерфейс программы (Рис. 1)
Рисунок 1 – Интерфейс программы
-
Код программы
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Memo1->Clear();
StringGrid1->Cells[0][0] = "X \\ Y";
StringGrid1->Cells[0][1] = "1";
StringGrid1->Cells[0][2] = "2";
StringGrid1->Cells[0][3] = "3";
StringGrid1->Cells[1][0] = "1";
StringGrid1->Cells[2][0] = "2";
StringGrid1->Cells[3][0] = "3";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
srand(time(NULL));
for (int i = 1; i < 4; i++)
for (int j = 1; j < 4; j++)
StringGrid1->Cells[i][j] = rand() % 100;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x[3][3], k;
k = 0;
for (int i = 1; i < 4; i++)
for (int j = 1; j < 4; j++)
x[i-1][j-1] = StrToInt(StringGrid1->Cells[j][i]);
if (x[0][0] < x[0][1] && x[0][1] < x[0][2]) k++;
if (x[1][0] < x[1][1] && x[1][1] < x[1][2]) k++;
if (x[2][0] < x[2][1] && x[2][1] < x[2][2]) k++;
Memo1->Lines->Add("Особых элементов k: " + IntToStr(k));
}
Вывод:
В ходе лабораторной работы были изучены свойства компонента TStringGrid и освоено программированием с использованием массивов. Также написана и отлажена программа с использованием массивов.