Sudzuky
09.05.2022 00:18

ОЧЕНЬ НУЖНО 1. напишіть програму, яка вивидить на екран ваше им'я 20 разів 2. Змініть її так, щоб на екран виводилося лише половина цих слів.

3. Змініть її, щоб на екран виводилося одне слово

4.Знайдіть суму перших 100 натуральних чисел

5.Знайдіть суму перших 20 парних натуральних чисел

6.Знайдіть суму перших 20 непарних натуральних чисел

7. Знайдіть добуток перших 10 натуральних чисел

8. Знайдіть добуток перших 5 парних натуральних чисел

9. Знайдіть добуток перших 5 непарних натуральних чисел

10. Змініть програму так, щоб вона працювала для будь-якаї кількості чисел.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Const PTR = 10;
type razbivka = array[0..PTR] of byte;
var n, i, z, k: byte;
x: razbivka;
procedure p(var x: razbivka; var z: byte);
var i, j, s: byte;
begin
i := z - 1;
s := x[z];
while (i > 1) and ( x[i - 1] <= x[i] ) do
begin
s := s + x[i];
dec(i);
end;
inc( x[i] );
z := i + s - 1;
for j := i + 1 to z do
x[j] := 1;
end;
begin
write('Введите число: ');
readln(n);
write(n,' = ');
z := n;
for i := 1 to z do
x[i] := 1;
for i := 1 to n do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
repeat
p( x, z );
inc(k);
write( n,' = ' );
for i := 1 to z do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
until z = 1;
end.

p.s: нашел в интернете для вас вариант с рекурсией. Сами можете убедиться, что с ней только хуже (по быстродействию уж точно)

const  m = 100;
var  a: array[1..m] of integer;
k, n: integer;
procedure p(j,n: integer);
var  i: integer;
begin if ( n = 0 ) and ( k > 1 ) then
begin  for i := 1 to k do
write( a[i] : 4 );
writeln;
end else for i := j to n do
begin
Inc(k);
a[k] := i;
p( j, n - i );
Dec(k);
end;
end;
begin
write('Введите число: ');
readln(n);
k := 0;
p(1,n);
end.

значения PTR и m можно поставить и больше, но тогда я не ручаюсь)
0,0(0 оценок)
Ответ:
Мику35
18.11.2022 06:22
Program ex;

// Функция для определения из двух чисел минимальное
function min(a, b: real): real;
begin
    if (a > b) then min := b else min := a
end;

// Функция для определения из двух чисел максимальное
function max2(a, b: real): real;
begin
    if (a > b) then max2 := a else max2 := b
end;

// Функция для определения из трех чисел максимальное
function max3(a, b, c: real): real;
begin
    // Сначала определяем максимальное из первых двух чисел,
    // затем у нас останется два числа и нам остается определить
    // максимальное из них
    max3 := max2(max2(a, b), c);
end;

var
    x, y, z, d, max_int: real;
begin
    writeln('Введите 4 числа');
    readln(x, y, z, d);
    max_int := max3(min(x, y), min(x, z), min(z, d));
    writeln(max_int);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота