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

Допустим что тело цикла должно содержать два оператора. какие из операторов правильные, какие нет и почему? a) for i: =12 to 15 do s: =s+i; б) for a: =30 to 20 do if a mod 3=0 then d: =d+1; c) for x: =1 to 20 do s: =s+x; if (xmod 2=0) or (x mod 3=0) then d: =d+1;

👇
Ответ:
1Velkon1
1Velkon1
28.08.2022
Они все "неправильные", потому что в каждом из вариантов тело цикла содержит один оператор. В случаях а) и с) это оператор присваивания, в случае б) - условный оператор. Если бы тело цикла содержало более одного оператора, то по правилам языка Паскаль, эти операторы заключались бы в операторные скобки begin... end.

Подозреваю, что правильный ответ должен быть б), но дело в том, что оператор присваивания d:=d+1 принадлежит не телу цикла, а условному оператору, находящемуся в теле цикла, а для цикла оператор один - условный.
4,8(100 оценок)
Открыть все ответы
Ответ:
nikitakondrate1
nikitakondrate1
28.08.2022
Тебя интересует левое верхнее число из матрицы \begin{pmatrix}
1 & 1 \\ 1 & 1
\end{pmatrix}^{12}, что, кстати, является 12 числом фибоначчи

#include <iostream>
// матрица 2 на 2// a  b// c  dtemplate< typename T = int >class matrix2{public:    T a, b, c, d;
    matrix2() : a(0), b(0), c(0), d(0)    {}    matrix2(T a, T b, T c, T d) : a(a), b(b), c(c), d(d)    {}
    matrix2 & operator *= (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        a = ta, b = tb, c = tc, d = td;    }
    matrix2 operator * (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        return matrix2(ta, tb, tc, td);    }
    matrix2 pow(int power)    {        matrix2 result(1, 0, 0, 1);        matrix2 cur = *this;        while (power)        {            if (power & 1)            {                power ^= 1;                result *= cur;            }            else            {                power >>= 1;                cur *= cur;            }        }        return result;    }
    void operator = (matrix2 other)    {        a = other.a;        b = other.b;        c = other.c;        d = other.d;    }
    friend std::ostream & operator << (std::ostream & ostr, matrix2 ma)    {        ostr << std::endl;        ostr << ma.a << "  " << ma.b << std::endl;        ostr << ma.c << "  " << ma.d << std::endl;        return ostr;    }
};
int main(void){    matrix2< int > m1(1, 1, 1, 0), tmp;
    const int N = 12;
    std::cout << m1.pow(N).a;
    return 0;}
4,8(19 оценок)
Ответ:
Gamonga
Gamonga
28.08.2022
//задача 1program _sqrt;var ar:array[1..100] of integer;i:integer;Res:real;beginfor i:=1 to 100 do ar[i]:=i;for i:=1 to 100 do if ar[i] mod 2=0 then res:=res+ar[i];res:=sqrt(res);write(res);end.
//задача 2. 100 элементов слишком много для произведенияprogram _sqrt;var ar:array[1..10] of integer;i:integer;res:int64;beginres:=1;for i:=1 to 10 dobeginar[i]:=i;res:=res*sqr(ar[i]);end;write(res);end.
//задача 3program _sqrt;var ar:array[1..100] of integer;i:integer;res:int64;beginfor i:=1 to 100 dobeginar[i]:=i;if ar[i] mod 2=1 then res:=res+ar[i];end;write(res);end.
4,6(75 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ