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

начало


 

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

48317. УЧАСТИЕ ЭЛЕМЕНТОВ КРОВИ В ЗАЩИТЕ ОРГАНИЗМА ОТ КРОВОПОТЕРИ. СВЕРТЫВАНИЕ КРОВИ (СИСТЕМА ГЕМОКОАГУЛЯЦИИ) 128 KB
  Сущность процесса свертывания крови. Свертывание крови по А.А. Шмидту и П. Моравицу. Современные представления о системе свертывания. Прокоагулянты (плазменные факторы свертывания) и факторы свертывания форменных элементов крови и тканей. Процесс свертывания крови (микроциркуляторный гемостаз – предфаза, конечный или коагуляционный гемостаз, ретракция кровяного сгустка и фибринолиз – послефаза процесса свертывания).
48318. Использование ИКТ на уроках русского языка при изучении орфографии в 6 классе 267.24 KB
  Применение информационно-коммуникационных технологий в преподавании русского языка на данном этапе модернизации образования - необходимость, так как они способствуют совершенствованию практических умений и навыков
48319. КРАТКИЙ КОНСПЕКТ ЛЕКЦИЙ ПО ИСТОРИИ ГОСУДАРСТВА И ПРАВА ЗАРУБЕЖНЫХ СТРАН 478.5 KB
  Предмет и методология истории государства и права зарубежных стран. История государства и права зарубежных стран это общественная историкоправовая наука. Цель выявление исторических закономерностей развития государства и права.
48320. Общая характеристика рынка и рыночной экономики, особенности хозяйственной деятельности в условиях рынка 894.5 KB
  Рынок это общественный институт или механизм который сводит вместе покупателей предъявителей спроса и поставщиков продавцов отдельных товаров и услуг. Это товары доступные только очень состоятельным людям и производящиеся в очень ограниченном количестве; 2 в зависимости от особенности потребительского поведения и мотивации покупок отмечают: а товары регулярного и планового спроса товары постоянно приобретаемые населением в определенном количестве и ассортименте; б товары экстренной покупки товары которые приобретаются только...
48321. Планирование экономических процессов 334.35 KB
  Если техникоэкономические отношения отражают отношения по поводу рационального использования ресурсов их воспроизводства имеющимися технологическими возможностями то социально экономические отношения определяются характером отношений людей которые зависят от влияния отношений собственности в данном обществе. На основании разделения труда можно выделить: Материальное и нематериальное производство производит продукцию: группы А средства производства группы Б предметы потребления Сфера услуг и отрасли сферы производства Сфера...
48322. Здания и сооружения 152.5 KB
  Здания это наземные постройки с помещениями для жизнедеятельности человека жилые дома школы театры коровники теплицы и т. По назначению здания бывают гражданские жилые дошкольные спортивные торговые и т. По этажности здания делятся на малоэтажные.
48323. Алгебра с элементами логического анализа 18.95 MB
  Триггеры Триггеры спусковые или релаксационные устройства с двумя или более устойчивыми состояниями в которые они могут переключаться внешним информационным сигналом. По способу записи информации триггеры подразделяются на: 1 асинхронные; 2 синхронные тактируемые. В синхронных триггерах момент переключения определяется моментом смены кодовой комбинации на информационных входах. В синхронных триггерах смена состояний осуществляется в строго определенные моменты времени действуя специальным тактирующим...
48324. Статистика и ее основные понятия 440 KB
  Общей чертой сведений составляющих статистику служит то что в каждом конкретном случае объектом статистического изучения является статистическая совокупность состоящая из качественно однородных единиц но отличающихся по какимто другим признакам. Второй особенностью наблюдений является математический характер соответствующего признака в частности тип множества допустимых значений который принимает признак в процессе наблюдения. К таким признакам относятся например возраст рост и вес человека. В порядковой шкале соответствующие...
48325. ОСНОВИ ПРОВЕДЕННЯ ТА ОРГАНІЗАЦІЇ БУХГАЛТЕРСЬКОГО ОБЛІКУ ОПЕРАЦІЙ ПІДПРИЄМСТВА В ІНОЗЕМНІЙ ВАЛЮТІ 832 KB
  Відображення операцій в іноземній валюті одне з складних питань бухгалтерського обліку. Операціями в іноземній валюті вважаються господарські операції вартість яких виражена в іноземній валюті чи господарські операції що вимагають розрахунків в інвалюті. Для цілей відображення в бухгалтерському обліку і фінансовій звітності суму виражену в інвалюті за такими операціями необхідно перевести в гривневий еквівалент використовуючи валютний курс.