ПОМНИТЕ: СООБЩЕНИЯ В БЛОГЕ ДОБАВЛЯЮТСЯ В ОБРАТНОМ ХРОНОЛОГИЧЕСКОМ ПОРЯДКЕ! ЭТО уже 2 урок, не приступать, пока не проработаете урок 1 (ниже)
Тема: Розроблення та виконання програм з двовимірним масивом
Цель:
Ход урока
Найти сумму элементов побочной диагонали.
for i:=1 to n do
for j:= 1 to m do
if i+j=n+1 then s:=s+a[I,j]
Решение задач
1. Дана матрица размером n*m. Найти сумму положительных элементов матрицы
program mas;
type
arr=array[1..20,1..20] of real;
var
n,m:integer;
a:arr;
s:real;
Procedure input(n,m: integer;Var a:arr);
Var
i,j: integer;
Begin
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(50);
End;
Procedure Print(n,m: integer;Var a:arr);
Var
i,j: integer;
Begin
for i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:8:0);
Writeln;
End;
End;
Procedure summa(n,m: integer;Var a:arr;Var s:real);
Var
i,j: integer;
Begin
S:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]'>'0 then
S:=S+a[i,j];
End;
Begin
Writeln('n m');
Readln(n,m);
Input(n,m,a);
Writeln('ishodnaya matrix');
Print(n,m,a);
summa(n,m,a,s);
Writeln('s=',s:8:0);
End.
Задача без процедур
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
for j:=1 to m do
а[i,j]:=random(50);
for i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:8:0);
End;
for i:=1 to n do
for j:=1 to m do
if a[i,j]'>'0 then
S:=S+a[i,j];
Writeln('s=',s:8:0);
End.
Самостоятельно!!!
Задача 2. Дана действительная матрица размером n*m. Найти сумму максимального и минимального элементов матрицы. В одно цикле сделать заполнение и распечатку.
Домашнее задание –решить задачи.
1. Вычислить сумму наибольших значений элементов строк.
2. Дана действительная квадратная матрица порядка п. Найти наибольший элемент главной диагонали.
Составить блок-схему этапа обработки
понедельник, 14 декабря 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)

Комментариев нет:
Отправить комментарий