
- •Экзаменационный вопрос №1 базовые понятия алгоритмизации
- •Экзаменационный вопрос №2 средства изображения алгоритмов
- •Экзаменационный вопрос № 3 базовые канонические структуры алгоритмов
- •Экзаменационный вопрос № 16. Общая характеристика языка программирования паскаль
- •Экзаменационный вопрос № 17. Программирование ввода-вывода данных различного типа
- •Экзаменационный вопрос № 18. Программирование линейных вычислительных процессов
- •Экзаменационный вопрос № 19. Программирование разветвляющихся вычислительных процессов с использованием if -then –else
- •Экзаменационный вопрос № 20. Программирование разветвляющихся вычислительных процессов с использованием оператора case
- •Экзаменационный вопрос № 21.
- •Экзаменационный вопрос № 22. Программа вычисления корней квадратного уравнения
- •Экзаменационный вопрос № 23. Программирование разветвляющихся структур с использованием в цикле операторов repeat – until
- •Экзаменационный вопрос № 24. Программа вычисления суммы бесконечного ряда
- •Экзаменационный вопрос № 25. Программирование циклических вычислительных структур
- •Экзаменационный вопрос № 26. Программирование с использованием цикла с параметрами
- •Экзаменационный вопрос № 27. Программирование циклов с постусловием
- •Экзаменационный вопрос № 28. Программирование с использованием подпрограмм
- •Экзаменационный вопрос № 29. Алгоритмы нахождения корней уравнений
- •Экзаменационный вопрос № 30. Алгоритмы численного интегрирования
- •Экзаменационный вопрос № 31. Программа вычисления определенного интеграла методом прямоугольников
- •Экзаменационный вопрос № 32. Программа вычисления определенного интеграла методом трапеций
- •Экзаменационный вопрос № 33. Программа вычисления определенного интеграла методом симпсона
- •Экзаменационный вопрос № 34. Программа вычисления корней алгебраического уравнения методом половинного деления
- •Экзаменационный вопрос № 35. Программа вычисления корней алгебраического уравнения методом ньютона
- •Экзаменационный вопрос № 36. Программа вычисления корней алгебраического уравнения методом хорд
- •Экзаменационный вопрос № 37. Программирование операций в одномерных массивах
- •Экзаменационный вопрос № 38. Программирование операций в двумерных массивах (На примере задания 1)
- •Экзаменационный вопрос № 39. Программирование операций в двумерных массивах (На примере задания 2)
- •Экзаменационный вопрос № 40. Построение графических изображений
- •Экзаменационный вопрос № 41. Программа для построения объекта с циклическим изменением цвета
- •Экзаменационный вопрос № 42. Программа для построения динамического объекта
Экзаменационный вопрос № 38. Программирование операций в двумерных массивах (На примере задания 1)
Задание1
Исходные данные.
Дана
матрица А
размерности 4 × 4:
.
1. Найти сумму элементов заданного столбца.
2. Определить сумму элементов заданной строки .
3. Найти сумму элементов на главной диагонали.
4. Определить минимальный и минимальный элементы матрицы. Вывести положение минимального и максимального элементов в матрице.
5. Поменять эти элементы местами.
6. Найти количество положительных элементов.
Код программы.
Program primer2; {название программы}
uses crt; {подключение стандартного пакета}
const
{задание матрицы}
A:array [1..4,1..4] of integer= ((0,–3,2,1),(8,–11,–1,4),(2,10,7,–45),(9,0,67,1));
var i,j,i1,j1: integer; {задание переменных счетчиков}
maxi,mini,maxj,minj,p,k,sum:integer; {переменные для хранения
минимального и максимального элементов, суммы, количества элементов}
begin;
clrscr;{очистка экрана}
sum:=0;
{------------------------------------------------------------------------------------------}
{нахождение суммы элементов заданного столбца}
write('Введите номер столбца для нахождения суммы его эл-тов j1=');
readln(j1);
for i:=1 to 4 do
sum:=sum+a[i,j1];
writeln('Сумма по заданному столбцу: ',sum:5);
{------------------------------------------------------------------------------------------}
{нахождение суммы элементов заданной строки}
write('Введите номер строки для нахождения суммы ее эл-тов i1=');
readln(i1);
for j:=1 to 4 do
sum:=sum+a[i1,j];
writeln('Сумма по заданной строке: ',sum:5);
sum:=0;
{------------------------------------------------------------------------------------------}
{сумма элементов на главной диагонали}
sum:=0;
for i:=1 to 4 do
sum:=sum+a[i,i];
writeln('Сумма элементов на главной диагонали: ', sum:5);
{------------------------------------------------------------------------------------------}
{нахождение и вывод максимального и минимального элементов}
mini:=1;
minj:=1;
maxi:=1;
maxj:=1;
for i:=1 to 4 do
begin;
for j:=1 to 4 do
begin;
if A[i,j]>=A[maxi,maxj] then
begin;
maxi:=i; {запоминаем позицию нового максимального}
maxj:=j;
end;
if A[i,j]<=A[mini,minj] then
begin;
mini:=i; {запоминаем позицию нового минимального}
minj:=j;
end;
end;
end;
writeln('Минимальный элемент: A[',mini,',',minj,']=',A[mini,minj]);
writeln('Максимальный элемент: A[',maxi,',',maxj,']=',A[maxi,maxj]);
{------------------------------------------------------------------------------------------}
{замена местами минимального и максимального элементов}
p:=A[mini,minj];
A[mini,minj]:=A[maxi,maxj];
A[maxi,maxj]:=p;
{Вывод преобразованной матрицы А}
writeln('Матрица после замены местами максимального и минимального
элементов:');
for i:=1 to 4 do
begin;
for j:=1 to 4 do
write(A[i,j]:5);
writeln;
end;
{------------------------------------------------------------------------------------------}
{нахождение кол-ва неотрицательных элементов}
k:=0;
for i:=1 to 4 do
begin;
for j:=1 to 4 do
if A[i,j]>0 then k:=k+1;
end;
writeln('количество положительных элементов: ',k:4);
readln;{ожидание нажатия клавиши ввода}
end.