![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Название: работа с массивами чиселСодержание книги
Поиск на нашем сайте
ЦЕЛЬ РАБОТЫ: 1. Получение практических навыков в работе с массивами 2. Знакомство с алгоритмами нахождения суммы, произведения элементов массива и нахождения наименьшего и наибольшего элемента массива.
ПОСТАНОВКА ЗАДАЧИ: Для конкретного варианта составить массив исходных данных. Написать программу, которая работает с любым допустимым набором данных. Входную информацию и результаты счета вывести на диск, снабдив их соответствующими заголовками.
СОДЕРЖАНИЕ ОТЧЕТА: 1. Задание на лабораторную работу. 2. Блок-схему алгоритма и текст программы. 3. Результаты работы программы.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ: 1. Исходные данные должны включать и положительные числа, отрицательные и нули; 2. Пример программы. Дан двумерный массив, содержащий 5 строк и 4 столбца. Элементами массива являются вещественные числа. Найти сумму элементов массива. ПРОГРАММА: program lab8; const n=5; m=4; type str=array[1..n,1..m] of real; var a:str; sum:real; k,i,j:integer; f:text; begin assign(f,'lab8.dat'); rewrite(f); writeln('ВВЕДИТЕ ЭЛ-ТЫ МАССИВА А(',n:1, ',', m:1, ')'); (* ВВОД МАССИВА *) for i:=1 to n do for j:=1 to m do read(a[i,j]); (* ВЫВОД ЭЛ-ОВ МАССИВА НА ЭКРАН И В ФАЙЛ *) writeln; writeln(' ':10,'ИСХОДНЫЙ МАССИВ'); writeln(f); writeln(f,' ':10,'ИСХОДНЫЙ МАССИВ'); for i:=1 to n do for j:=1 to m do begin write(' A[',i:1, ',',j:1,']=',a[i,j]:8:3); write(f,' A[',i:1, ',',j:1,']=',a[i,j]:8:3); if (j mod 4 =0) then begin writeln; writeln(f) end end; (* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА *) sum:=0; for i:=1 to n do for j:=1 to m do sum:=sum+a[i,j]; writeln; writeln(f); writeln(' СУММА ЭЛЕМЕНТОВ МАССИВА =',sum:8:3); writeln(f,' СУММА ЭЛЕМЕНТОВ МАССИВА =',sum:8:3); writeln; writeln(f); writeln(' ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И.'); writeln(f,' ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И.'); close(f) end.
РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ: ИСХОДНЫЙ МАССИВ A[1,1]= 5.100 A[1,2]= 30.000 A[1,3]= 5.900 A[1,4]= 9.300 A[2,1]= 3.400 A[2,2]= 5.600 A[2,3]= -11.500 A[2,4]= 8.300 A[3,1]= 125.800 A[3,2]= 17.100 A[3,3]= 19.500 A[3,4]= 34.000 A[4,1]= 1.000 A[4,2]= 0.500 A[4,3]= 0.400 A[4,4]= 345.000 A[5,1]= -4.700 A[5,2]= 45.700 A[5,3]= 18.900 A[5,4]= 12.700
СУММА ЭЛЕМЕНТОВ МАССИВА = 672.000 ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И. Контрольные вопросы: 1. Способы описания массивов? 2. Как организуется ввод и вывод массивов? ЛАБОРАТОРНАЯ РАБОТА №8
НАЗВАНИЕ: УПОРЯДОЧЕНИЕ ЭЛЕМЕНТОВ МАССИВА
ЦЕЛЬ РАБОТЫ: 1. Получение практических навыков в использовании оператора цикла. 2. Знакомство с алгоритмами упорядочения. ПОСТАНОВКА ЗАДАЧИ: Изучив алгоритмы упорядочения, выбрать один из них. Написать программу, которая работает с любым доступным набором данных. Входную информацию и результаты счета вывести на рабочий диск и на экран, снабдив их соответствующими заголовками.
СОДЕРЖАНИЕ ОТЧЕТА 1. Задание на лабораторную работу. 2. Блок-схему алгоритма и текст программы. 3. Результаты работы программы.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ: Рассмотрим массив целых и действительных чисел A(1),...,A(N). Пусть требуется переставить элементы этого массива так, чтобы после перестановки они были упорядочены по не убыванию (возрастанию). A(1)<=A(2)<=A(3)<=...<=A(N). Эта задача называется задачей сортировки или упорядочения массива (эту же задачу можно рассматривать применительно к упорядочению по не возрастанию (убыванию)): A(1)>=A(2)>=A(3)>=...>=A(N)). Для решения этой задачи можно воспользоваться, например, следующими алгоритмами: а) Найти элемент массива, имеющий наименьшее значение, переставить его с первым элементом, затем проделать то же самое, начав со второго элемента и т.д. (сортировка выбором). При решении задачи используются два цикла. Во внутреннем цикле находится наименьший элемент и его порядковый номер. После окончания цикла первый элемент из рассматриваемой части массива записывается на место наименьшего, а наименьший - на место первого. Указанные действия повторяются во внешнем цикле, начиная сначала с первого элемента массива, затем со второго и т.д. б) Последовательным просмотром чисел A(1),...,A(N) найти 'I' такое, что A(I)>A(I+1). Поменять местами A(I) и A(I+1), возобновить просмотр с элемента A(I+1) и т.д. Тем самым наибольшее число передвинется на последнее место. Следующие просмотры начинать опять сначала, пока в процессе просмотра массива не будет перестановок (сортировка обменом).
Пример программы упорядочения массива по не убыванию (возрастанию) методом выбора. ПРОГРАММА: program lab91; (* УПОРЯДОЧЕНИЕ МЕТОДОМ ВЫБОРА *) var a:array[1..50] of integer; i,j,n,amax,k:integer; f:text; begin assign(f,'lab91.dat');rewrite(f); writeln; write('ВВЕДИТЕ КОЛ-ВО ЭЛЕМЕНТОВ МАССИВА n=');read(n); writeln('ВВЕДИТЕ ',n,' ЭЛЕМЕНТОВ МАССИВА'); for i:= 1 to n do read(a[i]); writeln(f,' ИСХОДНЫЙ МАССИВ '); writeln(' ИСХОДНЫЙ МАССИВ '); for i:=1 to n do begin write(f,' A[',i:2,']=',a[i]:3); write(' A[',i:2,']=',a[i]:3); if i mod 5=0 then begin (* ВЫВОД ПО 5 ЭЛ-ОВ В СТРОКЕ *)
writeln(f);writeln end end; for i:=1 to n-1 do begin amax:=a[i];k:=i; for j:=i to n do begin if a[j]<=amax then begin amax:=a[j];k:=j end; end; a[k]:=a[i];a[i]:=amax end; writeln; writeln(f); writeln(' МАССИВ ПОСЛЕ СОРТИРОВКИ '); writeln(f,' МАССИВ ПОСЛЕ СОРТИРОВКИ '); for i:=1 to n do begin write(' A[',i:2,']=',a[i]:3); write(f,' A[',i:2,']=',a[i]:3); if (i mod 5=0)or(i=n) then begin writeln;writeln(f) end end; writeln(f);writeln(f); writeln(f, 'ПРОГРАММУ СОСТАВИЛ ИВАНОВ И.И.');close(f) end.
Результаты работы программы ИСХОДНЫЙ МАССИВ A[ 1]= 56 A[ 2]= 74 A[ 3]= 23 A[ 4]= 10 A[ 5]= 6 A[ 6]= 45 A[ 7]= 73 A[ 8]= 4 A[ 9]= 62 A[10]= 6 A[11]= 1 A[12]= 50
МАССИВ ПОСЛЕ СОРТИРОВКИ A[ 1]= 1 A[ 2]= 4 A[ 3]= 6 A[ 4]= 6 A[ 5]= 10 A[ 6]= 23 A[ 7]= 45 A[ 8]= 50 A[ 9]= 56 A[10]= 62 A[11]= 73 A[12]= 74 ПРОГРАММУ СОСТАВИЛ ИВАНОВ И.И.
Пример программы упорядочения массива по не возрастанию (убыванию) методом обмена. ПРОГРАММА: program lab92; (* УПОРЯДОЧЕНИЕ МЕТОДОМ ОБМЕНА *) var a:array[1..50] of integer; i,r,n,k:integer; f:text; begin assign(f,'lab92.dat');rewrite(f);writeln; write('ВВЕДИТЕ КОЛ-ВО ЭЛЕМЕНТОВ МАССИВА n=');read(n); writeln('ВВЕДИТЕ ',n,' ЭЛЕМЕНТОВ МАССИВА'); for i:= 1 to n do read(a[i]); writeln(f,' ИСХОДНЫЙ МАССИВ '); writeln(' ИСХОДНЫЙ МАССИВ '); for i:=1 to n do begin write(f,' A[',i:2,']=',a[i]:6); write(' A[',i:2,']=',a[i]:6); if i mod 5=0 then { ВЫВОД ПО 5 ЭЛ-ОВ В СТРОКЕ } begin writeln(f);writeln end end; repeat k:=0; for i:=1 to n-1 do if a[i]<a[i+1] then begin r:=a[i];a[i]:=a[i+1];a[i+1]:=r;k:=k+1 end; until k=0; writeln; writeln(f); writeln(' МАССИВ ПОСЛЕ СОРТИРОВКИ '); writeln(f,' МАССИВ ПОСЛЕ СОРТИРОВКИ '); for i:=1 to n do begin write(' A[',i:2,']=',a[i]:6); write(f,' A[',i:2,']=',a[i]:6); if (i mod 5=0)or(i=n) then begin writeln;writeln(f) end end; writeln(f);writeln(f); writeln(f,'ПРОГРАММУ СОСТАВИЛ ИВАНОВ И.И.');close(f) end.
Результаты работы программы ИСХОДНЫЙ МАССИВ A[ 1]= 34 A[ 2]= 5 A[ 3]= 67 A[ 4]= 2 A[ 5]= 9 A[ 6]= 0 A[ 7]= 56 A[ 8]= 32 A[ 9]= 17 A[10]= 56 A[11]= 48 A[12]= 3 A[13]= 66 A[14]= 5 МАССИВ ПОСЛЕ СОРТИРОВКИ A[ 1]= 67 A[ 2]= 66 A[ 3]= 56 A[ 4]= 56 A[ 5]= 48 A[ 6]= 34 A[ 7]= 32 A[ 8]= 17 A[ 9]= 9 A[10]= 5 A[11]= 5 A[12]= 3 A[13]= 2 A[14]= 0 ПРОГРАММУ СОСТАВИЛ ИВАНОВ И.И. Контрольные вопросы: 1. Какие Вы знаете методы сортировки массивов? 2. В чем отличительная особенность каждого метода? ЛАБОРАТОРНАЯ РАБОТА №9
|
||||||
Последнее изменение этой страницы: 2016-12-10; просмотров: 438; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.110.198 (0.006 с.) |