1. Приведите различные примеры из жизни разных видов баз данных (реляционные, сетевые и т.д.). 2. Составьте кроссворд или головоломку с объектами БД: таблица, форма, запросы, отчеты и т.д.
1) В ASCII каждый символ кодируется одним байтом, поэтому количество байт равно количеству символов. Тогда строка займет 45 байт, страница = 25х45 байт, весь текст - 300х25х45 байт. Выражаем эту величину в килобайтах: 300х25х45/1024 = 329.6 КБайт. Если использовать двухбайтную кодировку UNICODE, объем файла удвоится и составит 659.2 Кбайта. 2) Фотография содержит 3072х2048 пикселей, каждый пиксель кодируется 6 байтами, 1 Кбайт равен 1024 байтам, тогда графический файл будет иметь размер 3072х2048х6/1024=36864 (Кбайт) 3) Скорость передачи данных по сети составляет 48/(2.5х60)=0.32 МБайт/с. Время передачи упакованного файла равно 80-30=50 (с). За это время по сети будет передан файл размером 50х0.32=16 (Мбайт)
function colcifr(a: integer): integer; var s, k: string; i, j: integer; begin i := a; repeat str(i mod 10, k); i := i div 10; if (pos(k, s) = 0) then begin s := concat(s, k); inc(j); end; until (i = 0); colcifr := j; end;
function sum(i: integer): integer; var a, b: integer; begin a := i; repeat b := b + a mod 10; a := a div 10; until (a = 0); sum := b; end;
var i: integer;
begin for i := 1000 to 9999 do if (i mod 2 + i mod 7 + i mod 11 = 0) then if (colcifr(i) = 2) then if (sum(i) = 30) then writeln(i); end.
2) Фотография содержит 3072х2048 пикселей, каждый пиксель кодируется 6 байтами, 1 Кбайт равен 1024 байтам, тогда графический файл будет иметь размер 3072х2048х6/1024=36864 (Кбайт)
3) Скорость передачи данных по сети составляет 48/(2.5х60)=0.32 МБайт/с.
Время передачи упакованного файла равно 80-30=50 (с).
За это время по сети будет передан файл размером 50х0.32=16 (Мбайт)
var
s, k: string;
i, j: integer;
begin
i := a;
repeat
str(i mod 10, k);
i := i div 10;
if (pos(k, s) = 0) then
begin
s := concat(s, k);
inc(j);
end;
until (i = 0);
colcifr := j;
end;
function sum(i: integer): integer;
var
a, b: integer;
begin
a := i;
repeat
b := b + a mod 10;
a := a div 10;
until (a = 0);
sum := b;
end;
var
i: integer;
begin
for i := 1000 to 9999 do
if (i mod 2 + i mod 7 + i mod 11 = 0) then
if (colcifr(i) = 2) then
if (sum(i) = 30) then
writeln(i);
end.
8778