Предмет: Информатика,
автор: ekaterinagolys
1. Задано некоторое натуральное число N. Составить алгоритм S=1+2+3+…+N
2. Подсчитать количество отрицательных элементов в каждой строке матрицы размером МхN.
Ответы
Автор ответа:
0
1)
Var
S:real;
N:longint;
Begin
Write('n = ');
Read(n);
S:=0;
For n:= 1 to n do
S:=S+n;
WriteLn('S = ',S);
End.
2)
Вариант первый:
Var
A:array[1..10000,1..10000] of shortint;
M,N,j,k:word;
Begin
Randomize;
Write('M = ');ReadLn(M);
Write('N = ');ReadLn(N);
WriteLn('Исходная матрица:');
For M:= 1 to M do
Begin
k:=0;
For j:= 1 to N-1 do
Begin
A[M,j]:=random(21)-10;
Write(A[M,j]:3,' ');
if A[M,j] < 0 then k:=k+1
End;
A[M,j]:=random(21)-10;
Write(A[M,j]:3);
if A[M,j] < 0 then k:=k+1;
WriteLn(', k = ',k)
End;
End.
Вариант второй:
uses Crt;
///На всех версиях, кроме PascalABC.NET эту процедуру следует удалить
procedure Window(x, y, w, h: integer);
begin
System.Console.WindowLeft:=x;
System.Console.WindowTop:=y;
System.Console.WindowWidth:=w;
System.Console.WindowHeight:=h;
end;
Var
A:array[1..13,1..13] of integer;
N,M,i,j,t,o,k:integer;
Begin
Randomize;
TextBackGround(15);
TextColor(0);
Repeat
N:=random(13)+1;
M:=random(13)+1;
t:=3000 div (N*M);
if frac(Ln(N*M)/Ln(10)) = 0 then o:=1+Trunc(Ln(N*M)/Ln(10))
else o:=2+Trunc(Ln(N*M)/Ln(10));
Window(0,0,90,25);
ClrScr;
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(N*M*2+1)-(N*M);
Delay(t);
Write(A[i,j]:o,' ')
End;
WriteLn;
End;
TextBackGround(10);
For i:= 1 to N do
Begin
k:=0;
For j:= 1 to M do
Begin
if A[i,j] < 0 then
Begin
TextBackGround(14);
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
TextBackGround(10);
k:=k+1
End
else
Begin
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
End;
Delay(t);
End;
TextBackGround(12);
GotoXY(j*(o+1),i);
Write(', k = ',k);
TextBackGround(10);
End;
TextBackGround(15);
GotoXY(1,N+1);
Write('1 - повторить, 0 - Выйти.');
Until ReadKey = '0'
End.
Var
S:real;
N:longint;
Begin
Write('n = ');
Read(n);
S:=0;
For n:= 1 to n do
S:=S+n;
WriteLn('S = ',S);
End.
2)
Вариант первый:
Var
A:array[1..10000,1..10000] of shortint;
M,N,j,k:word;
Begin
Randomize;
Write('M = ');ReadLn(M);
Write('N = ');ReadLn(N);
WriteLn('Исходная матрица:');
For M:= 1 to M do
Begin
k:=0;
For j:= 1 to N-1 do
Begin
A[M,j]:=random(21)-10;
Write(A[M,j]:3,' ');
if A[M,j] < 0 then k:=k+1
End;
A[M,j]:=random(21)-10;
Write(A[M,j]:3);
if A[M,j] < 0 then k:=k+1;
WriteLn(', k = ',k)
End;
End.
Вариант второй:
uses Crt;
///На всех версиях, кроме PascalABC.NET эту процедуру следует удалить
procedure Window(x, y, w, h: integer);
begin
System.Console.WindowLeft:=x;
System.Console.WindowTop:=y;
System.Console.WindowWidth:=w;
System.Console.WindowHeight:=h;
end;
Var
A:array[1..13,1..13] of integer;
N,M,i,j,t,o,k:integer;
Begin
Randomize;
TextBackGround(15);
TextColor(0);
Repeat
N:=random(13)+1;
M:=random(13)+1;
t:=3000 div (N*M);
if frac(Ln(N*M)/Ln(10)) = 0 then o:=1+Trunc(Ln(N*M)/Ln(10))
else o:=2+Trunc(Ln(N*M)/Ln(10));
Window(0,0,90,25);
ClrScr;
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(N*M*2+1)-(N*M);
Delay(t);
Write(A[i,j]:o,' ')
End;
WriteLn;
End;
TextBackGround(10);
For i:= 1 to N do
Begin
k:=0;
For j:= 1 to M do
Begin
if A[i,j] < 0 then
Begin
TextBackGround(14);
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
TextBackGround(10);
k:=k+1
End
else
Begin
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
End;
Delay(t);
End;
TextBackGround(12);
GotoXY(j*(o+1),i);
Write(', k = ',k);
TextBackGround(10);
End;
TextBackGround(15);
GotoXY(1,N+1);
Write('1 - повторить, 0 - Выйти.');
Until ReadKey = '0'
End.
Автор ответа:
0
огромное спасибо
Автор ответа:
0
Эту программу можно написать в 7, в 21, и в 63 строки=D
Автор ответа:
0
Можно и длиннее. Если заняться больше нечем.
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1478 от 10.06.2017
// Внимание! Если программа не работает, обновите версию!
№1
begin
var n:=ReadInteger('n=');
Writeln('S=',n*(n+1) div 2)
end.
Пример
n= 15373
S=118172251
№2
begin
var m:=ReadInteger('Количество строк в матрице:');
var n:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Количество отрицательных элементов построчно:');
a.Rows.Select(r->r.Where(x->x<0).Count).Println
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
88 43 64 50 -27 -9 48 55
1 40 -39 -99 -45 -54 17 -77
-33 99 -38 -19 -93 18 -19 -24
17 4 -36 90 98 69 68 35
-35 18 85 54 -74 -69 14 -62
--------------------------------
Количество отрицательных элементов построчно:
2 5 6 1 4
// Внимание! Если программа не работает, обновите версию!
№1
begin
var n:=ReadInteger('n=');
Writeln('S=',n*(n+1) div 2)
end.
Пример
n= 15373
S=118172251
№2
begin
var m:=ReadInteger('Количество строк в матрице:');
var n:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Количество отрицательных элементов построчно:');
a.Rows.Select(r->r.Where(x->x<0).Count).Println
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
88 43 64 50 -27 -9 48 55
1 40 -39 -99 -45 -54 17 -77
-33 99 -38 -19 -93 18 -19 -24
17 4 -36 90 98 69 68 35
-35 18 85 54 -74 -69 14 -62
--------------------------------
Количество отрицательных элементов построчно:
2 5 6 1 4
Автор ответа:
0
Фуу, как коротко и просто...=))
Автор ответа:
0
"Учись, студент!" (с)
Автор ответа:
0
Мне больше нравится по-другому писать
Автор ответа:
0
У меня это прошло. Лет так 25 назад.
Автор ответа:
0
В родстве со всем, что есть, уверясь
И знаясь с будущим в быту,
Нельзя не впасть к концу, как в ересь,
В неслыханную простоту.
Но мы пощажены не будем,
Когда ее не утаим.
Она всего нужнее людям,
Но сложное понятней им
(Б.Пастернак)
И знаясь с будущим в быту,
Нельзя не впасть к концу, как в ересь,
В неслыханную простоту.
Но мы пощажены не будем,
Когда ее не утаим.
Она всего нужнее людям,
Но сложное понятней им
(Б.Пастернак)
Похожие вопросы
Предмет: Алгебра,
автор: matvienkoalbina3
Предмет: Английский язык,
автор: serdekovmax
Предмет: Алгебра,
автор: nikianja10091998
Предмет: Алгебра,
автор: Жориккак2002