Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Лабораторная работа №4. Программирование с использованием массивов




 

Цель работы: научиться правильно описывать различные массивы, уметь инициализировать массивы, распечатывать содержимое массива; научится решать задачи на использование массивов.

 

Общие сведения:

Массив - это структурированный тип данных, который используется для описания упорядоченной совокупности фиксированного числа элементов одного типа, имеющих общее имя. Для обозначения элементов массива используются имя переменной-массива и индекс.

Перед выполнением работы необходимо изучить правила описания и использования переменных типа массив, типизированных констант типа массив.

Пример1: Дан двумерный массив. В каждой строке все его элементы, не равные нулю, переписать (сохраняя порядок) в начало строки, а нулевые элементы - в конец массива. Новый массив не заводить.

Этапы решения задачи:

1. Суть одного из алгоритмов решения данной задачи состоит в том чтобы "просматривать" массив построчно и находить в каждой строке пару (0:число), а затем менять их местами между собой и так до тех пор пока в строке таких пар не окажется.

2. Напишем программу на псевдо паскале:

program example1; var V:array[1..100,1..100] of integer;    m,n, i,j, c: integer;      flag: boolean; begin      <ввод размерности массива m*n>      <заполнение ячеек массива> for i:=1 to m do       repeat          flag:= true;             for j:=1 to n-1 do               if (v[i,j]=0) and (v[i,j+1]<>0) then begin                 <поменять их местами>                   flag:= false;                 end;              until flag;          <Печать массива>       readln;    end.

 

3.Составим блок схему алгоритма


Детализируем блок "Упорядочиваем 1-ю строку"


Блок схема алгоритма целиком:


4.Приведем программу на языке Паскаль:

program example1;   var     V:array[1..100,1..100] of integer;       m,n, i,j, c: integer;          flag: boolean; begin        write('Введите размерность массива m-n> '); readln(m,n);          for i:= 1 to m do             for j:= 1 to n do begin                write('V[',i,',',j,']= '); readln(V[i,j]);   end;     for i:=1 to m do       repeat           flag:= true;               for j:=1 to n-1 do            if (v[i,j]=0) and (v[i,j+1]<>0) then begin          c:=v[i,j]; v[i,j]:=v[i,j+1]; v[i,j+1]:=c;       flag:= false;   end;      until flag;       for i:= 1 to m do begin          for j:= 1 to n do write(V[i,j]:2);    writeln end;   readln; end. Контрольные вопросы

1. Каким образом определяются переменные типа массив (одномерный и двумерный)?

2. Как осуществляется доступ к отдельному элементу одномерного и двумерного массива?

3. Каким образом выводятся элементы массива на экран?

4. Приведите пример фрагмента программы, который выводит на экран двумерный массив в виде матрицы.

5. Сколько чисел можно записать в шестимерный массив X : Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer?

 

Список индивидуальных заданий:

1. Для решения задачи 1 задать случайным образом одномерный массив указанной размерности из целочисленных элементов, принадлежащих заданному отрезку. Выполнить задание своего варианта. Выводить на экран исходный массив и преобразованный.

Вариант Задание 1
1. Задать случайным образом одномерный массив  из 10 целочисленных элементов, принадлежащих отрезку [-10;10]. Найти сумму элементов массива, стоящих на четных местах. Закрасить указанные элементы.
2. Задать случайным образом одномерный массив  из 15 целочисленных элементов, принадлежащих отрезку [-14;14]. Найти сумму элементов массива, кратных трем. Закрасить указанные элементы.
3. Задать случайным образом одномерный массив  из 20 целочисленных элементов, принадлежащих отрезку [-12;12]. Найти произведение четных элементов массива. Закрасить указанные элементы.
4. Задать случайным образом одномерный массив  из 18 целочисленных элементов, принадлежащих отрезку [-14;14]. Найти сумму элементов массива, кратных пяти. Закрасить указанные элементы.
5. Задать случайным образом одномерный массив  из 17 целочисленных элементов, принадлежащих отрезку [-7;7]. Найти произведение элементов массива, стоящих на нечетных местах. Закрасить указанные элементы.
6. Задать случайным образом одномерный массив  из 13 целочисленных элементов, принадлежащих отрезку [-11;11]. Найти произведение элементов массива, номера которых кратны трем. Закрасить указанные элементы.
7. Задать случайным образом одномерный массив  из 16 целочисленных элементов, принадлежащих отрезку [-13;13]. Найти произведение положительных элементов массива. Закрасить указанные элементы.
8. Задать случайным образом одномерный массив  из 18 целочисленных элементов, принадлежащих отрезку [-19;19]. Найти сумму элементов массива, которые кратны трем. Закрасить указанные элементы.
9. Задать случайным образом одномерный массив  из 14 целочисленных элементов, принадлежащих отрезку [-18;18]. Найти сумму отрицательных элементов массива. Закрасить указанные элементы.
10. Задать случайным образом одномерный массив  из 19 целочисленных элементов, принадлежащих отрезку [-8;8]. Найти сумму четных элементов массива. Закрасить указанные элементы.
11. Задать случайным образом одномерный массив  из 14 целочисленных элементов, принадлежащих отрезку [-9;9]. Найти сумму элементов массива, кратных семи. Закрасить указанные элементы.
12. Задать случайным образом одномерный массив  из 16 целочисленных элементов, принадлежащих отрезку [-6;6]. Найти произведение отрицательных элементов массива. Закрасить указанные элементы.
13. Задать случайным образом одномерный массив  из 18 целочисленных элементов, принадлежащих отрезку [-14;14]. Найти сумму нечетных элементов массива. Закрасить указанные элементы.
14. Задать случайным образом одномерный массив  из 10 целочисленных элементов, принадлежащих отрезку [-15;15]. Найти количество элементов массива, кратных пяти. Закрасить указанные элементы.
15. Задать случайным образом одномерный массив  из 12 целочисленных элементов, принадлежащих отрезку [-19;19]. Найти количество четных элементов массива. Закрасить указанные элементы.

2. В задаче №2 задать двумерный массив размерности N*N. N вводится с клавиатуры. Выполните задание своего варианта.

 

Вариант Задание 2
1. Умножьте все элементы первой строки матрицы на минимальный элемент. Вывести исходную матрицу и полученную. Закрасить элементы, расположенные в первой строке.
2. Вычислить среднее арифметическое элементов матрицы.
3. Вычислить сумму положительных элементов матрицы, расположенных ниже главной диагонали. Закрасить указанные элементы.
4. Вычислить среднее арифметическое элементов матрицы, расположенных на главной диагонали. Закрасить указанные элементы.
5. Умножьте все элементы матрицы на максимум главной диагонали.
6. Вычислить среднее арифметическое отрицательных элементов матрицы. Закрасить отрицательные элементы.
7. Вычислить произведение четных элементов матрицы, расположенных на побочной диагонали. Закрасить указанные элементы.
8. Умножьте все элементы последнего столбца на максимальный элемент матрицы. Закрасить элементы, расположенные в последнем столбце.
9. Вычислить произведение отрицательных элементов матрицы, расположенных ниже побочной диагонали. Закрасить указанные элементы.
10. Вычислить сумму четных элементов матрицы, расположенных выше побочной диагонали. Закрасить указанные элементы.
11. Вычислить сумму нечетных элементов матрицы, расположенных на побочной диагонали. Закрасить указанные элементы.
12. Вычислить произведение отрицательных элементов матрицы, расположенных ниже побочной диагонали. Закрасить указанные элементы.
13. На главной диагонали матрицы найти максимальный элемент, закрасить найденный элемент, вывести преобразованную матрицу, на месте максимального элемента которой записана 1.
14. Вычислить произведение положительных элементов матрицы, расположенных на главной диагонали и выше ее. Закрасить указанные элементы.
15. Вычислить количество положительных элементов матрицы, расположенных ниже главной диагонали. Закрасить указанные элементы.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 525.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...