В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
smesh33221
smesh33221
18.01.2022 15:46 •  Информатика

Создать структуру базы данных "Соревнования по фигурному катанию". Задать создание 3 таблиц. Показать связи между таблицами. Если есть доступ к программному обеспечению MS Access, то выполнить задание с данного приложения. Прислать на проверку скриншоты созданной базы данных. Если доступа к ПО нет, то задание нужно выполнить письменно. Начертить таблицы, показать связи между таблицами.

Показать ответ
Ответ:
orliniyglassoyccc0
orliniyglassoyccc0
09.01.2023 07:59
Задача, аналогичная той, которую публиковали вчера. Только цикл 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 оценок)
Ответ:
starlizz
starlizz
05.07.2021 13:02
Uses Crt;
const
  n=15;
var
  a:array[1..n] of integer;
  i,j,k,t:integer;
  found:boolean;
begin
  ClrScr;
  Randomize;
  Writeln('Исходный массив:');
  for i:=1 to n do begin
    a[i]:=Random(90)+1;
    Write(a[i],' ')
  end;
  Writeln;
  i:=n; found:=False;
  repeat
    found:=(a[i] mod 2=0);
    if (not found) then Dec(i)
  until found or (i=0);
  if found then begin
    for i:=i to n-1 do a[i]:=a[i+1];
    Writeln('Результирующий массив:');
    for i:=1 to n-1 do Write(a[i],' ')
  end;
  ReadKey
end.
Тестовое решение:
Исходный массив:
60 90 39 83 24 70 82 53 45 5 12 9 85 57 47
Результирующий массив:
60 90 39 83 24 70 82 53 45 5 9 85 57 47
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота