Практическая работа no 3
кодирование числовой информации в компьютере. получение дополнительного кода
числа»
цель: познакомить с кодированием числовой информации в компьютере. дать понятие
рямого кода, обратного кода и дополнительного кода числа, научить алгоритму
нахождения дополнительного кода числа;
вариант 1
пример 1.записать дополнительный код отрицательного числа -3002 для 16-
разрядного компьютерного представления с использованием алгоритма.
пример 2. выполнить арифметическое действие 400010 - 600010 в 16-разрядном
компьютерном представлении.
пример 3. преобразуйте десятичные числа, записанные в естественной форме, в
экспоненциальную форму с нормализованной мантиссой.
а) 217.93410
б) 75321 10 =
в) 10,0101 10-
г) 20045010 =
запишите отрицательные десятичные числа в прямом, обратном и дополнительном
кодах в 16-разрядном представлении: -15, -195, -1120, -1.
//чисел, кратных 3. Программа получает на вход количество чисел в
//последовательности, а затем сами числа. В последовательности всегда имеется число,
//кратное 3. Количество чисел не превышает 100. Введённые числа не превышают 300.
//Программа должна вывести одно число - количество чисел, кратных 3.
Var i,j,x :word;
n :integer;
begin
writeln('Введите количество цифр в последовательности');
Readln (j);
if j>100 then //Проверка накличество чисел в последовательности
begin
writeln ('По условия задачи цифр не должно быть более 100');
writeln ('Введите количесво цифр еще раз');
readln (j);
end;
for i:=1 to j do
begin
Writeln ('Введите ',i,' число');
readln (n);
if n>300 then //проверка максимального значения числа
begin
writeln ('Данное число не удовлетворяет условиям задачи (>300');
writeln ('Введите его еще раз');
readln (n);
end;
n:= n mod 3;
if n=0 then x:=x+1;
end;
Writeln ('Количество чисел, кратных 3:');
Writeln (x);
end.
пусть a – числитель; b – знаменатель; da и db – шаг для числителя и знаменателя; n - для смены знака;
Программа:
const
da= -18; {927-945}
db= 24; {33-9}
var a,b,n: integer;
s: real;
begin
s:=0; n:=1; a:=945;b:=9;
while a>=27 do
begin
s:=s+a/b*n; {подсчет суммы}
a:=a+da;
b:=b+db;
n:= -1*n; {изменение знака}
end;
writeln('s=',s:4:2);
end.