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

начало


 

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

1974. ВЛИЯНИЕ ПСИХОТИПОЛОГИЧЕСКИХ, ГЕНДЕРНЫХ И КОНСТИТУЦИОНАЛЬНО-КОНТИНУАЛЬНЫХ ОСОБЕННОСТЕЙ ЛИЧНОСТИ СТУДЕНТОВ НА ПРЕДСТАВЛЕНИЯ О НРАВСТВЕННОМ ЧЕЛОВЕКЕ 1.17 MB
  Конституционально-биологические основы развития личности. Определение границ психической и психологической нормы и патологии. Анализ философских концепций нравственности. Изучение проблемы нравственности в отечественной психологии. Факторный анализ результатов мужской выборки испытуемых.
1975. РЕГИОНАЛЬНЫЕ ВЫБОРЫ В РОССИИ. НА МАТЕРИАЛАХ ПСКОВСКОЙ ОБЛАСТИ. 1996-2004 гг. 1.16 MB
  Электоральные процессы в Псковской области на фоне ослабления центральной власти в Российской Федерации. Избирательные процессы в псковском регионе в период усиления центральной российской власти.
1976. Антропология советскости: философский анализ 1.16 MB
  Макросоциальная идентичность: сущность, содержание, типология. Содержание и механизмы социокультурной динамики советскости. Советская идентичность в современной социокультурной ситуации.
1977. ЭКОЛОГО-ФАУНИСТИЧЕСКАЯ И ЗООГЕОГРАФИЧЕСКАЯ ХАРАК- ТЕРИСТИКА МУХ-ЖУРЧАЛОК (DIPTERA, SYRPHIDAE) КАБАРДИНО-БАЛКАРИИ 1.16 MB
  КРАТКАЯ ИСТОРИЯ ИЗУЧЕНИЯ МУХ-ЖУРЧАЛОК РОССИИ И КАВКАЗА. ФИЗИКО-ГЕОГРАФИЧЕСКАЯ И ЛАНДШАФТНАЯ ХАРАКТЕРИСТИКА РАЙОНА ИССЛЕДОВАНИЯ. ЭКОЛОГО-ФАУНИСТИЧЕСКАЯ И ЗООГЕОГРАФИ-ЧЕСКАЯ ХАРАКТЕРИСТИКА МУХ-ЖУРЧАЛОК КАБАРДИНО-БАЛКАРИИ.
1978. ПРОЕКТИРОВАНИЕ ДИСЦИПЛИНАРНОГО ОБРАЗОВАТЕЛЬНОГО ПРОСТРАНСТВА В ВУЗЕ И МЕТОДИКА ЕГО ОСВОЕНИЯ 1.16 MB
  Теоретические основы педагогического проектирования в образовании. Технология проектирования дисциплинарного образовавательного пространства в вузе и методики его освоения.
1979. Правовое регулирование коммерческой концессии в Российской Федерации 1.15 MB
  Коммерческая концессия: теоретический и исторический анализ. Правовое регулирование коммерческой концессии: становление и развитие. Договор коммерческой концессии: проблемы и противоречия законодательного регулирования.
1980. УПРАВЛЕНИЕ ИНВЕСТИЦИОННЫМ ПРОЦЕССОМ В РЕГИОНАЛЬНЫХ СИСТЕМАХ, ОРИЕНТИРОВАННЫХ НА ЭКОНОМИЧЕСКИЙ РОСТ 1.15 MB
  Место категории инвестиционный процесс в экономической науке. Сравнительный анализ экономического аспекта инвестиционной привлекательности региона. Обоснование использования коэффициентов расширения для управления инвестиционным процессом в региональных системах, ориентированных на экономический рост. Методические подходы к использованию коэффициентов расширения для прогнозной оценки роста региональной экономической системы.
1981. ПЕДАГОГИЧЕСКИЕ УСЛОВИЯ ФОРМИРОВАНИЯ КОММУНИКАТНОЙ КУЛЬТУРЫ СТУДЕНТОВ В ПРОЦЕССЕ ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКИ В ВУЗЕ 1.15 MB
  Коммуникативная культура будущего специалиста и совокупность педагогических условий ее развития. Коммуникативная культура преподавателя и ее влияние на профессиональную подготовку студентов вуза. Педагогические условия формирования коммуникативной культуры студентов в учебном процессе вуза.
1982. КОРРЕКТИРОВКА ФОРМИРОВАНИЯ ИНФОРМАЦИОННОЙ КУЛЬТУРЫ ПРИ ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКЕ ЭКОНОМИСТОВ В ВУЗАХ 1.15 MB
  Теоретические основы формирования информационной культуры при подготовке специалистов на экономических факультетах в вузах. Практическая реализация корректировки процесса формирования информационной культуры при подготовке специалистов на экономических факультетах в вузах. Особенности проведения педагогического эксперимента по корректировке формирования информационной культуры экономистов специальности 060400 Финансы и кредит