1. Ниже приведена программа:
var s,k: integer;
begin
readln(s);
readln(t);
if (s < 1) and (t < 2)
then
writeln ('YES')
else
writeln ('NO')
end.
Было выведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t):
(3, 5); (4, 3); (4, −5); (0, 7); (0, −2); (−2, 1); (−2, 5); (−2, −4); (1, 2).
Сколько было запусков, при которых программа напечатала «NO»? В качестве решения выпишите все пары запусков и напротив каждого укажите вывод: YES или NO. В ответе укажите количество.
2. Составьте программу, выводящую значение вещественной переменной x, равной значению выражения 2(a+b)/a^2,где a и b – целочисленные переменные, их значения вводятся с клавиатуры.
3. Целое положительное число вводится с клавиатуры. Нужно проверить является ли оно четным.
4. Напишите программу, которая вычисляет сумму n-первых целых положительных чисел S = 1 + 2 + 3 + … + n. Количество суммируемых чисел n должно вводиться пользователем во время работы программы.
Если верить Wiki, микропроцессор КР580ВМ80А - аналог Intel i8080A.
На страничке с описанием i8080 утверждается, что INR reg - инкремент (увеличение на единицу) регистра. В данном случае рассматривается увеличение регистра B со значением 0xFF на единицу. У процессоров серии i80386 есть схожая команда - INC.
По всей вероятности, признаки в КР - то же, что и флаги в i8080. Тогда можно провести аналогию КР - i8080:
CY - CF (перенос)
AC - AF (полуперенос)
S - SF (знак)
Z - ZF (нуль)
P - PF (чётность)
Выполнение команды INC BH (на Intel, BH - 8-битный, как и B в КР) с значением 0xFF даёт 0 в регистре BH и устанавливает в единицу ZF, PF, AF (соотв. признаки Z, P, AC), остальные флаги не меняются.
За правильность решения не ручаюсь.
Пояснение.12710 = 01111111206410 = 010000002Заметим, что в маске во втором бите слева должна стоять единица, а в третьем бите слева — ноль. И так как мы знаем про маски, что в них сначала идут единицы, а потом нули, то получаем, что третий слева байт равен 110000002 = 19210
Правильный ответ: 192