М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Клеоок
Клеоок
02.09.2020 01:35 •  Информатика

⦁имя обьекта - ⦁ назначение - ⦁ форма - ⦁ цвет - ⦁ размер - ⦁ действия - ⦁ отношения -

👇
Ответ:
valeriyaa17
valeriyaa17
02.09.2020
Имя объекта стол
назначение есть за ним
форма бывает разной
цвет бывает разным
размер бывает разным
действия может сломатся упасть
отношения никаких
4,8(59 оценок)
Открыть все ответы
Ответ:
Марс2014
Марс2014
02.09.2020
Задача, аналогичная той, которую публиковали вчера. Только цикл repeat заменяем на while.

Сначала немного математики.
\displaystyle a_n= \frac{n!}{(2n)!}=\frac{\prod_{i=1}^ni}{\prod_{i=1}^{2n}i}=\frac{\prod_{i=1}^ni}{\prod_{i=1}^{n}i\times\prod_{i=n+1}^{2n}i}=\frac{1}{\prod_{i=n+1}^{2n}i}; \quad n\in\mathbb N
О модуле тут смысла нет говорить, поскольку все an - суть положительные величины на интервале (0;1).

uses Crt;

function ai(n:integer):real;
var
  i:integer;
  p:real;
begin
  p:=1;
  for i:=n+1 to 2*n do p:=p*i;
  ai:=1/p
end;

var
  i:integer;
  eps,s,an:real;
begin
  ClrScr;
  Write('eps='); Read(eps);
  s:=0; i:=1; an:=eps+1;
  while an>=eps do begin
     an:=ai(i);
     if an>=eps then begin s:=s+an; Inc(i) end
  end;
  Writeln('s=',s);
  ReadKey
end.

Тестовые решения:
eps=0.07
s= 5.8333333333E-01

eps=0.000001
s= 5.9229647667E-01

eps=1e-8
s= 5.9229653448E-01

Для контроля результата можно отметить, что сумма первых 1000 членов ряда равна приблизительно 5.922965365Е-01

Если раздражает наличие функции, можно и без нее:
uses Crt;

var
  i,j:integer;
  eps,s,an,p:real;
begin
  ClrScr;
  Write('eps='); Read(eps);
  s:=0; i:=1; an:=eps+1;
  while an>=eps do begin
    p:=1;
    for j:=i+1 to 2*i do p:=p*j;
    an:=1/p;
    if an>=eps then begin s:=s+an; Inc(i) end
  end;
  Writeln('s=',s);
  ReadKey
end.
4,4(84 оценок)
Ответ:
Mashaaakuzzz
Mashaaakuzzz
02.09.2020
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк (столбцов) в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var (su,sd,sl):=(0,0,0);
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do
      if i<j then su+=a[i,j]
      else
        if i=j then sd+=a[i,j]
        else sl+=a[i,j];
  Writeln('Суммы элементов:');
  Writeln(' - верхней треугольной матрицы ',su);
  Writeln(' - главной диагонали ',sd);
  Writeln(' - нижней треугольной матрицы ',sl)
end.

Пример
Количество строк (столбцов) в матрице: 4
*** Исходная матрица ***
 -73 -89   4  39
  77 -32  23 -45
 -29 -70 -88 -40
 -83   9  21 -46

Суммы элементов:
 - верхней треугольной матрицы -108
 - главной диагонали -239
 - нижней треугольной матрицы -75

"Школьный" вариант

const
  nn=20; { максимальный размер }

var
  a:array[1..nn,1..nn] of integer;
  i,j,n:integer;
  su,sd,sl:longint;
 
begin
  Write('Количество строк (столбцов) в матрице:');
  Readln(n);
  Randomize;
  Writeln('*** Исходная матрица ***');
  su:=0; sd:=0; sl:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(199)-99;
      Write(a[i,j]:4);
      if i<j then su+=a[i,j]
      else
        if i=j then sd+=a[i,j]
        else sl+=a[i,j]
      end;
      Writeln
    end;
  Writeln('Суммыа элементов:');
  Writeln(' - верхней треугольной матрицы ',su);
  Writeln(' - главной диагонали ',sd);
  Writeln(' - нижней треугольной матрицы ',sl)
end.
4,5(60 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ