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

Решите информатику! Язык Паскаль. Надо написать программу.
WHILE5

Вычислить сумму 10-ти четных чисел начиная с 14, используя цикл while (т.е. 14 + 16 + 18 ... - всего 10 чисел).

Подсказка: для того, чтобы узнать, является ли число четным, надо узнать его остаток от деления на 2.

Подсказка2:

В while5 надо написать цикл. Требуется вс переменная, с которой можно будет подсчитать сумму четных чисел (SUM). Изначально SUM = 0.

Начальное значение для переменной i должно быть равно 14.

Далее начинается цикл (while (i < ?) do) //подобрать число, чтобы действительно складывалось ровно 10 четных чисел:
в цикле проверяем, является ли текущее значение i - четным (if (i mod 2 = 0) then)
если да, то увеличиваем значение переменной SUM - прибавляем к переменной суммы четное число (SUM := SUM + i)
если нет, то ничего не делаем.
Переходим к следующему значению i (i := i + 1)
На этом цикл заканчивается.

После цикла нужно вывести значение SUM.

*В данном случае SUM - накопляемая переменная. Изначально сумма равна 0, с каждым шагом цикла значение суммы увеличивается на четное число. Сумма накапливается.
**Есть второй если придумать на какое число нужно каждый раз изменять Значение i , то можно обойтись без проверки на четность.

WHILE6

Вычислить произведение 5-ти нечетных чисел начиная с 7, используя цикл while (т.е. 7*9*... - всего 5 чисел).

Для желающих:

WHILE7

Ввести с клавиатуры 7 чисел. Сосчитать количество четных чисел в последовательности.

Т.е. с клавиатуры вводится последовательность 3 7 5 4 9 10 24
В результате программа должна вывести: количество четных чисел = 3.

Подсказка:
внутри цикла while должна располагаться команда read(a), которая позволяет считать значение переменной с клавиатуры. Эта команда будет повторяться столько раз, сколько раз будет повторяться тело цикла. Пример, как это должно выглядеть:

...
while (условие) do
begin
read(a);
... //необходимые действия для подсчета нечетного числа
end;

👇
Открыть все ответы
Ответ:
dmitrykim2000
dmitrykim2000
18.04.2023
     uses
      Crt;
     
    const
      n = 8;
      m = 10;
     
    var
      A: array[1..m, 1..n] of real;
      L, R, i, j, S: integer;
      x, k: real;
      Sort: boolean;
     
    begin
      
      clrscr;
      
      
      randomize;
      for i := 1 to m do
        for j := 1 to n do
          A[i, j] := random(100) / 10;
      writeln('Матрица A');
      
      
      repeat
        Sort := False;
        for i := 1 to m do
          for j := 1 to n - 1 do
            if A[i, j] > A[i, j + 1] then begin
              k := A[i, j];
              A[i, j] := A[i, j + 1];
              A[i, j + 1] := k;
              Sort := True;
            end;
      until
      sort = False;
      
      for i := 1 to m do
      begin
        for j := 1 to n do
          write(A[i, j]:6:1);
        writeln;
      end;
      writeln;
      
      
      writeln('Ввод x');
      readln(x);
      
      for i := 1 to m do
      begin
        L := 1;
        R := n;
        while L < R do
        begin
          j := trunc((L + R) / 2);
          if A[i, j] < x then
            L := j + 1
          else
            R := j;
        end;
        if A[i, R] = x then
          writeln('В ', i, ' строке позиция x:', i, ',', R)
        else
          writeln('В ', i, ' элемент не найден');
      end;
      
      readkey;
      
    end.
4,7(97 оценок)
Ответ:
Dima98891
Dima98891
18.04.2023
Во первых зачем тут числа Фибоначи?

На вход подается 2 числа: a,b где
2^a + 2^(a+1) + 2^(a+2) + ...  2^(b-2) +  2^(b-1) + 2^b

На выводе число - результат формулы выше при подстановке a и b

1 вариант через цикл, сложность O(n):

VAR 
  a, b, adder, sum, i: INTEGER;
BEGIN 
  READ(a, b); 
  adder := 1; 
  FOR i := 1 TO b DO 
  BEGIN   
    adder := 2 * adder;   
    IF (i >= a)   
    THEN     
      sum := sum + adder 
  END; 
  WRITELN(sum);
END.

2 вариант через побитовые сдвиги, сложность O(1):

VAR  a, b: INTEGER;
BEGIN 
  READ(a, b);
  WRITELN((1 SHL (b+1)) - (1 SHL (a)));
END.
4,5(64 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ