УРОК 23
Тема: Розроблення та виконання програм з двовимірним масивом
1. Найти максимальный элемент, среди лежащих на и выше главной диагонали.
program mas;
type
arr=array[1..20,1..20] of real;
var
n,m:integer;
a:arr;
s:real;
i,j: integer;
Begin
Writeln('n m');
Readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
а[i,j]:=random(50);
Write(a[i,j]:8:0);
End;
Writeln;
End;
S:=0;
max:=a[n,n];
for i:=1 to n do
for j:=i to n do
if a[i,j]'>'max then
max:=a[i,j];
s:=s+max;
Writeln('s=',s:8:0);
End.
IV. Самостоятельная работа
1. Найти максимальный элемент побочной диагонали
Домашнеe задания –решить задачи
1. Дана действительная квадратная матрица. Найти максимальный элемент среди элементов, лежащих ниже побочной диагонали.(for j:=n+2-I to n do)
2. Найти среднее арифметическое максимального и минимального элементов квадратной матрицы. .(S:=(min+max)/2)
УРОК 24
Тема: Розроблення та виконання програм з двовимірним масивом
1. Дана действительная квадратная матрица порядка 12. Заменить нулями все ее элементы, расположенные на главной диагонали и выше. If (i=j) or (i'<'j) then a[i,j]:=0
Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти: а) сумму всех элементов; б) наибольшее из всех элементов.
Программу составить с процедурами и функциями:
Ввода массива - процедура
Распечатки массива - процедура
Нахождения максимального числа в строке - функция
Нахождения суммы в строке - функция
Поиск максимального в случае, если на диагонали стоит отрицательный элемент – процедура
При это каждая процедура может вызывать функцию, как самостоятельная программа.
Разобрать решенную задачу и составить для нее информационную модель!
Program n136;
Type massiv=array[1..20,1..20] of real;
Var
a:massiv; i,max,k,n,m:integer;s:real;
Procedure Input(n,m:integer;Var a: massiv);
Var
k,j: integer;
Begin
for k:=1 to n do
for j:=1 to m do
a[k,j]:=random(100)-12.5;
End;
Procedure Print(n,m:integer;Var a: massiv);
Var
k,j: integer;
Begin
for k:=1 to n do
begin
for j:=1 to m do
Write(a[k,j]:8:2);
Writeln
End;
Writeln
end;
Function Findmax(i,n:integer;Var a: massiv):real;
Var
j:integer;
max:real;
Begin
max:=a[i,1];
for j:=2 to m do
if a[i,j]'>'max then
max:=a[i,j];
Findmax:=max;
End;
Function summa(i,n:integer;Var a:massiv):real;
Var
j: integer;
s:real;
Begin
S:=0;
for j:=1 TO N DO
S:=S+a[i,j];
summa:=s;
End;
Procedure Poisk(n,m:integer;var a:massiv);
Var
i,j:integer;
s,ma,p:real;
begin
for i:=1 TO N DO
if a[i,i]'<'0 then
Begin
ma:=findmax(i,n,a);
Writeln('max element=',ma:8:2);
p:=summa(i,n,a);
Writeln('summa elemento v stroke=',p:8:2);
End;
End;
Begin
Writeln('vvod n,m');
Readln(n,m);
Input(n,m,a);
Print(n,m,a);
Poisk(n,m,a);
End.
Домашнеe задания –решить задачу.
Дана действительная квадратная матрица порядка п. Получить последовательность элементов главной диагонали и вычислить сумму элементов побочной диагонали.
Подписаться на:
Комментарии к сообщению (Atom)

эмммм... вы мя конешн извините.. но пащему мне за 5 задачу - 0 баллов ??!! оО
ОтветитьУдалитьА ты прислал только 4 задачи! Если я не досмотрела (или ты сделал в одной), исправлюсь! Пересмотрю еще раз!
ОтветитьУдалитьпасыбе... только пожальстэ отправьте ответ как пересмотрите...
ОтветитьУдалитьДима, я пропустила, извини, ведомость отредактировала
ОтветитьУдалитьта все норма.. с кем не бывает))
ОтветитьУдалитьДима, зачем дал списать Миронову и т. д., сразу видно по задаче о максимальном элементе главной диагонали. В этой задаче достаточно обращаться к элементу массива a[i,i], организуя только перебор строк, например.
ОтветитьУдалитьта никто не кому не давал списывать )))) а может они мыслят как я... и не ищут легких путей ... а хотят показать свои способности по оранизации составного оператора ??!! недаром же мы учимся в одном классе... у нас и мысли схожи...
ОтветитьУдалитьпонятно, сам. и контр. работы покажут, если окажется, что я неправа, заберу свои комментарии обратно
ОтветитьУдалитьне-не-не тока не удаляйте их... просто напишите, щто я отказываюсь от своих выше сказаных слов))))
ОтветитьУдалить