Учебно-методический комплекс по дисциплине «б в. 7»

Загрузка...





НазваниеУчебно-методический комплекс по дисциплине «б в. 7»
страница8/11
Дата публикации04.12.2014
Размер1.36 Mb.
ТипУчебно-методический комплекс
top-bal.ru > Информатика > Учебно-методический комплекс
1   2   3   4   5   6   7   8   9   10   11
^

Порядок выполнения работы


  1. Изучить теоретические сведения по теме ”Разработка программы использования динамической памяти”.

  2. Получить у преподавателя индивидуальное задание и разработать программу для работы с динамической памятью и динамическими переменными согласно заданному варианту.

  3. Показать работающую программу преподавателю.

  4. Ответить на контрольные вопросы.
^

Контрольные вопросы


  1. Статические и динамические переменные.

  2. Указатели: типизированные, нетипизированные, Nil. Доступ к переменной по указателю.

  3. Процедуры и функции управления динамической памятью



Лабораторная работа 3

Составные типы данных. Векторы. Таблицы.
Вектор (одномерный массив) – это структурированный тип данных (структурированный тип данных определяет упорядоченную совокупность скалярных переменных и характеризуется типом своих компонентов), состоящий из фиксированного числа элементов, имеющих один и тот же тип. Тип элементов массива называется базовым. Число элементов фиксируется при описании и в процессе выполнения программы не меняется. Доступ к элементам осуществляется путем индексирования элементов вектора. Тип индекса определяет границы изменения индекса. Для описания массива предназначено словосочетание array of (массив из).

^ Описание типа

Type <имя типа>=array [<тип индекса>] of <тип компонента>;

Var <идентификатор, …> : <имя типа>;

Описание может быть и без представления типа в разделе type:

Var <идентификатор>:array[<тип индекса>] of <тип компонента>;

Примеры описаний массивов:

Type

Vektor =array [1..7] of integer;

Massiv =array [1..20] of real;

Var

А,B:vector; X: massiv;

То же в другом формате:

Var А, B : array [1..7] of integer;

X: array [1..20] of real;

Над всем массивом можно выполнять действия A=B, A<>B, A:=B.

Присваивать можно только массивы одинаковых типов. Обращение к отдельному элементу массива производится при помощи указания имени всего массива и в квадратных скобках – индекса конкретного элемента. Например: X[10] - элемент массива X с индексом 10.

Для учебных целей удобнее использовать массивы, сформированные с помощью генератора случайных чисел. В языке Паскаль случайные числа, равномерно расположенными в интервале от 0 до 1, формирует функция Random. Для получения целых случайных чисел от 0 до N следует использовать функцию Random(N+1). Чтобы выбрать целое случайное число из интервала [a, b] можно применить выражение Random(b-a+1)+a.
Пример 1.

Сформировать и распечатать вектор из 20 целых случайных чисел от 10 до 100. Найти сумму элементов вектора.

Program pr1;

Var

A : Array [1..20] Of Integer; I, S : Integer;

BEGIN

S:=0; {обнуляем значение суммы}

For I:=1 To N Do begin

A[I]:= Random(101)-50; {формирование элементов массива}

Write(A[I],' '); {вывод массива}

S:=S+A[I]; {суммирование элементов массива}

end

END.
Пример 2.

В массиве хранятся оценки по математике студентов 102 группы. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 2 до 5 включительно. Найти среднюю оценку в группе.

Program pr2;

Const n=25;

Var a:array[1..n] of integer;

i,s:integer;

sr:real;

BEGIN

s:=0; {обнуляем значение суммы}

for i:=1 to n do begin

a[i]:=random(4)+2; write(a[i],' '); {формирование и вывод элементов массива}

s:=s+a[i]; {суммирование элементов массива}

end;

writeln; {переход на новую строку}

sr:=s/n; write('sr=',sr:3:2)

END.
Пример 3.

В массиве хранятся цены на 10 видов мороженого. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 3 до 20 включительно. Определить порядковый номер самого дорогого мороженого.

Program pr3;

Var A:array[1..10] of integer;

i, n, m: integer; {m- максимальный элемент, n- его порядковый номер}

BEGIN

for i:=1 to 10 do begin {формирование и вывод элементов массива}

a[i]:=random(18)+3; write(a[i],' ');

end; writeln;

m:=a[1]; n:=1; {выбираем 1-й элемент в качестве максимального }

for i:=2 to 10 do {перебираем все элементы массива, начиная со 2-го}

if a[i]>m then begin m:=a[i]; n:=i end; {запоминаем наибольший и его индекс}

write('n=',n)

END.
Пример 4.

В массиве хранится возраст 15 человек. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 16 до 30 включительно. Найти количество человек моложе 25 лет.

Program pr4;

Var A:array[1..15] of integer;

i, k : integer; {k - количество человек моложе 25 лет }

BEGIN

for i:=1 to 15 do begin {формирование и вывод элементов массива}

a[i]:=random(15)+16; write(a[i],' ');

end;

writeln; k:=0;

for i:=1 to 15 do

if a[i]<25 then k:=k+1; {подсчет количества человек моложе 25 лет }

write('k=',k)

END.

Пример 5.

Сформировать векторы A и B, содержащие по 10 целых случайных чисел. Найти сумму элементов каждого вектора (cоздать процедуру для формирования вектора и определения суммы его элементов).

Program pr5;

Type massiv=array[1..10] of integer;

{процедура, формирующая массив и определяющая сумму его элементов}

Procedure SumMas(Var z: massiv; Var Sz: integer);

Var

i: integer;

Begin

Sz:=0; for i:=1 to 4 do begin

z[i]:=random(20); write(z[i]:4);

Sz:=Sz+z[i];

end;

End;

Var

a, b :massiv;

Sа, Sb: integer;{Sа- сумма элементов массива а, Sb – сумма элементов массива b}

BEGIN {основная программа}

Write(‘Массив A:’); SumMas(a,Sa); writeln;

Writeln(‘Cумма элементов вектора A =’, Sa);

Write((‘Массив B:’); SumMas(b,Sb); writeln;

Writeln(' Cумма элементов вектора B =',Sb);

Readln;

END.



Пример 6.

Задан вектор A[1..10]. Сформировать два вектора, включая в первый четные элементы исходного вектора, а во второй - нечетные.

Program Pr6;

Const n=10;

Var a, x, y: array[1..n] of integer;

i, k, m: integer; {k- количество элементов массива X, m- количество элементов массива Y}

BEGIN

randomize;

writeln('Массив А:');

for i:=1 to n do begin {формирование и вывод элементов вектора A}

a[i] := random(51); Write(a[i]:4);

end;

writeln; k:=0; m:=0;

for i:=1 to n do

{если очередной элемент вектора А четный, то заносим его в массив Х, иначе - в массив Y}

if a[i] mod 2=0 then begin k:=k+1; x[k]:=a[i]; end

else begin m:=m+1; y[m]:=a[i]; end;

writeln('Вектор X'); for i:=1 to k do write(x[i]:4); {вывод массива Х}

writeln; writeln('Вектор Y'); for i:=1 to m do write(y[i]:4); {вывод массива Y}

END.
Структура данных в языке Паскаль для хранения табличных данных называется двумерным массивом. Описать такой массив можно двумя способами:
Var
    A: Array[1..20] of Array [1..30] of Integer;
или
Var
    A : Array [1..20,1..30] Of Integer;

В обоих случаях описан двумерный массив, соответствующий таблице, состоящей из 20 строк и 30 столбцов. Отдельный элемент двумерного массива адресуется двумя индексами. Например, элемент, находящаяся в 5-й строке и 6-м столбце будет обозначаться A[5,6].
Пример 7.

Найти сумму элементов целочисленной матрицы размером N*M.

Program pr7;

Const n=2; m=5;

Var Mt: array [1..n,1..m] of integer;

J, S, I: integer;

BEGIN {ввод элементов матрицы}

Writeln (‘введи элементы матрицы по строкам’);

For I:=1 to n do

For j:=1 to m do begin

Write ('Mt [', I, ’,’ , j, ']= '); Readln (Mt[i,j]);

End;

{нахождение суммы элементов матрицы}

S:=0; For I:=1 to n do

For j:=1 to m do

S:=S+Mt[i,j];

Writeln (‘сумма = ’, S);

END.
Пример 8.

Дана целочисленная матрица размером N*M. Все отрицательные элементы заменить нулями, а положительные – единицами. Полученную матрицу вывести в виде таблицы.

Program pr9;

Const n=3; m=3;

Type massiv=array [1..n,1..m] of integer;

Var Mt: massiv;

i, j: integer;

BEGIN {ввод элемента матрицы}

Writeln (‘введи элемент матрицы по строкам’);

For I:=1 to n do

For j:=1 to m do begin

Write ('Mt [', I, j, ']= '); readln (Mt [i, j])

End;

For I:=1 to n do {перебираем построчно элементы массива}

For j:=1 to m do

If Mt [i, j] <=0 then Mt [i, j] :=0 Else Mt[i, j]:=1;

{вывод в виде таблицы}

for I:=1 to n do begin

for j:=1 to m do write (Mt [I, j]);

writeln {переходим на новую строку}

end;

END.
Пример 9.

В массиве A[1..5,1..5] найти сумму элементов главной диагонали, кратных 5.

Program p10;

Var a: array[1..5,1..5] of integer;

i, j, s: integer;

BEGIN

randomize; for i:=1 to 5 do begin {формируем и выводим таблицу}

for j:=1 to 5 do begin

a[i,j]:=random(80); write(a[i,j],' ');

end;

writeln;

end;

s:=0; for i:=1 to 5 do {перебираем построчно элементы массива}

for j:=1 to 5 do

{если элемент находится на главной диагонали и кратен 5, то суммируем }

if (i=j) and (a[i,j] mod 5=0) then s:=s+a[i,j];

writeln('s=',s)

END.
Пример 10.

В двумерном массиве A[1..5,1..5], найти произведение отрицательных элементов побочной диагонали.

Program pr11;

Var a: array[1..5,1..5] of integer;

i, j, p:integer;

BEGIN

randomize; for i:=1 to 5 do begin {формируем и выводим таблицу}

for j:=1 to 5 do begin

a[i,j]:=random(80); write(a[i,j],' ');

end;

writeln;

end;

p:=1; for i:=1 to 5 do

for j:=1 to 5 do

{если элемент находится на побочной диагонали и он отрицательный, то находим произведение }

if (i+j=6) and (a[i,j]<0) then p:=p*a[i,j];

writeln('p=',p)

END.
Пример 11

В двумерном массиве хранится информация о количестве студентов в каждой из трех групп каждого курса с первого по пятый (в 1-ой строке – информация о первом курсе, во 2-ой строке – о втором курсе и т. д.). Найти численность самой большой группы на 3 курсе. На каком курсе больше студентов, на первом или на пятом?

Program pr12;

Var a: array[1..5,1..3] of integer;

i, j, m, s1, s5: integer;

BEGIN

randomize; {формируем и выводим таблицу}

for i:=1 to 5 do

for j:=1 to 3 do begin

a[i,j]:=random(10)+20; write(a[i,j],' ');

end;

writeln

end;

m:=a[3,1]; {находим наибольший элемент в 3-ей строке}

for i:=1 to 3 do

if a[3, i]>m then m:=a[3,i];

writeln('численность самой большой группы на третьем курсе ', m);

{находим сумму элементов 1-й строки и сумму элементов 5-й строки}

for j:=1 to 3 do begin

s1:=s1+a[1,i];

s5:=s5+a[5,i]

end;

{сравниваем количество студентов на 1-м и на 5-м курсах}

if s1>s5 then writeln('студентов больше на 1 курсе')

else if s1
else writeln('количество студентов на 5-м и на 1-м курсах равно')

END.
Пример 12

Создать тип данных RECORD для формирования таблицы вида:

ФИО

Дата рождения

Фамилия

Имя

Отчество

день

месяц

год























































Сформировать и вывести таблицу из 10 записей

program Pr12;

type

name= record

f,i,o:string;

end;

data=record

d,m,g :integer;

end;

vedom=record

fio: name;

dat:data;

end;

var

x:array[1..10] of vedom;

i,k:integer;

begin

for i:=1 to 10 do begin

with x[i].fio do begin

write('Fam:');readln(f);

write('Im:');readln(i);

write('Otch:');readln(o);

end;

with x[i].dat do begin

write('Data:'); readln(d,m,g);;

end;

end;

writeln('--------------------------------------------------------');

writeln(' FIO | DATA');

writeln('--------------------------------------------------------');

writeln(' Fam | Im | Otch | Den | Mes | God');

writeln('--------------------------------------------------------');

for i:=1 to 10 do

writeln(x[i].fio.f:10,x[i].fio.i:10,x[i].fio.o:10,x[i].dat.d:10,x[i].dat.m:6,x[i].dat.g:8);

readln

end.

^ Задания для самостоятельной работы

Вариант 1

  1. Сформировать массив из 15 целых чисел, выбранных случайным образом из интервала [-10, 30]. Найти минимальный элемент и удалить его из массива

  2. Заданы массивы а[1...20], b[1...10] и c[1...15]. Найти среднее арифметическое минимальных элементов массива (использовать процедуру формирования массива и процедуру определения минимального элемента).

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

  4. Создать тип данных RECORD для формирования таблицы вида:

Студент

Номер зачетки

Предмет

Оценка

Фамилия

Имя

Отчество























































Сформировать и вывести таблицу из 10 записей
Вариант 2

  1. Сформировать массив из 10 целых чисел, выбранных случайным образом из интервала [10, 50]. Найти максимальный среди элементов с четными индексами и вставить перед ним заданное число.

  2. Заданы массивы a[1...n] и b[1...m]. В обоих массивах все члены, следующие за максимальным, заменить на -1 (использовать процедуру формирования массива и процедуру замены элементов массива).

  3. Дана матрица NхN. Вывести на экран дисплея элементы той строки, сумма элементов которой максимальна.

  4. Создать тип данных RECORD для формирования таблицы вида:

Фамилия

Имя

Отчество

Дата рождения

Специальность

день

месяц

год
































































Сформировать и вывести таблицу из 10 записей
Вариант 3

  1. Сформировать массив из 15 целых чисел, выбранных случайным образом из интервала [10, 90]. Удалить минимальный элемент и стоящий за ним.

  2. Заданы массивы a[1...14] и b[1...14]. Найти сумму минимальных элементов массивов (использовать процедуру формирования массивов и процедуру определения минимального элемента)..

  3. Составить программу для построения массива, элементы которого вычисляются по формуле аi,j=min(i,j).

  4. Создать тип данных RECORD для формирования таблицы вида:

Ученик

Дата рождения

Класс

Фамилия

Имя

день

месяц

год























































Сформировать и вывести таблицу из 10 записей

Вариант 4

  1. Задан одномерный массив А[1..20]. Найти минимальный элемент среди элементов массива с n-го по k-й (n и k вводятся с клавиатуры)

  2. Заданы массивы a[1...10] и b[1...15]. Определить индексы максимальных элементов каждого массива (использовать процедуру формирования массива и процедуру определения индекса минимального элемента)..

  3. Вывести на экран матрицу 6x6, элементами которой являются целые случайные числа из интервала [20,50]. Определить сумму минимальных элементов строк матрицы.

  4. Создать тип данных RECORD для формирования таблицы вида:

Товар

Дата выпуска

Цена

Наименование

Производитель

месяц

год














































Сформировать и вывести таблицу из 10 записей



Вариант 5

  1. В заданном массиве найти максимальный элемент. Элемент, стоящий после максимального, удалить.

  2. Заданы массивы a[1...10] и b[1...15]. Определить среднее арифметическое нечетных элементов каждого массива (использовать процедуру формирования массива и процедуру определения среднего арифметического нечетных элементов).

  3. Дана квадратная матрица порядка n. Составить программу вычисления количества положительных элементов в нижнем левом треугольнике, включая диагональные элементы.

  4. Создать тип данных RECORD для формирования таблицы вида:

Книга

Год издания

Издательство

Автор

Название





































Сформировать и вывести таблицу из 10 записей
Вариант 6

  1. Задан одномерный массив А[1..20]. Найти максимальный элемент среди элементов, стоящих на четных позициях и вставить перед ним заданное число.

  2. Составить программу обмена местами максимального и минимального элементов главной диагонали матрицы.

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

  4. Создать тип данных RECORD для формирования таблицы вида:

Дата

Температура

Скорость ветра

Влажность

день

месяц














































Сформировать и вывести таблицу из 10 записей



Вариант 7

  1. Задан одномерный массив A[1..20]. Найти минимальный элемент среди элементов, стоящих на четных позициях и удалить его.

  2. Заданы массивы a[1...n], b[1...m], c[1...k]. Определить, какой из массивов содержит больше положительных чисел (использовать процедуру формирования массива и процедуру определения количества положительных элементов).

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

  4. Создать тип данных RECORD для формирования таблицы вида:

Сотрудник

Дата рождения

Отдел

Фамилия

Имя

день

месяц

год























































Сформировать и вывести таблицу из 10 записей



Вариант 8

  1. Задан одномерный массив А[1..20]. Найти минимальный элемент среди положительных элементов и удалить его.

  2. Заданы массивы a[1...n], b[1...n] и c[1...n]. Определить наименьший среди максимальных элементов массива (использовать процедуру формирования массива и процедуру определения максимального элемента).

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

  4. Создать тип данных RECORD для формирования таблицы вида:

Сотрудник

Паспортные данные

Образование

Фамилия

Имя

серия

номер















































Сформировать и вывести таблицу из 10 записей

Вариант 9

  1. Задан одномерный массив А[1..20]. Найти максимальный элемент среди отрицательных элементов и вставить после него заданное число.

  2. Сформировать массивы A,B и C, содержащие по 15 целых случайных чисел. Найти сумму элементов каждого массива. Создать процедуру для формирования массива и определения суммы его элементов.

  3. В двумерном массиве найти сумму всех тех элементов, сумма индексов которых равна n.

  4. Создать тип данных RECORD для формирования таблицы вида:

Автор

Название книги

Издательство

Фамилия

Имя

Отчество














































Сформировать и вывести таблицу из 10 записей



Вариант 10

  1. Задан одномерный массив А[1..20]. Найти максимальный и минимальный элементы и удалить их.

  2. Сформировать массивы A,B и C, содержащие по 10 целых случайных чисел. Найти среднее арифметическое элементов каждого массива. Создать процедуру для формирования массива и определения среднего арифметического его элементов.

  3. Следом квадратной матрицы называют число, равное сумме элементов главной диагонали. Составить программу нахождения следа квадратной матрицы порядка n.

  4. Создать тип данных RECORD для формирования таблицы вида:

Клиент

Адрес

Телефон

Фамилия

Имя

Отчество














































Сформировать и вывести таблицу из 10 записей


1   2   3   4   5   6   7   8   9   10   11

Похожие:

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс курс по выбору по дисциплине « дв4»
Учебно-методический комплекс по дисциплине " Технические и аудиовизуальные средства обучения"

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине « Б2»
Учебно-методический комплекс (далее умк) по дисциплине «Информатика» разработан в соответствии с требованиями фгос впо к обязательному...

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине Инженерная графика
Данный учебно-методический комплекс рассмотрен и утвержден на заседании Учебно-методической комиссии роат. Протокол №4 от 01. 07....

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине Инженерная графика
...

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине «Информатика»
Учебно-методический комплекс по дисциплине «Использование современных информационных и коммуникационных технологий» разработан в...

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине «Информатика»
Учебно-методический комплекс по дисциплине «Использование современных информационных и коммуникационных технологий» разработан в...

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине « дв12»
Учебно-методический комплекс по дисциплине " Технические и аудиовизуальные средства обучения"

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине « дв32»
Учебно-методический комплекс по дисциплине " Технические и аудиовизуальные средства обучения"

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине по выбору Б3
Учебно-методический комплекс по дисциплине «Логическое программирование» разработан в соответствии с требованиями фгос впо к обязательному...

Учебно-методический комплекс по дисциплине «б в. 7» iconУчебно-методический комплекс по дисциплине « В. 3»
Учебно-методический комплекс (далее умк) по дисциплине «Профессиональные компьютерные программы» разработан в соответствии с требованиями...



Школьные материалы
Загрузка...


При копировании материала укажите ссылку © 2018
контакты
top-bal.ru

Поиск