539

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

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

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

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

Русский

2013-01-06

104 KB

80 чел.

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

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

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

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

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

Отчёт по лабораторной работе №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, элементов массива


 

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

67005. Письмо великої букви С, складів та слів із нею. Складання і записування речень 33 KB
  Оголошення теми і мети уроку Перегляд уривка мультфільму Вкрадений місяць Чи сподобався вам мультфільм Хто бачив цей мультфільм Що таке місяць Навіщо він потрібний На що або на кого схожий місяць Інтерактивна технологія Мікрофон Які ще предмети схожі на букву С Якы предмети можна перетворити на букву С Як Доведіть думку.
67006. Гриби 296.5 KB
  Формувати уявлення про різноманітність грибів у природі про значення грибів у природі і цінність для людей їх охорону; формувати поняття їстівні гриби отруйні гриби; вміння розрізняти їстівні та отруйні гриби узагальнювати висловлювати судження і перевіряти їх правильність...
67007. Подорож картою України 52 KB
  Мета: продовжити формувати уявлення учнів про географічне розміщення України її кордони сусідство з іншими країнами; ознайомити з найбільшими містами України горами водоймами тваринами рослинами; детальніше познайомити із столицею України містом Києвом; викликати позитивні емоції виховувати почуття любові...
67008. Правила поведения в экстремальной ситуации 63.5 KB
  Вводная часть: актуализация опорных знаний. - Что на свете всего дороже. - Как понимаете это слово. Что с ним связано? Что влияет на наше здоровье? (Питание, спорт, профилактика вредных привычек соблюдение правил безопасности, правильный отдых) - Что такое опасная ситуация? - Какое отношение имеют эти слова к здоровью?
67009. Текст. Признаки текста. Виды связи в тексте. Цепная связь. Способы передачи цепной связи. Параллельная связь. Присоединительная связь 102.5 KB
  Текст можно определить как объединенную смысловой и грамматической связью последовательность речевых единиц: высказываний, сложных синтаксических целых, фрагментов, разделов и.т.д. Основными признаками текста являются: 1) завершённость, смысловая законченность, которая проявляется в полном...
67010. Тема текста. Содержание текста. Коммуникативная задача текста. Части текста. Микротемы текста 38.5 KB
  Цели: 1. Углубить понятие о смысловом делении текста. 2. Продолжить работу над синтаксическими конструкциями для выражения характера, образа действия. 3. Добиться осознания студентами тесной взаимосвязи языка и общества, основных функций языка в обществе, которые будут способствовать правильному стилистическому использованию изученных конструкций в речи.
67011. Функционально-смысловые типы монологической речи. Описание 47 KB
  Цели: 1. Углубить понятие о типах монологической речи. 2. Продолжить работу над пунктуационными, синтаксическими, орфографическими и иными ошибками изложений (над наиболее типичными коллективно, над остальными – индивидуально. 3. Добиться осознания студентами тесной взаимосвязи языка и общества...
67012. Описание как функционально-смысловой тип речи 39.5 KB
  В текстах данного типа всегда представлена статичная картина, складывающаяся из указаний на предметы (или части предметов) и их признаки; главным, во имя чего создаются предложения, является указание на признаки; называющие их слова, как правило, помещается в конце предложения...
67013. Функционально-смысловые типы монологической речи. Повествование 43.5 KB
  Повествование раскрывает тесно связанные между собой события явления действия. Чаще всего это действия происходившие в прошлом. Предложения в повествовательных текстах не описывают действия а повествуют о них. Повествование это сообщение о каких-либо событиях и действиях.