1. Задано некое естественное число N. Составить метод S=1+2+3++N2. Подсчитать

1. Задано некое естественное число N. Составить метод S=1+2+3++N
2. Подсчитать количество отрицательных частей в каждой строке матрицы размером МхN.

Задать свой вопрос
Игорь Косолапенков
А язык-то какой?
Galina Shundenko
паскаль
Вера Слвботская
меня 2 больше всего интерисует, а 1 для проверк
Виталя
Скажите, какой конкретно Паскаль(Turbo, Free ABC, ABC.NET), можно будет программку несколько по другому написать, в зависимости от версии=))
2 ответа
// 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-gt;r.Where(x-gt;xlt;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)

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)

Вариант 1-ый:

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] lt; 0 then k:=k+1
        End;
    A[M,j]:=random(21)-10;
    Write(A[M,j]:3);
    if A[M,j] lt; 0 then k:=k+1;
    WriteLn(', k = ',k)
    End;
End.



Вариант 2-ой:

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] lt; 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.
Galdverg Sergej
громадное спасибо
Алла Церцвадзе
Эту программку можно написать в 7, в 21, и в 63 строки=D
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт