Задания 1. Даны переменные. Определите типы данных для каждой переменной. Найдите соответствие (записать в виде – Цифра – буква) (2 б) 1 2 3 4
C=`123` A=456.0 B=-123 E=False
А Б В Г
int float str boolean
Задание 2. Даны два числа (одно целое, второе вещественное). Напишите программу нахождения разности данных чисел. (4 б)
Задание 3. Ввести вещественное число, если оно больше 12, то напечатать - «Больше 12», в противном случае «Меньше 12» (3 б)
Задание 4. Запиши логические операции для алгоритма сложного условия (с переводом) (1 б)
655360 бит со скоростью 1536 бит/сек передаются за x секунд → х=655360/1536 сек.
За то же время со скоростью 768 бит/сек можно передать файл размером x сек * 768 бит/сек = 655360/1536*768 бит = 327680 бит = 327680/8 байт = 40960 байт = 40960/1024 кбайт = 40 кбайт
время1= 80*1024*8 бит/2048 бит в сек=320 сек
размер файла за время1 = 768 бит в сек*320 сек=245760 бит=30720 байт= 30 Кбайт
1) 120 кбайт = 122880 байт
2) 3072 бит/ cек = 384 байт/cек
3) 122880 / 384 = 320 секунд - нужно для передачи
4)1024 бит/сек = 128 байт/ сек
5)128*320=40960 байт - можно передать за то же время через другое соединение
6) 40960 / 1024 = 40 кбайт
ответ: 40 кбайт
procedure KolDel(n: integer; var res: byte);
var
i: integer;
begin
res := 2;
for i := 2 to n div 2 do
if n mod i = 0 then
res := res + 1;
end;
var
m, n, i: longint;
mx, kd: byte;
begin
repeat
writeln('Введите интервал, 2 натуральных числа, второе больше первого');
readln(m, n);
until n > m;
mx := 1;
for i := m to n do
begin
KolDel(i, kd);
if kd > mx then mx := kd
end;
writeln('Наибольшее количество делителей имеют числа:');
for i := m to n do
begin
KolDel(i, kd);
if kd = mx then write(i, ' ')
end;
writeln;
write('количество=', mx);
readln
end.
А вот такой вариант работает в 3.5 раза быстрее:
procedure KolDel(n: integer; var res: byte);
var
i: integer;
begin
res := 2;
for i := 2 to n div 2 do
if n mod i = 0 then
res := res + 1;
end;
var
m, n, i: longint;
mx, kd, k: byte;
a: array[1..255] of longint;
begin
repeat
writeln('Введите интервал, 2 натуральных числа, второе больше первого');
readln(m, n);
until n > m;
mx := 1;
for i := m to n do
begin
KolDel(i, kd);
if kd > mx then begin mx := kd; k := 1; a[k] := i end
else
if kd = mx then begin k := k + 1; a[k] := i end
end;
writeln('Наибольшее количество делителей имеют числа:');
for i := 1 to k do Write(a[i], ' ');
Writeln;
Write('Количество=', mx);
readln
end.
Пример
Введите интервал, 2 натуральных числа, второе больше первого
37 86
Наибольшее количество делителей имеют числа:
60 72 84
Количество=12