539

Обработка одномерных массивов. Выделение минимального и максимального элементов массива

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

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

Найти максимальный элемент и поменять его местами со вторым элементом массива. Таблица используемых переменных и компонентов. Максимальный и минимальный элемент массива и его место в массиве.

Русский

2013-01-06

104 KB

81 чел.

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

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

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

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

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

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

«Обработка одномерных массивов. Выделение минимального и максимального элементов массива»

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

Луцко А.Н.

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

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

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

Дата защиты __________

Гомель 2012


Цель работы
: Получить навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научиться находить максимальный и минимальный элемент массива и определять его место в массиве; изменять значения и расположение элементов массива; обрабатывать элементы массива, находящиеся перед (после) максимальным (минимальным) элементом.

Задание: В каждой из задач предполагается, что задан массив  чисел. Программа должна:

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

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

3) выводить:

  •   исходный массив;
  •        максимальный или минимальный элемент массива и его номер;
  •   массив, полученный в результате выполнения задания;
  •   сообщение о том, что перестановка не нужна или невозможна.

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

Задача: Найти максимальный элемент и поменять его местами со вторым элементом массива.

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

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

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

Компонент

Свойство

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

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

Form1

Caption

Лаба 7

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

Label1

Caption

Размерность массива:

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

Edit1

Text

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

Button1

Caption

ОК

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

StringGrid1

FixedRows

FixedCols

ColCount

RowCount

goEditing

0

0

20

1

True

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

StringGrid2

FixedRows

FixedCols

ColCount

RowCount

goEditing

0

0

20

1

False

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

Компонент

Событие

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

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

Button1

OnClick

TForm1.Button1Click

Вычисление

Edit1

OnChange

TForm1.Edit1Change

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

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

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

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

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

Комментарий

-

x

array[1..20] of real

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

-

i

integer

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

N

n

integer

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

-

maxn

integer

Номер максимального элемента

-

max

real

Максимальный элемент

-

t

real

Второй элемент массива

                                                           

 

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

    

Текст модуля

unit Unit1;

interface

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

uses

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

 Dialogs, StdCtrls, Grids;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   StringGrid1: TStringGrid;

   StringGrid2: TStringGrid;

   Button1: TButton;

   Label1: TLabel;

   procedure Button1Click(Sender: TObject);

   procedure Edit1Change(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

Var

x:array[1..20] of real;

i, n,maxn: integer;

max,t:real;

begin

n:=strtoint(edit1.text);

for i:=1 to n do

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

 max := x[1];

 maxn := 1;

 for i := 2 to n do

   if max < x[i] then

   begin

     max := x[i];

     maxn := i;

   end;

  if maxn=2 then

   showmessage('перестановка не требуется')

   else

   begin

 t := x[2];

 x[2] := max;

 x[maxn] := t;

   end;  

showmessage('максимальный элемент='+floattostr(max));

 showmessage ('номер максимального элемента='+ inttostr(maxn));

 for i := 1 to n do begin

   StringGrid2.Cells[i - 1,0] := FloatToStr(x[i]);

 end;

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin

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

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

end;

end.

Тест

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

1

0

23

4,5

84

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

1

84

23

4,5

0

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

1

84

23

4,5

0

Тест2

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

1

84

23

4,5

0

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

1

84

23

4,5

0

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

1

84

23

4,5

0

  

Вывод: Получил навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научился находить максимальный и минимальный элемент массива и определять его место в массиве; изменять значения и расположение элементов массива; обрабатывать элементы массива, находящиеся перед (после) максимальным (минимальным) элементом.


конец

Вывод x

Перестановка не требуется

Да

Нет

Max=2

начало

x[maxn] = t

x[2] = max

t = x[2]

i= i+1

maxn = i

max = x[i]

Нет

Да

max<x[i]

Да

i <= n

i = 2

Maxn=1

= 1

max = x[1]

Считывание элементов таблицы в массив

Ввод a,b, элементов массива


 

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

34508. Романское искусство. Искусство эпохи развитого феодализма. Термин «романский». Романская архитектура: ведущая роль, строительные принципы, стилистические черты. Типы церквей 22.24 KB
  С развитием торговли и ремесла в XI XII вв. С XII в. XI XIII века время расцвета монументального искусства как живописи так и скульптуры. В XI XII вв.
34509. Готическое искусство Франции. Термин «готика». Ведущая роль архитектуры. Принципы готической каркасной конструкции, ее элементы. Роль скульптуры. Причины появления витражной живописи 18.95 KB
  Особое внимание уделялось сторожевой башне ратуши беффруа которая была символом независимости республики как городской собор был символом благосостояния граждан коммуны. На площади перед собором происходили диспуты лекции разыгрывались мистерии. Самым большим храмом периода ранней готики был Собор Парижской Богоматери пятинефный храм вмещал до 9000 человек. Раннеготический собор в Лане 1174 1226.
34510. Искусство Проторенессанса. Скульптура. Н. Пизано. Живопись П. Каваллини. Джотто – реформатор итальянской живописи. Принципы творчества Фрески Капеллы дель Арена в Падуе 20.03 KB
  Мозаичный цикл в церкви Санта Мариа ин Трастевере 1291. Фрагмент фрески âСтрашный судâ в церкви Санта Чечилиа ин Трастевере 1293. Ассизи Житийный цикл фресок в верхней церкви Сан Франческо посвященных св. Фрески в трансепте верхней церкви св.
34511. Искусство Раннего Возрождения. Формирование новых принципов изобразительного языка. Переплетение ренессансных принципов и средневековых традиций в искусстве ХV в. Мазаччо – основоположник живописи Кватроченто. А. дель Кастаньо. П. дела Франческо. Проблема 21.58 KB
  Стефана 1425 1426 ниш церкви Ор Сан Микеле. Георгийâ 1415 1417 для ниш церкви Ор Сан Микеле. âБлаговещениеâ алтаря Кавальканти в церкви Санта Кроче 1я пол. Полиптих для церкви кармелиток в Пизе 1426 ныне в различных музеях: готическая экспрессия и ее преодоление.
34512. Высокое Возрождение в Италии. Общая характеристика искусства Высокого Возрождения. Творчество Леонардо да Винчи, Рафаэля Санти, Микельанджело Буанаротти 17.58 KB
  Творчество Леонардо да Винчи Рафаэля Санти Микельанджело Буанаротти. Флорентийскоримские мастера Леонардо да Винчи 1452 1519 ученик Верроккьо универсальный гений. Непродуктивность Леонардоживописца неспособность довести вещь до конца следствия опережающей работы интеллекта. Леонардо в Милане 1482 1499.
34513. Позднее Возрождение в Венеции. Творчество Тициана, Тинторетто, Веронезе 16.52 KB
  1509 Дрезден Картинная галерея âТри философаâ ок. âЛюбовь небесная и земнаяâ 1514 Рим галерея Боргезе. Импозантность и демонстрация жизненного амплуа модели в портретах Федериго II Гонзага 1529 Мадрид Прадо и Ипполито Медичи 1533 Флоренция галерея Питти. Работы среднего периода: âВведение во храмâ 1534 1538 Венеция Академия âВенера Урбинскаяâ 1538 Флоренция Уффици âДанаяâ 1544 1546 Неаполь галерея Каподимонте.
34514. Северное Возрождение. Искусство Нидерландов. Ян ван Эйк. Рогир ван дер Вейден. Гуто ван дер Гус. Мир И. Босха. Питер Брейгель Старший 19.04 KB
  Ян ван Эйк. Рогир ван дер Вейден. Гуто ван дер Гус. и Яна около 1390 1441 ван Эйков законченного Яном ван Эйком в 1432 г.
34515. Философско-эстетические взгляды А. Мердок. Конфликт искусства и жизни в романах писательницы 15.66 KB
  Конфликт искусства и жизни в романах писательницы Ее философскопсихол. Чаще всего ее романы связаны с событиями частной семейной жизни. По ее мнению роман должен повествовать о сложной нравственности жизни человека о загадочности человеческого индивидуальности о том что человек это необыкновенная ценность она выступила против романа мифа романапритчи и связала роман с философией. В романе 70х : Человек случайности Черный принц Священная и земная любовь на первый план выдвигается философская проблема случайности в жизни...
34516. Игра в сюжетном развитии и повествовательной организации произведений Д. Фаулза 19.88 KB
  До конца 1960х вышли в свет два романа писателя Волхв и роман Женщина французского лейтенанта. При этом Фаулз достигает эффекта максимального присутствия предлагая в конце романа читателю сделать выбор вместе с его героем уподобиться осторожному обывателю или рискнуть обрести свое я в извечном конфликте долга и чувства. деконструирует сам тип викторианского романа. Но задача Фаулза не в том чтобы занять читателя интеллектуальной игрой по разгадке аллюзий а в деконструировании или деконструкции согласно терминологии...