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

Управление исполнителем Чертёжник. Задание 6.
Напишите команду. Образец как надо делать 4 задание

Показать ответ
Ответ:
Янеж2005
Янеж2005
08.02.2020 14:51
Это в том случае, когда нужно, чтобы компьютер сам выдавал рандомные числа:

var
a:array [1..100] of integer;
i: integer;
begin
for i:=1 to 100 do    begin
a[i]:=random (100)-50;
if (a[i] mod 3=0)and(a[i] mod 6<>0) then 
write(a[i]);     end;
end.

если же есть определенный ряд чисел, то программа будет выглядеть вот так:

var
a:array [1..100] of integer;
i, n: integer;
begin
read(n); - здесь вводим кол-во чисел.
for i:=1 to n do    begin
read(a[i]); - вводим числа с клавиатуры.
if (a[i] mod 3=0)and(a[i] mod 6<>0) then 
write(a[i], ' ');     end;
end.
0,0(0 оценок)
Ответ:
VADIMSTRENDG
VADIMSTRENDG
23.08.2022 10:58
1) Решение с рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
function f(i: integer): longint;
begin
  if i < 2 then
    f := 1
  else
    f := f(i - 1) + f(i - 2);
end;

begin
  writeln('f(10) = ', f(10));
  writeln('f(25) = ', f(25));
  writeln('f(40) = ', f(40));
end.
2) Решение с динамического программирования. Вычисляет намного быстрее, чем решение с рекурсией.
var
  i: integer;
  f: array[0..40] of longint;
begin
  f[0] := 1;
  f[1] := 1;
  for i := 2 to 40 do
    f[i] := f[i - 1] + f[i - 2];
  writeln('f(10) = ', f[10]);
  writeln('f(25) = ', f[25]);
  writeln('f(40) = ', f[40]);
end.
3) Решение с моделирования. Использует меньше памяти.
function f(i: integer): longint;
var
  a, b: longint;
  j: integer;
begin
  if i < 2 then
    f := 1
  else
  begin
    a := 0;
    b := 1;
    for j := 0 to i do
    begin
      b := a + b;
      a := b - a;
    end;
    f := a;
  end;
end;

begin
  writeln('f(10) = ', f(10));
  writeln('f(25) = ', f(25));
  writeln('f(40) = ', f(40));
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота