515

Обработка одномерных массивов. Формирование новых массивов

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

Информатика, кибернетика и программирование

Получить навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научиться формировать новые массивы из заданных массивов в соответствии с некоторым условием.

Русский

2013-01-06

246 KB

64 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

«ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П.О. СУХОГО»

Факультет автоматизированных и информационных систем

Кафедра «Информатика»

Отчёт по лабораторной работе №8

«Обработка одномерных массивов. Формирование новых массивов»

Выполнил студент гр. ГА-11

Луцко А.Н.

Принял преподаватель

Мисюткин В.И.

Дата допуска к защите __________

Дата защиты __________

Гомель 2012


Цель работы
: Получить навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научиться формировать новые массивы из заданных массивов в соответствии с некоторым условием.

Задание: В каждой из задач заданы два массива чисел произвольной длины. Требуется сформировать новый массив по алгоритму, указанному в задании.

Программа должна:

вводить размерности и элементы исходных массивов;

выполнять действия в соответствии с условием задачи;

выводить:

исходные массивы,

сформированный массив, если он был сформирован. В противном случае –соответствующее сообщение.

Исходные данные для отладки программы выбрать самостоятельно. Для ввода и вывода массива использовать визуальный компонент StringGrid. Тесты составлять таким образом, чтобы были учтены различные возможные случаи.

Задача: Сформировать  массив из отрицательных элементов первого массива и элементов второго массива, небольших 3.

Вид окна формы

Таблица свойств компонентов

Элемент интерфейса

Компонент

Свойство

Значение свойства

Заголовок окна

Form1

Caption

Лабораторная работа8

Размер массива A

Label1

Caption

Размер массива A:

Размер массива B

Label2

Caption

Размер массива B:

Исходные данные

Label4

Caption

Исходные данные:

Результат

Label5

Caption

Результат:

Поле ввода размера массива A

Edit1

Text

Поле ввода размера массива B

Edit2

Text

Кнопка Вычислить

Button1

Caption

Вычислить

Таблица для ввода значений массива A

StringGrid1

FixedRows

FixedCols

ColCount

RowCount

goEditing

0

0

20

1

True

Таблица для ввода значений массива B

StringGrid2

FixedRows

FixedCols

ColCount

RowCount

goEditing

0

0

20

1

True

Таблица для вывода значений

StringGrid3

FixedRows

FixedCols

ColCount

RowCount

goEditing

0

0

20

1

False

Таблица используемых событий

Компонент

Событие

Имя процедуры обработки события

Реализуемый алгоритм

Button1

OnClick

TForm1.Button1Click

Вычисление

Edit1

OnChange

TForm1.Edit1Change

Изменение размера массива A

Edit2

OnChange

TForm1.Edit2Change

Изменение размера массива B

Таблица используемых переменных

Имя переменной в задаче

Имя переменной в программе

Тип переменной

Комментарий

-

a

array[1..20] of real

Массив значений A

-

b

array[1..20] of real

Массив значений B

-

c

array[1..20] of real

Массив конечных значений

-

i

integer

Текущий элемент массива

N

n

integer

Размер  массива A

M

m

integer

Размер  массива B

-

kol

integer

Размер  массива C

Тест 1

Исходные данные: n = 5, m = 5

1

2

3

4

5

5

6

7

8

9

Ожидаемый результат : Сообщение “Нет таких элементов”

Результат в программе:

 

Тест 2

Исходные данные: n = 5, m = 5,

-1

-2

3

4

5

6

7

8

9

10

Ожидаемый результат :  

-1

-2

Результат в программе:  

Тест 3

Исходные данные: n = 5, m = 5,

1

2

3

4

5

3

2

1

1

0

Ожидаемый результат :  

3

2

1

1

0

Результат в программе:  

Тест 4

Исходные данные: n = 5, m = 5,

-1

-2

8

4

5

3

2

-1

4

4

Ожидаемый результат :  

-1

-2

3

2

-1

Результат в программе:   


                                                               
Cхема алгоритма


Текст
 модуля

unit Unit1;

//Выполнил: Луцко А.Н.

interface

uses

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

 Dialogs, StdCtrls, Grids;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   Label1: TLabel;

   StringGrid1: TStringGrid;

   Button1: TButton;

   StringGrid2: TStringGrid;

   Label4: TLabel;

   Label5: TLabel;

   StringGrid3: TStringGrid;

   Label2: TLabel;

   Edit2: TEdit;

   procedure Button1Click(Sender: TObject);

   procedure Edit1Change(Sender: TObject);

   procedure Edit2Change(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c:array[1..20] of real;

i, n, m, kol: integer;

begin

 n := StrToInt(Edit1.Text);

 m := StrToInt(Edit2.Text);

 for i := 1 to n do begin

   a[i] := StrtoFloat(StringGrid1.Cells[i - 1,0]);

 end;

 for i := 1 to m do begin

   b[i] := StrtoFloat(StringGrid2.Cells[i - 1,0]);

 end;

 kol := 1;

 for i := 1 to n do begin

   if a[i] < 0 then  begin

     c[kol] := a[i];

     kol := kol + 1;

   end;

 end;

 for i := 1 to m do

 begin

   if b[i] <= 3 then

   begin

     c[kol] := b[i];

     kol := kol + 1;

   end;

 end;

 if kol > 1 then begin

   StringGrid3.ColCount := kol - 1;

   for i := 1 to kol - 1 do begin

     StringGrid3.Cells[i - 1,0] := FloatToStr(c[i]);

   end;

 end

 else ShowMessage('Нет таких элементов');

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin

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

end;

procedure TForm1.Edit2Change(Sender: TObject);

begin

 StringGrid2.ColCount := StrToInt(Edit2.Text);

end;

end.

Вывод: Получил навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научился формировать новые массивы из заданных массивов в соответствии с некоторым условием.


конец

Нет таких элементов

Вывод C

Нет

Да

kol>1

i = i + 1

c[kol] = b[i]

kol = kol+1

Нет

Да

b[i]<=3

Нет

Да

i<=m

i  = 1

i = i + 1

kol = kol+1

c[kol] = a[i]

Нет

Да

a[i]<0

Нет

Да

i  = 1

i<=n

kol = 1

Ввод D, элементов массивов A, B

начало


 

А также другие работы, которые могут Вас заинтересовать

81679. Критика просветительского реализма. Критическая деятельность А.Н.Радищева, Н.И.Новикова,И.А.Крылова,В.И.Лукина и др.Н.И.Новиков как создатель 1й рус.литерат.энциклопедии «Опыт исторического словаря о российских писателях» 34.82 KB
  Оживление журнальной и книгоиздательской деятельности во многом изменили характер и проблематику литературно-критических споров: от обсуждения вопросов версификации выдержанности жанрового канона стилевых и грамматических норм критики обращаются к постановке более широкого круга проблем: подражательности и самобытности литературы природы писательского таланта роли отдельных жанров в современном литературном процессе назначения сатиры исторического пути развития отечественной словесности и др. Развитию литературной критики способствовал...
81680. Сентименталистская критика. Типологический анализ литературно-критических статей Н.М.Карамзина («Что нужно автору?», «Отчего в России мало авторских талантов?», предисловие к переводу «Юлия Цезаря» Шекспира, «Пантеон российских авторов» и др.) 37.9 KB
  Пересматривая представление о подчиненности индивидуальной сферы жизни государственному бытию свойственное эпохе классицизма сентименталисты отстаивали приоритет жизни частной подчеркивали внесословную ценность личности нельзя не вспомнить карамзинское: И крестьянки любить умеют. В произведениях русских писателейсентименталистов Н М Карамзина П. Крупнейшим представителем русской критики эпохи сентиментализма был основатель этого литературного направления в России Николаи Михайлович Карамзин 1766 1826. Многогранная деятельность...
81681. Развитие журналистики как стимул развития русской критики 18в.(проблема взаимосвязи критики и журналистики; проблема читательской аудитории периодического издания). «Московский журнал» Н.М.Карамзина 32.38 KB
  проблема взаимосвязи критики и журналистики; проблема читательской аудитории периодического издания. Московский журнал Н. Журналистика как особая сфера общественной деятельности возникала у каждого народа на достаточно высокой ступени социального развития.
81682. Біологічне, психічне і соціальне в людині 25.58 KB
  Тобто людина є біологічним творінням. Однак як і будьякий біологічний вид людина характеризується певною сукупністю видових ознак. Кожна людина унікальна неповторна своєрідна в практичній діяльності.
81683. Взаємодія свободи і необхідності в житті людини 27.07 KB
  Природа та класифікація цінностей За традиційною класифікацією цінності поділяють на матеріальні цінності які існують у формі речей одяг продукти харчування техніка храм картина і духовні моральні релігійні художні політичні та ін. Їх також не можна однозначно кваліфікувати як матеріальні чи духовні цінності. При цьому матеріальними цінностями їх іноді називають благами вважають економічні технічні і вітальні стан здоров\'я екології цінності які задовольняють тілесне буття людини а духовними релігійні святість...
81684. Функціональний аспект цінностей 24.82 KB
  Загалом цінності виконують такі функції. Зясовуючи що є добро прекрасне істина справедливість тощо цінності конституюють сенс людського життя утворюють його духовну основу. У житті людини і суспільства цінності визначають напрями зразки діяльності.
81685. Оцінка та істина 24.83 KB
  Оцінка як підведення під норму правило закон. За такої ситуації оцінка виявляє себе як акт пізнання щодо відповідності вчинку чи творіння людини нормі. Як і в першому випадку підведення під норму є конституюванням визнанням цінності; 3 оцінка як вибір з поміж двох і більше цінностей.
81686. Сутнісні принципи культури 26.79 KB
  Одним із головних завдань культури є формування освіченої цивілізовано розвиненої особистості. У структурі культури як певного цілісного організму розрізняють такі елементи: а субстанціональні ціннісно культурні інститути і системи норм мораль релігія побутова поведінка спілкування індивідів етикет; б функціональні традиції обряди звичаї заборони табу які є неписаними регуляторами процесу функціонування культури. Байта у структурі культури як системи правомірно розрізняти технологічну соціальну та ідеологічну підсистеми...
81687. Культурний Рух, простір і час – атрибутивні властивості матерії 27.75 KB
  Рух його джерело та причини завжди були у полі зору філософів і вченихприродознавців. Так уже Геракліт не лише визнавав усе загальний характер руху але й виявив його суперечливість: все існує і в той же час не існує; все тече й постійно змінюється; все перебуває у постійному процесі виникнення та зникнення. Отже рух матеріальних тіл викликають їх внутрішні і зовнішні взаємодії поза якими існування цих тіл неможливе.