Даны три числа: А= 100112, В= 18*10, С= 23*10. Переведите числа в двоичную систему счисления и выполните поразрядно логические операции A˅¬B˄C. ответ дайте в десятичной системе счисления.
Переменная s изначально равна 0. Потом идёт цикл от 10 вниз до 6, который каждый раз будет прибавлять к s единицу (s[новая] = s[старая] + 1). Цикл от 10 до 6 включительно, то есть он буде выполнятся 10-6+1=5 раз (+1 т.к. включительно). Получается мы 5 раз прибавляем к нулю 1. ответ: 0 + 1*5 = 5.
2)s:=0; for i:=8 to 3 do s:=s+1;
Переменная s изначально равна 0. Потом идёт цикл от 8 до 6, который выполнятся не будет, так как 8>6, и увеличиваясь на 1 каждый раз, он никогда не дойдет до 6. Для работы необходимо писать downto вместо to, то есть вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 0. ответ: 0.
3)s:=1; for i:=2 downto 10 dо s:=s+1;
Переменная s изначально равна 1. Потом идёт цикл от 2 вниз до 10, который выполнятся не будет, так как 2<10, и уменьшаясь на 1 каждый раз, он никогда не дойдет до 10. Для работы необходимо писать to вместо downto, то есть до, а не вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 1. ответ: 1.
problems : array [0..9] of String = ('x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10','x1+5=10', 'x1+5=10', 'x1+5=10');
answers : array [0..9] of String = ('-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5');
var
countOfAnswers, counter: integer;
userAnswer: String;
begin
countOfAnswers := 0;
for counter:=0 to 9 do
begin
write('Введите ответ уравнения ', problems[counter], ' : ');
readln(userAnswer);
if userAnswer = answers[counter] then Inc(countOfAnswers);
end;
if countOfAnswers > 8 then writeln('Отлично')
else if countOfAnswers > 5 then writeln('Хорошо')
else writeln('Плохо');
end.
1) 5
2) 0
3) 1
Объяснение:1) s:=0; for i:=10 downto 6 do s:=s+1;Переменная s изначально равна 0. Потом идёт цикл от 10 вниз до 6, который каждый раз будет прибавлять к s единицу (s[новая] = s[старая] + 1). Цикл от 10 до 6 включительно, то есть он буде выполнятся 10-6+1=5 раз (+1 т.к. включительно). Получается мы 5 раз прибавляем к нулю 1. ответ: 0 + 1*5 = 5.
2)s:=0; for i:=8 to 3 do s:=s+1;Переменная s изначально равна 0. Потом идёт цикл от 8 до 6, который выполнятся не будет, так как 8>6, и увеличиваясь на 1 каждый раз, он никогда не дойдет до 6. Для работы необходимо писать downto вместо to, то есть вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 0. ответ: 0.
3)s:=1; for i:=2 downto 10 dо s:=s+1;Переменная s изначально равна 1. Потом идёт цикл от 2 вниз до 10, который выполнятся не будет, так как 2<10, и уменьшаясь на 1 каждый раз, он никогда не дойдет до 10. Для работы необходимо писать to вместо downto, то есть до, а не вниз до. Однако такового тут нет, поэтому цикл не выполняется и переменная s остаётся 1. ответ: 1.