Дополнительные задачи (на усмотрение учителя)
- Заполните одномерный массив произведениями элементов строк заданного двумерного массива и выведите его на экран. Найдите сумму этих произведений. Используйте подпрограммы для решения каждой частной задачи.
- Заполните одномерный массив положительными элементами, расположенные на главной диагонали заданного квадратного массива. Выведите полученный массив на экран и найдите произведение элементов. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. Вычислить сумму тех его элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет элементов с указанным свойством, то выдайте соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. Найти номера строк, все элементы которых равны нулю. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. Найти номера строк, элементы в каждой из которых одинаковы между собой. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. Найти номера строк, все элементы которых четны. Используйте подпрограммы для решения каждой частной задачи.
- Сколько в произвольном двумерном массиве содержится различных элементов? Занесите их в одномерный массив и выведите на экран. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Найти наибольший и наименьший элементы массива и,чередуя, заполнить ими одномерный массив заданной размерности. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. В каждой строке двумерного массива наибольший элемент и элемент главной диагонали поменять местами, а их среднее арифметическое занести в одномерный массив. Вывести на экран полученный массив и среднее арифметическое его элементов. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. В каждой строке двумерного массива наибольший элемент поместить на место первого элемента массива, а наименьший элементы - на место последнего. Создать одномерный массив, элементы которого являются суммой этих элементов. Вывести на экран полученный массив и сумму его элементов. Используйте подпрограммы для решения каждой частной задачи.
- Определить минимальный элемент двумерного массива. Напечатать номер строки, содержащей максимальное число минимальных элементов, если такие имеются. Используйте подпрограммы для решения каждой частной задачи.
- В двумерном массиве Х все числа различны. В каждой строке выбирается минимальный элемент, затем среди этих чисел выбирается максимальное. Напечатать номер строки массива Х, в которой расположено выбранное число.
- Дан двумерный массив. Найти наибольшее из значений элементов первой и последней строки. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Найдите сумму наибольших значений элементов его строк. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Найдите строку с наибольшей суммой элементов и наименьшей. Вывести на экран найденные строки и суммы их элементов. Используйте подпрограммы для решения каждой частной задачи.
- Составьте программу нахождения седловой точки таблицы. Седловой точкой называется элемент, являющийся одновременно максимальным в столбце и минимальным в строчке. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный квадратный массив. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов и наибольший из всех элементов. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Найдите сумму элементов столбца и строки массива, на пересечении которых находится максимальный элемент. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Найдите сумму минимальных элементов диагоналей массива. Используйте подпрограммы для решения каждой частной задачи.
- Дан двумерный массив. Преобразовать его по следующему правилу: строку с номером N сделать столбцом с номером N, а столбец - строкой.
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (a).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (b).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (c).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (d).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (e).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (f).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (g).
- Дан двумерный массив. Найти наибольшее из значений элементов, расположенных в заштрихованной части (k).
- * "Магическим" квадратом называется квадратная таблица целых чисел от 1 до N, расположенных так, что суммы элементов каждой строки, каждого столбца и обеих диагоналей одинаковы и равны (1/2)*N*(1+N)2.Построить "магический" квадрат для N=3, N=4, N=5.
- * Построить и вывести на экран "латинский" квадрат - таблицу, состоящую из n различных чисел, всех по n раз расположенных так, что в каждой строке и столбце каждое число встречается только один раз.
Контрольная работа.
1. Данный фрагмент программы преобразуйте в подпрограмму, используя правила форматирования:
Program Primer; Var a: array[1..8] of integer; M, k: integer;
Begin for k:=1 to 8 do readln(a[k]);M:=a[1]; for k:=2 to 8 Do if M<a[k] Then M:=A[k]; Write(m)
End.
Сколько раз будет исполнен подчеркнутый оператор при заданном массиве: 3, 8, 7, 9, 4, 10, 2, 12:
Чему будет равно значение М?
2. Чему будет равно значение переменной К после исполнения фрагмента программы
K:=1; while (a[K]<>X) and (K<=10) do K:=K+1;
(Здесь Х=7, а в качестве элементов массива введены числа: 2, 3, 5, 9, 12, 0, 7, 6, 7.)
3. При наборе программы вычисления суммы отрицательных элементов массива
for k:=1 to 8 do readln(a[k]); s:=0; for k:=1 to 8 do if a[k]<0 then s:=s+1; write(s)
была допущена ошибка. Каким оказался ответ, если были введены числа: -1, 3, -2, 4, -5, 6, -7, 8.
Каким должен был быть оператор и чему равен правильный ответ?
4. Дано тело подпрограммы:
begin
for k:=1 to 4 do for g:=1 to 4 do a[k,g]:=g-k;q:=0; for k:=1 to 4 do for g:=1 to 4 do if a[k,g]<0 then begin q:=q+1; b[q]:=a[k,g] end; m:=b[1]; for k:=1 to q do if m<b[k] then m:=b[k]; writeln(m);
end;
Опишите заголовок подпрограммы и необходимые локальные переменные. Какое число будет выведено после ее выполнения?
5. Основное различие между процедурами и функциями заключается в том, что:
в результате работы процедуры можно получить любое количество переменных, а функции - одно;
в процедуре допускается описание локальных переменных, а в функции - нет;
в программе обращение к процедуре может осуществляться многократно, тогда как к функции только один раз;
в процедуре допускается использование глобальных переменных, а в функции - нет.
6. Формальные параметры процедуры:
описываются в ее заголовке;
перечисляются при вызове процедуры;
указываются при описании данных в программе;
указываются при описании промежуточных переменных процедуры.
7. Фактические параметры процедуры:
описываются в ее заголовке;
перечисляются при вызове процедуры;
указываются при описании данных в программе;
указываются при описании промежуточных переменных процедуры.
8. Задача о выборах
Пусть шесть населенных пунктов, обозначенные номерами от 1 до 6 (величина k), а пять кандидатов - номерами от 1 до 5 (величина n). Количество голосов, набранных кандидатами в каждом пункте, определяется формулой ak=random(10i+50), где i - номер Вашего варианта. В результате получается таблица результатов голосования, где значения в строках - данные из населенных пунктов, а в столбцах - данные по конкретным кандидатам. Создайте в подпрограмме одномерный массив с искомыми данными в соответствии со своим вариантом.
- Какое количество голосов было подано за первого и второго кандидатов во всех населенных пунктах? У кого из второго, четвертого и пятого кандидатов наивысший рейтинг?
- В каких населенных пунктах второй и четвертый кандидаты набрали максимальное количество голосов? Кто набрал максимальное, а кто минимальное количество голосов в первом населенном пункте?
- Сколько избирателей приняли участие в голосовании в каждом из населенных пунктов? В каких населенных пунктах первый и пятый кандидаты набрали больше 100 голосов?
- Кто из кандидатов имеет максимальный рейтинг? В каких населенных пунктах количество участников выборов не превысило 450?
- Кто из кандидатов набрал максимальное количество голосов во втором населенном пункте? У кого из кандидатов рейтинг больше некоторого заданного числа р?
- В каких населенных пунктах количество опрошенных больше некоторого заданного числа р? Какие кандидаты набрали минимальное количество голосов в каждом из населенных пунктов?
- За кого из кандидатов подано количество голосов меньше некоторого заданного числа р? Какие кандидаты набрали максимальное и минимальное количество голосов во втором и пятом населенных пунктах?
- В каких населенных пунктах первый кандидат набрал максимальное количество голосов? У кого из кандидатов наименьший рейтинг?
- В каком населенном пункте проголосовало наибольшее количество людей? У кого из кандидатов рейтинг превысил некоторое заданное число р?
- Кто из кандидатов набрал наибольшее количество голосов во втором и третьем населенных пунктах? В каких населенных пунктах третий кандидат набрал максимальное количество голосов?
- В каком населенном пункте первый кандидат набрал минимальное количество голосов, а в каком максимальное? Определить номера населенных пунктов, где количество поданных голосов превысило 150.
Для любопытных
Воспользуйтесь поиском по сайту: