Студопедия

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

КАТЕГОРИИ:

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






С использованием массивов

О Т Ч Е Т

ПО ЛАБОРАТОРНЫМ РАБОТАМ

 

по курсу:

Quot; КОНСТРУИРОВАНИЕ ПРОГРАММ И

ЯЗЫКИ ПРОГРАММИРОВАНИЯ"

 

Выполнили: Студенты: Мазаник А. А. Шитов С. А. Гр. 107226, бригада №6  
Проверил, профессор: Гурский Н. Н.

 

 

Минск - 2007


Лабораторная работа №4

КОНСТРУИРОВАНИЕ ПРОГРАММ

С ИСПОЛЬЗОВАНИЕМ МАССИВОВ

 

Цель лабораторной работы: изучить свойства компонента TStringGrid. Написать программу с использованием массивов.

Задание: Задана символьная матрица размером . Определить k - количество различных элементов матрицы (т. е. повторяющиеся элементы считать один раз).

 

Листинг программы:

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Menus;

 

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

var n, m, i: integer;

ch: set of 'A'..'z';

i2, k: integer;

label L1; //Ì å ò ê à

begin

ch: =[];

//Â û ï î ë í å í è å ç à ä à ÷ è

for i: =1 To StrToInt(Edit1.Text) Do

for i2: =1 To StrToInt(Edit2.Text) Do

if StringGrid1.Cells[i, i2]='' Then //ï ð î â å ð ÿ å ì í à í ó ë å â û å ï î ë ÿ

Begin

ShowMessage('Ì à ñ ñ è â ñ î ä å ð æ è ò í ó ë å â û å ï î ë ÿ ');

GoTo L1; //Ï å ð å õ î ä ê ì å ò ê å

end;

for i: =1 To StrToInt(Edit1.Text) Do

for i2: =1 To StrToInt(Edit2.Text) Do

if not(StringGrid1.Cells[i, i2][1] in ch) then //å ñ ë è í å ò â ch ò î ã ä à

begin

ch: =ch+[StringGrid1.Cells[i, i2][1]]; //Ï ð î â å ð ÿ å ì ñ è ì â î ë ñ ò ð î ê è ñ è í ä å ê ñ î ì 1!

inc(k); //Ó â å ë è ÷ è â à å ì ñ ÷ ¸ ò ÷ è ê í à å ä è í è ö ó (è í ê ð å ì å í ò)

end;

Label3.Caption: ='Ê î ë è ÷ å ñ ò â î í å ï î â ò î ð ÿ þ ù è õ ñ ÿ ý ë å ì å í ò î â: '+IntToStr(k);

ch: =[];

k: =0;

L1: end; //Ì å ò ê à

 

procedure TForm1.FormCreate(Sender: TObject);

var n: integer;

begin

Edit1.Text: ='3';

Edit2.Text: ='3';

Button2Click(Sender);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var i: integer;

begin

for i: =1 To StrToInt(Edit1.Text) Do

StringGrid1.Cells[i, 0]: =IntToStr(i);

for i: =1 To StrToInt(Edit2.Text) Do

StringGrid1.Cells[0, i]: =IntToStr(i);

StringGrid1.ColCount: =StrToInt(Edit1.Text)+1;

StringGrid1.RowCount: =StrToInt(Edit2.Text)+1;

StringGrid1.Cells[0, 0]: ='Ì à ñ ñ è â á ó ê â ';

 

end;

 

end.

Результат выполнения программы:

 

 

Выводы: изучили свойства компонента TStringGrid. Написали программу с использованием массивов.

 

<== предыдущая лекция | следующая лекция ==>
Для циклических вычислительных процессов | Программирование с использованием строк
Поделиться с друзьями:

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