aibergenova198
15.10.2021 19:36

РЕШИТЬ ЗАДАЧКУ ПО ИНФОРМАТИКЕ Текст, набранный на компьютере, содержит 100 символов. определите информационный объем текста в байтах.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
GeneralEsdese
13.06.2022 14:38
Задача, аналогичная той, которую публиковали вчера. Только цикл 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.
0,0(0 оценок)
Ответ:
alisabeletzkay
05.01.2023 02:29
Задание #1.

const
N = 10;

var
a : array[1..N] of integer;

begin

    randomize;
    for I : byte := 1 to N do
    begin 
       a[i] := random(1, 5);
       write(a[i],' ');
    end;

    for I : byte := 2 to N do
    if a[1] = a[i] then writeln(i);

end.

Задание #2.

const
K = 2;
N = 10;

var
a : array[1..N] of integer;

begin

    for I : byte := 1 to N do
    begin
       readln(a[i]);
       if a[i] mod k = 0 then write(a[i],' ');
    end;  

end.

Задание #3.

const
Z = 2;
N = 10;

var
a : array[1..N] of integer;
count : word;

begin

    count := 0; 

    for I : byte := 1 to N do
    begin
       readln(a[i]);
       if a[i] > Z then
       begin
          a[i] := Z; 
          Inc(count);
       end;
end;

      for I : byte := 1 to N do
      write(a[i],' '); 

      writeln;

      writeln(count);

 end.

Стоит на на всякий случай пояснить, что N, K, Z - константы, их можно легко поменять, так гораздо удобнее работать с программой, если нужно что-то поменять. Процедура Inc( ) - прибавляет единицу, это короче чем писать Count := Count + 1;  В первом задание в цикле, который ищет значение элементов массива, которые равны первому элементу массива, я начал со второго элемента. потому что очевидно, что первый элемент будет равен самому себе. Надеюсь, вам написанные мной программы, она не сложные, вам стоит внимательно их просмотреть и, вы сможете без труда их понять самостоятельно, если пожелаете, разумеется.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота