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, элементов массива


 

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

55065. Програма Power Point на уроках української мови та літератури як засіб формування інноваційної особистості 6.61 MB
  І тут на допомогу приходить візуалізація за допомогою компютерної презентації. Застосування цієї програми дає можливість учителеві та учням складати презентації для організації інформаційної підтримки під час підготовки й проведення уроківє унікальною можливістю демонстрації пропонованого матеріалу...
55066. Щастя. Як ми його розуміємо? 45 KB
  Тема: Щастя. Практична: Поглибити знання учнів про диспут та його проведення розширити розуміння поняття щастя виховувати людяність працьовитість любов до людей чесність. Щастя не слава не гроші Все це минає. Щастя це друзі хороші Шана людськая Олександр Підсуха.
55067. Грай, трембіто, дзвеніть, цимбали 533.5 KB
  Обладнання: кабінет образотворчого мистецтва зразки народних інструментів: трембіти роги цимбали; відеоматеріали. Тут грали і на скрипці і на сопілці особливо любили цимбали. У цій хаті жив і учився робити цимбали В.
55068. Всеукраїнська олімпіада з математики 795 KB
  Завдання: сформулювати і довести теореми Чеви і Менедая; показати їх застосування до доведення відомих і доведених раніше тверджень; вчити використовувати ці теореми під час розвязування задач на доведення і обчислення. Напередодні засідання учитель дає завдання трьом учням підготувати доведення тверджень про перетин в одній точці бісектрис внутрішніх кутів трикутника висот і медіан трикутника поділ кожної медіани їх точкою перетину на частини відношення довжин яких дорівнює 2:1 якщо вимірювати довжину першої частини від вершини....
55069. Позакласна робота з математики 223.5 KB
  Але вона має свої особливості: якщо урок проводиться за програмою то позакласні заняття не регламентуються нею що дозволяє вчителю підбирати завдання які відповідають рівню знань та умінь учнів здійснювати індивідуальний підхід проводити їх в цікавій формі спрямовувати на розширення поглиблення знань...
55070. Поняття про форми організації виховного процесу. Характеристика і методика проведення форм поза навчальної виховної роботи 63.5 KB
  Позакласна виховна робота - це здійснювана в позаурочний час різноманітна діяльність учнів під керівництвом учителіввихователів школи спрямована на задоволення інтересів і запитів розвиток їх інтелектуальних можливостей. Принципи на яких ґрунтується позакласна і позашкільна виховна робота Добровільний характер участі в ній учнів враховуються їх інтереси.
55071. Позакласне заняття. Весняні квіти з гофрованого паперу 34.5 KB
  Діти а для того щоб ви дізналися що ми будемо виготовляти сьогодні на занятті я вам пропоную відгадати загадки. Люблять її діти і дорослі за веселу пісеньку струмочків за дзвінкий спів птахів за ніжні проліски за мякий килим з шовкової травиці за ласкаве сонячне проміння за повітря напоєне запахом молодого листя. Діти тому сьогодні на занятті ми будемо виготовляти з паперу крокуси. Діти давайте повторимо послідовність нашої роботи.
55072. Письменники-лауреати Нобелівської премії 601 KB
  Мета: розповісти про засновника премії Альфреда Нобеля; ознайомити учнів з письменниками-лауреатами Нобелівської премії; сприяти перетворенню загальнолюдських цінностей в індивідуальний духовний досвід учнів; виховувати повагу до людської особистості, до скарбів культури; формувати гуманістичні ідеали добра.
55073. Інтелектуальне шоу «Брейн-ринг» 50 KB
  Мета: відновити в пам’яті учнів уявлення про фізичні та хвмвчні властивості хімічних речовин. Розвинути уміння працювати разом, розвинути логічне, творче мислення, увагу, пам’ять. Сформувати науковий світогляд. Виховати працелюбність, наполегливість, колективність в роботі, волю до подолання труднощів, повагу до думки іншого, інтерес до предмета.