1. задано некоторое натуральное число n. составить алгоритм s=1+2+3+…+n 2. подсчитать количество отрицательных элементов в каждой строке матрицы размером мхn.
// 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.
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.
Предполагаю 55555 - 29 - Ы мой вариант - немного не логичный с некоторой стороны, но попытаюсь объяснить почему 29: -- О - 16 - 10000 в двоичной системе, если посмотреть, то именно 5 цифр получается, что возможно нам и подходит. Д - 5 - 101 возможно, это потому что две 55, и добавляем единицу в конце Т - 20 - 10100 тут образуются все 5 цифр, и как перед этим (Д - 5), получаем 101 Ч - 26 - 11010 тут просто добавляется 1 в перед и далее 55555, так как с 5555 получили просто впереди 1, то скорее всего, и тут добавляется 1, и получаем число 11101 = 29
Сумма номеров от 1 до 9 равна 45. Сумма от 10 до 19 равна 10 + 45 = 55. Сумма от 20 до 29 равна 2*10 + 45 = 65. Сумма от 30 до 39 равна 3*10 + 45 = 75. ... Сумма от 90 до 99 равна 9*10 + 45 = 135. Сумма всех цифр от 1 до 99 равна 45 + 55 + 65 + ... + 135 = (45 + 135)*10/2 = 180*10/2 = 900 В номерах от 100 до 199 та же сумма цифр 900 + 100*1 = 1000 В номерах от 200 до 209 сумма цифр 2*9 + 45 = 18 + 45 = 63 В номерах от 210 до 212 сумма цифр 2+1+0+2+1+1+2+1+2 = 12 Итого сумма всех цифр 900 + 1000 + 63 + 12 = 1975
// Внимание! Если программа не работает, обновите версию!
№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