М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Составить графический алгоритм по коду:
unit unit1;
interface
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, extctrls;
type
tform1 = class(tform)
timer1: ttimer;
image1: timage;
procedure timer1timer(sender: tobject);
procedure formcreate(sender: tobject);
private
{ private declarations }
public
{ public declarations }
cnt, oblakopos: integer;
raina: array [0..9] of integer; // массив дляд ождя
procedure drawsky(canvas: tcanvas; width, height, x, y: integer);
procedure drawrain(canvas: tcanvas; width, height, w, h, x, y: integer);
end;
var
form1: tform1;
implementation
{$r *.dfm}
procedure tform1.drawsky(canvas: tcanvas; width, height, x, y: integer);
begin
// рисуем небо
canvas.brush.color : = rgb( 0, 224, 255); //clblue;
canvas.rectangle(0, 0, width, height*3 div 5);
//рисуем землю
canvas.brush.color : = clgreen;
canvas.rectangle(0, height*3 div 5, width, height);
//рисуемо блако
canvas.pen.color : = clwhite;
canvas.brush.color : = clwhite;
canvas.ellipse(x , y-15, x+50, y+15);
canvas.ellipse(x-25, y-35, x+25, y+ 5);
canvas.ellipse(x-50, y-25, x, y+ 5);
end;
procedure tform1.drawrain(canvas: tcanvas; width, height, w, h, x, y: integer);
var
i: integer;
begin
for i : = low(raina) to high(raina) do begin
if raina[i] > 0 then begin // если больше 0 то рисуем каплю дождя
// в массиве содержится текущая высота капли. она смещается на x и y
canvas.moveto(x + i*w, y + h - raina[i]);
canvas.lineto(x + i*w, y + h - raina[i] + 20);
raina[i] : = raina[i] - 5;
end else begin // если 0, то случайным образом присваиваем высоту
if random(1000) < 100 then
raina[i] : = h;
end;
end;
end;
procedure tform1.timer1timer(sender: tobject);
begin
if (cnt < 300) or (cnt > 600) then
oblakopos : = oblakopos + 1;
drawsky(image1.canvas, image1.width , image1.height, oblakopos, 100);
if (cnt > 300) and (cnt < 600) then
drawrain(image1.canvas, image1.width , image1.height, 10, 200, oblakopos-50, 100);
cnt : = cnt + 1;
if cnt > 950 then //timer1.enabled : = false;
begin
cnt : = 0;
oblakopos : = cnt; // либо повтор цикла
end;
end;

procedure tform1.formcreate(sender: tobject);
begin
randomize;
cnt : = 0;
oblakopos : = cnt;
timer1.interval : = 20;
image1.width : = 660;
image1.height : = 500;
image1.picture.bitmap.width : = 640;
image1.picture.bitmap.height : = 480;
clientwidth : = 660;
clientheight : = 500;
fillchar(raina, sizeof(integer)*(high(raina)-low(raina)+1), 0);
form1.doublebuffered : = true;
end;
end.

👇
Открыть все ответы
Ответ:
бернер
бернер
08.04.2021

Процесс создания мультипликационного фильма состоит из многих этапов. Сначала придумывается сюжет мультика, пишется его сценарий, где описывают поэтапно все события, которые в нем будут происходить, создаются эскизы героев. Но не всем известно, что для того чтобы такой нарисованный персонаж ожил и находился в движении в течение одной минуты, понадобится более чем полторы тысячи рисунков. Такие изображения называются кадрами. Они столь быстро меняются один за другим, что человеческие глаза воспринимают это чередование, как живую картинку. Чтобы форма объектов изменялась плавно, за одну секунду должно поменяться 12 – 16 кадров. Такой принцип имитации движения ещё называют анимацией.

Объяснение:

Думаю так

4,4(66 оценок)
Ответ:
медвва
медвва
08.04.2021
1)uses crt;
var i,j,n,ans:integer;
begin
read(n);
for i:=1 to 9 do
for j:=0 to 9 do
if i+j=n then
ans:=ans+1;
writeln(ans);
end.
2)
uses crt;
var i,n:integer;
x:array[1..100] of integer;
begin
writeln('Введите количество x и значения: ');
read(n);
for i:=1 to n do
read(x[i]);
writeln('x  y');
for i:=1 to n do
writeln(x[i],'  ',x[i]*x[i]+3);
end.
3.
uses crt;
var i:integer;
begin
for i:=1 to 5 do
write(i*i*i,' ');
end.
4.
uses crt;
var i,n,sum:real;
begin
writeln('Введите N:');
read(n);
i:=3;
while i<=n do
begin
sum:=sum+1/i;
i:=i+3;
end;
writeln(sum);
end.
5.
uses crt;
var j,i,n,sum:integer;
a:array[1..100] of integer;
begin
writeln('Введите количество чисел и сами числа:');
read(n);
for i:=1 to n do
begin
sum:=0;
read(a[i]);
for j:=1 to length(inttostr(a[i])) do
sum:=sum+strtoint(inttostr(a[i])[j]);
if sum mod 3 = 0 then
write(a[i],' ');
end;
end.
6.a)uses crt;
var n:string;
begin
read(n);
writeln(max(strtoint(n[1]),strtoint(n[2])));
end.
б)
uses crt;
var n:string;
begin
read(n);
writeln(max(max(strtoint(n[1]),strtoint(n[2])),strtoint(n[3])));
end.
4,7(20 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ