1. Задано некоторое натуральное число N. Составить алгоритм S=1+2+3+…+N 2. Подсчитать количество отрицательных элементов в каждо
1. Задано некоторое натуральное число N. Составить алгоритм S=1+2+3+…+N 2. Подсчитать количество отрицательных элементов в каждой строке матрицы размером МхN.
<em>// PascalABC.NET 3.2, сборка 1478 от 10.06.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
<em>№1</em>
begin var n:=ReadInteger('n='); Writeln('S=',n*(n+1) div 2) end.
<u>Пример</u> n= 15373 S=118172251
<em>№2</em>
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.
program m1; uses crt; var a,b,c,d:integer; begin write('Введите число: '); readln(a); {Задаем число} b:=a mod 10; {В переменную b заносится значение последней цифры в числе} a:=a div 10; {Сокращаем переменную до 2 чисел} c:=a mod 10; {В переменную c заносится значение последней(второй) цифры в числе} a:=a div 10; {Сокращаем переменную до 2 чисел} d:=a mod 10; {В переменную d заносится значение первой цифры в числе} if (d*b = d + c) then writeln('Произведение 1 и 3 цифры и сумма 2 и 1 цифр равны!') else writeln('Произведение 2 и 3 цифры и сумма 1 и 1 цифры не равны!'); end.