понедельник, 21 декабря 2009 г.

Задание на карантин с 21.12 по 26.12. Ответы прислать на почту. Оценки в ведомости

УРОК 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 задания –решить задачу.
Дана действительная квадратная матрица порядка п. Получить последовательность элементов главной диагонали и вычислить сумму элементов побочной диагонали.