КАТЕГОРИИ: Архитектура-(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; Просмотров: 993; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |