Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Способ. Линейная сортировка

Begin

Begin

Begin

Begin

Вывод элементов массива.

Begin

Writeln (‘ Введите’, I, ‘ элемент массива А’);

Readln (A [ I ]);

End;

 

Блок-схема ввода элементов массива:

Пусть дан тот же массив с теми же характеристиками, тогда вывод элементов организован следующим образом:

 

For I:= 1 to N do

Writeln (‘ A [ ‘, I, ‘] = ‘, A [ I ]:8:2);

( или write (A [ I ]:8:2);)

End;

 

Блок-схема вывода элементов массива:

 

 

3. Обработка массива – это основная часть программы, т.е. решение самой задачи, так же организуется с помощью оператора цикла FOR. Все задачи с массивами можно разделить на группы:

А) нахождение суммы элементов массива;

Б) нахождение произведения элементов массива;

В) поиск минимального или максимального элементов массива;

Г) сортировка массивов (по возрастанию или по убыванию).

 

После объявления массива каждый его элемент можно обработать, указав имя массива, а за ним – индекс элемента в квадратных скобках. Индексированные элементы массива называются индексированными переменными и могут использоваться так же, как и простые переменные. Например, они могут входить в выражения в качестве операндов, использоваться в операторах, им можно присваивать любые значения, соответствующие их типу.

Рассмотрим пример формирования массива несколькими способами.

Задача. Создать программу, которая формирует одномерный массив тремя способами (по формуле А[i]=sin(i), случайным образом В[i], ввод элементов с клавиатуры C[i]) и выводит полученный в каждом случае массив на экран.

 

Решение: в начале программы опишем переменные, массивы A, B, C из вещественных чисел, индекс I, количество элементов N. Основная часть программы будет состоять из трех отдельных частей, каждая из которых иллюстрирует разный способ формирования одномерного массива.

 

Program massiv;

Uses Crt;

Var a, b, c: array [1..20] of real;

I, n: integer;

Begin

ClrScr;

Writeln (‘Введите количество элементов массива’);

Readln (n);

for I:= 1 to n do {первый способ формирование массива по формуле}

a [ I ]:= sin (I);

end;

for I:= 1 to n do {второй способ – случайным образом}

b [ I ]:= Random (I);

end;

for I:= 1 to n do {третий способ – путем ввода данных с клавиатуры}

writeln (‘ Введите ‘, I, ‘ элемент массива С ‘);

readln (c [ I ]);

end:

Writeln (‘ Вывод массива А’);

For I:= 1 to n do

Write (a [ I ]:8:2);

Writeln (‘ Вывод массива В ’);

For I:= 1 to n do

Write (b [ I ]:8:2);

Writeln (‘ Вывод массива С ’);

For I:= 1 to n do

Write (c [ I ]);

Readln

End.

 

 

Блок-схема к задаче:

 

 

 

 
 

 


 

 

Вопрос 3.

1) Рассмотрим первую стандартную программу – нахождение суммы элементов массива.

 

Program summa;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; s: real;

Begin

writeln (‘Введите количество элементов массива’);

readln (n);

for i:=1 to n do begin

writeln (‘Введите ‘, i,’элемент массива X’);

readln (x [ i ]);

end;

s:=0;

for i:=1 to n do begin

s:=s + x [ i ];

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘ сумма элементов равна ’, s:8:2);

readln

End.

 

 

Составим блок – схему к этой программе

2) Рассмотрим вторую стандартную задачу – нахождение произведения элементов массива.

 

Program proizvedenie;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; p: real;

Begin

writeln (‘Введите количество элементов массива’);

readln (n);

for i:=1 to n do begin

writeln (‘Введите ‘, i,’элемент массива X’);

readln (x [ i ]);

end;

p:=1;

for i:=1 to n do begin

p:=p * x [ i ];

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘произведение элементов равно ’, p:8:2);

readln

End.

 

Составим блок-схему к этой задаче

 

3) Рассмотрим третью стандартную задачу – нахождение наибольшего (наименьшего) элемента массива.

 

Program maxsimum;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; max: real;

Begin

writeln (‘Введите количество элементов массива’);

readln (n);

for i:=1 to n do begin

writeln (‘Введите ‘, i,’элемент массива X’);

readln (x [ i ]);

end;

max:=x [ 1];

for i:=1 to n do begin

if x [ i ] >= max then max:= x [ i ];

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘ наибольший элемент массива ’, max:8:2);

readln

End.

 

Составим блок-схему к этой задаче.

 

Вопрос 4.

Сортировка – одна из наиболее распространенных операций обработки массивов данных. Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами.

 

Задача. Создадим программу, которая выводит на экран несортированный массив чисел, затем выполняет его сортировку по возрастанию и выводит на экран отсортированный массив.

 

Идея линейной сортировки по возрастанию заключается в том, чтобы последовательно просматривая весь массив, найти наименьший элемент и поместить его на первую позицию, обменяв его с элементом который ранее занимал первую позицию.

 

Решение. Введем в раздел описания следующие переменные I – для указания позиции первого элемента в рассматриваемой части массива; K – для указания позиции очередного сравниваемого с ним элемента; С – для временного хранения значения при обмене. Полный текст программы сортировки по возрастанию. (Вложенные циклы – если телом цикла является циклическая структура, то такие циклы называются вложенными).

 

Program poriadok;

Type t=array [1..50] of real;

Var x: t;

i, n, k: integer; c: real;

Begin

writeln (‘Введите количество элементов массива’);

readln (n);

for i:=1 to n do begin

writeln (‘Введите ‘, i,’элемент массива X’);

readln (x [ i ]); end;

for i:=1 to n-1 do

for k:=i+1 to n do

if x[ i ] > x[ k ] then begin

c:= x[ i ];

x[ i ]:= x[ k ];

x[ k ]:= c;

end;

writeln (‘Вывод нового массива’);

for i:=1 to n do begin

write (x [ i ]:8:2); end;

readln

End.

Составим блок-схему к задаче.

 

 

 

<== предыдущая лекция | следующая лекция ==>
Денежные агрегаты. Денежная база | Определение структуры и параметров корректирующего устройства
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 961; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.