1) Какое значение получится при вычислении следующего выражения, записанного на Паскале?
6 div 5 * 3 – 5 mod 2 + 17 div 3
2) Напиши на Паскале выражение для определения второй справа цифры в записи целого числа N (10 ≤ N ≤
99). Например: для числа N = 43 результатом будет цифра 4.
3) Запиши на Паскале формулу: 1
√ +3
+ (1 + )
2
.
4) Дан фрагмент программы на Паскале. Используя трассировочную таблицу, найди для данного фрагмента
программы. Чему будет равно значение переменной s.
a:=1; b:=1;
while (a+b) < 16 do
begin
a:=a+1; b:=b+2
end;
s:=a+b
5) Задано заполнение массива: for i:=1 to 5 do a[i]:=i*i.
Чему равно a[2]+a[5]?
6) Составь блок-схему и определи, что выведет программа после выполнения на Паскале:
program test;
var x, y: integer;
begin
x:=2; y:=10;
if x>0 then
if y<8 then
begin x:=x+2; y:=y-1 end
else
begin x:=x+3: y:=y*2 end
else
begin x:=1; y:=3 end;
writeln (‘ x= ‘ ,x, ‘ y= ‘, y);
end.
7) С блок-схемы или трассировочной таблицы определи значения переменных s и i после
выполнения фрагмента программы на Паскале:
s:=0; i:=-3;
while i < 2 do
begin if i < 0 then A:=i*i else A:=i;
s:=s+A; i:=i+1
end;
= - 127, максимальное число = + 127
2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000 0110 0100 0111 и записываем в шестнадцатиричном виде
0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а) будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное 01101001(2) ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in);
String string = in.nextLine(); char chars[] = new char[4];
chars[0] = in.nextLine().charAt(0); chars[2] = in.nextLine().charAt(0);
for(int sChar = 0; sChar<string.length(); sChar++)
if(string.charAt(sChar)==chars[0])chars[1]++;
else if(string.charAt(sChar)==chars[2])chars[3]++;
System.out.print("\n"+(chars[1]==chars[3]?chars[0]+""+chars[2]:chars[1]>chars[3]?chars[0]:chars[2]));
}
}