Урок № 29
Тема: Самостоятельная работа по решению задач по теме «Двумерные массивы»
1. Составление циклических алгоритмов с массивами
2. Карточки для самостоятельной работы
Карточка 1 Карточка 2 Карточка3 Карточка 4 Карточка 5 Карточка 6
Карточка 7 Карточка 8 Карточка 9 Карточка 10 Карточка 11 Карточка 12
3. Задачи для самостоятельного решения
Составление циклических алгоритмов с массивами
|
|
|
|||||||||||||
|
|
|
|||||||||||||
|
|
|
|
|
|
|||||
|
|
|
Карточки для самостоятельной работы
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был больше предыдущего на 5. Первый элемент задайте датчиком случайных чисел.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен сумме текущих индексов, увеличенной в 10 раз;
2-й — равен целой части отделения случайного числа на сумму текущих индексов;
3-й — равен разности двух предыдущих элементов.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен сумме двух предыдущих элементов. Два первых элемента задайте с клавиатуры.
2. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен случайному числу, отличному от нуля;
2-й — равен квадрату предыдущего элемента;
3-й — равен целой части частного от деления двух предыдущих элементов
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен разности двух предыдущих элементов. Два первых элемента задайте с клавиатуры.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1 -й — равен квадрату суммы текущих индексов, увеличенному на 5;
2-й — равен целой части квадратного корня из предыдущего элемента;
3-й — равен целой части частного от деления двух предыдущих элементов.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со третьего, был равен разности двух предыдущих элементов. Два первых элемента задайте с клавиатуры.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен квадрату суммы текущих индексов, увеличенному на 5;
2-й — равен целой части квадратного корня из предыдущего элемента;
3-й – равен целой части частного от деления двух предыдущих элементов.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был больше предыдущего на 5а. Первый элемент и число а задайте датчиком случайных чисел.
2. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен сумме текущих индексов;
2-й — равен квадрату предыдущего элемента;
3-й – равен целой части от деления предыдущего элемента на текущий индекс.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен сумме двух предыдущих элементов Два первых элемента задайте с клавиатуры.
2. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен квадрату суммы текущих индексов;
2-й — равен случайному числу;
3-й – равен полусумме двух предыдущих элементов.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был больше предыдущего на удвоенную сумму его индексов. Первый элемент задайте датчиком случайных чисел.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элмента в строке которого составлены по следующему правилу:
1-й — равен 500;
2-й — равен целой части квадратного корня из предыдущего элемента;
3-й — равен целой части от деления суммы индексов текущего элемента на 3 (если она равна 0, то соответствующий элемент массива делать равным 1).
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен произведению двух предыдущих элементов. Два первых элемента задайте с клавиатуры.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по правилу:
1-й – равен удвоенному числу, введенному с клавиатуры;
2-й – равен квадрату суммы индексов предыдущего элемента;
3-й – равен остатку от деления индекса текущего элемента на 2.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был равен разности между предыдущим элементом и суммой его индексов. Первый элемента задайте датчиком случайных чисел.
2. Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по правилу:
1-й – равен значению суммы текущих индексов, увеличенному на 3;
2-й – равен квадрату предыдущего индекса;
3-й – равен сумме двух предыдущих элементов.
Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен сумме двух предыдущих элементов, уменьшенной в два раза. Два первых элемента задайте с клавиатуры.
1. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен случайному числу;
2-й — равен целой части квадратного корня из предыдущего элемента;
3-й — равен сумме двух предыдущих элементов.
1. Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен удвоенной сумме двух предыдущих элементов. Первый элемент задайте датчиком случайных чисел.
2. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен квадрату суммы индексов следующего элемента;
2-й — равен удвоенной сумме текущих индексов;
3-й — равен разности двух предыдущих элементов.
1.Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная с третьего, был равен разности двух предыдущих элементов. Два первых элемента задайте с клавиатуры.
2.Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по следующему правилу:
1-й — равен случайному двузначному числу;
2-й — равен целой части от деления случайного трехзначного числа на сумму индексов текущего элемента;
3-й — равен остатку от деления случайного двухзначного числа на 10.
Задачи для самостоятельного решения.
1. Даны целые числа a1, a2, a3. Получить целочисленную матрицу B[3x3], для которой bij = ai - 3aj.
2. Даны действительные числа a1, …, a10, b1, …, b20. Получить действительную матрицу C[20x10], для которой cij = aj / (1 +│bi│).
3. Получить A[10x12] – целочисленную матрицу, для которой
aij = i + 2j.
4. Даны натуральное число n, действительная матрица размера nx9. Найти среднее арифметическое:
а) каждого из столбцов;
б) каждого из столбцов, имеющих четные номера.
5. Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица A[nxn], если
а) aij = sin (i + j/2);
б) aij = cos (i2 + n);
в) aij = sin (i2 – j2/n).
6. Дана действительная матрица размера n x m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
7. Дана действительная квадратная матрица порядка 12. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
8. Даны действительные числа x1, …, x8. Получить действительную квадратную матрицу порядка 8:
a) б) в)
9. Дана действительная матрица размера nxm. Определить числа b1, …,bn, равные соответственно:
а) суммам элементов строк;
б) произведениям элементов строк;
в) наименьшим значениям элементов строк;
г) значениям средних арифметических элементов строк;
д) разностям наибольших и наименьших значений элементов строк.
10. Даны натуральное число n, действительная матрица A[nxn]. Получить последовательность элементов главной диагонали a11, a22, …, ann.
11. Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 10 заменить нулями.
12. Дана действительная матрица размера 6x9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
13. Дана действительная матрица размера nxm. Найти сумму наибольших значений элементов ее строк.
14. В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.
15. В данной действительной матрице размера 6x9 поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что элементы единственны.
16. Дана действительная матрица размера nxm. Получить последовательность b1, …, bn, где bk – это
а) наибольшее из значений элементов k-й строки;
б) сумма наибольшего и наименьшего из значений элементов k-й строки;
в) число отрицательных элементов в k-й строке;
г) произведение квадратов тех элементов k-й строки, модули которых принадлежат отрезку [1; 1,5].
17. Дана целочисленная квадратная матрица порядка n. Найти номера строк:
а) все элементы которых – нули;
б) элементы в каждой из которых одинаковы;
в) все элементы которых четны;
г) элементы каждой из которых образуют монотонно убывающую последовательность.
18. Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти:
а) сумму всех элементов
б) наибольший из всех элементов.
19. Дана квадратная матрица порядка 10. Заменить элементы, расположенные под главной диагональю, максимальным элементом.
1. Что такое массив?
2. Почему массив является структурированным типом данных?
3. Что такое размерность массива? Существуют ли ограничения на размерность массива?
4. Какого типа могут быть элементы массива?
5. Какого типа могут быть индексы элементов массива?
6. Какие простые типы данных относятся к порядковым?
7. Какими способами может быть заполнен массив? Приведите примеры.
8. Как определить минимальный объём памяти, отводимой под массив?
9. Какие действия выполняют обычно над элементами массива?
10. Может ли массив быть элементом массива?
11. В каком случае массивы совместны по присваиванию?
12. Пусть элементами массива A (a[1], a[2], a[3], a[4]) являются соответственно x, -x, x2, -x2. Чему будет равно значение выражения
a[-a[a[3]-2]]+a[-a[a[3]]]
при x=2?
13. Можно ли выполнять обход двумерного массива, организовав внешний цикл по столбцам, а внутренний — по строкам?
14. Точно и однозначно сформулировать условие задачи, решение которой приведено в данной программе:
Program Kr_N_4;
Const NMax = 50; Type Mass = Array[1..NMax,0..NMax-1] Of Real;
Var A : Mass; I, J, N : 0..NMax; C : Real;
Begin Write('Количество элементов массива N=? '); ReadLn(N);
For I := 1 To N Do
For J := 0 To N-1 Do
Begin Write('A[',I,',',J,']= '); Readln(A[I,J])End;
For I := 1 To N Do
For J := 0 To N-1 Do
Begin C := A[I,J];
A[I,J] := A[N-I+1,J];
A[N-I+1,J] := C
End;
For I := 1 To N Do
Begin For J := 0 To N-1 Do
Write(A[I,J]:5:2,' ');
WriteLn
End;
End.
15. Используются ли вложенные циклы, если совершается обход только главной диагонали квадратной матрицы?