Тема. Компьютерная графика. Как кодируется изображение
Алгоритм изучения:
1. Прочитайте параграф 18 учебника. Письменно ответьте на во Что такое компьютерная графика?
2) Каким образом сначала создавался компьютерный рисунок?
2. Заполните таблицу:
Виды графики Назначение
… …
3. Прочитайте параграф 19 учебника. Письменно ответьте на во Что такое пиксель?
2) Что такое растр?
3) Из каких трех цветов получаются все остальные цвета на дисплее монитора?
4. Прочитайте параграф 20. Письменно ответьте на во Сколько комбинаций можно получить из четырехбитного кода?
2) Какой формулой связаны количество кодируемых цветов и количество битов для их кодирования?
3) Каков минимальный объем видеопамяти, чтобы в нее помещался один кадр изображения размером 800х600 пикселей с 8-цветным изображением?
4) Каков минимальный объем видеопамяти, чтобы в нее помещался один кадр изображения размером 1024х768 с 24-битным кодированием цвета?
5) Пусть видеопамять компьютера имеет объем 512 Кбайт. Размер графической сетки экрана 800х600. Сколько страниц экрана одновременно поместится в видеопамять, если палитра состоит из 256 цветов.
СРОК ВЫПОЛНЕНИЯ – до 10 апреля!
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200
uses
system,system.Windows.Forms;
Var
dat:DateTime;
myForm:Form;
myButton:Button;
myTextBox:TextBox;
procedure MyButtonClick(sender:Object;e:EventArgs);
begin {при каждом нажатии на кнопку значение dat обновляется и выводится в текстовое поле}
dat:=datetime.Now;
myTextBox.Text:=dat.ToString;
end;
begin
myForm:=new Form; //создание объекта - формы
myform.Left:=500;
myform.top:=500;
myform.AutoSize:=true;
myform.Width:=300;
myform.Height:=100;
myTextBox:=new TextBox; //создание объекта - текстового поля
myTextBox.Left:=80;
myTextBox.Top:=40;
myTextBox.Enabled:=true;
myTextBox.Width:=105;
myTextBox.Height:=100;
myTextBox.MaxLength:=16;
myTextBox.ReadOnly:=false;
myTextBox.Visible:=true;
myButton:=new Button; //создание объекта - кнопки
myButton.Text:='Now';
myButton.Left:=80;
myButton.top:=80;
myButton.AutoSize:=true;
myForm.Controls.Add(myButton); //вешаем на форму кнопку и поле
myForm.Controls.Add(myTextBox);
myButton.click+=MyButtonClick; //присваиваем событие при нажатии на кнопку
Application.Run(myForm);
end.