moidela87
?>

Qbasic. Составить программу движения двух спутников (Фобос и Деймос) вокруг Марса. (в графическом режиме, спутники и планету необходимо нарисовать схематично в виде окружностей)

Информатика

Ответы

tanu0618
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
uses GraphABC;

procedure Sun(x, y: integer);
begin
  var c := 8;
 
  for var j := 1 to 100 do
  begin
    var r := 15 * c;
    var k := 0;
    if j mod 2 = 0 then k := 20;
    
    for var i := 0 to c do
    begin
      Brush.Color := RGB(230 - k, 230 - k, 0);
      Circle(x, y, r);
      k := k + 15;
      r := r - 15;
      sleep(100);
    end;
  end;
end;

procedure House(x, y: integer);
begin
  Brush.Color := clBrown;
  Pen.Color := clBurlyWood;
  var house_width := 300;
  var house_height := 300;
  var count := 10;
  var step := round(house_width / count);
 
  FillRectangle(x, y, x + house_width, y + house_height);
 
  var xx := x;
  for var i := 1 to count - 1 do
  begin
    xx := xx + step;
    Line(xx, y, xx, y + house_height);
  end;
 
  Brush.Color := clGray;
  FillRectangle(x + 100, y + 100, x + 200, y + 210);
  Brush.Color := clYellow;
  FillRectangle(x + 105, y + 105, x + 195, y + 150);
  Brush.Color := clRed;
  FillRectangle(x + 105, y + 155, x + 150, y + 205);
  Brush.Color := clBlue;
  FillRectangle(x + 155, y + 155, x + 195, y + 205);
 
  MoveTo(x + house_width div 2, y - 80);
  LineTo(x + house_width, y, Pen.Color);
  LineTo(x, y, Pen.Color);
  LineTo(x + house_width div 2, y - 80, Pen.Color);
  FlooDfill(x + house_width div 2, y - 10, clOlive);
 
  Brush.Color := clRed;
  Circle(x + house_width div 2, y - 35, 30);
end;

procedure Turtoise(x, y: integer);
begin
  Brush.Color := clGreen;
  Pen.Color := clGreen;
  FillRectangle(x + 5, y + 15, x - 20, y + 24);
  FillRectangle(x + 50, y, x + 30, y + 70);
  FillRectangle(x + 100, y, x + 120, y + 70);
  FillCircle(x + 170, y, 30);
 
  Brush.Color := clWhite;
  FillCircle(x + 180, y - 20, 10);
 
  Brush.Color := clBlack;
  FillCircle(x + 182, y - 18, 2);
  Brush.Color := clRed;
  FillRectangle(x + 180, y, x + 200, y + 4);
  Brush.Color := clBrown;
  FillEllipse(x, y - 10, x + 150, y + 50);
end;

begin
  Window.Init(0, 0, 1920, 1000, clBlue);
  Brush.Color := clLimeGreen;
  Rectangle(0, 580, 1920, 1018);
 
  House(700, 380);
  Turtoise(300, 600);
  Turtoise(900, 750);
  Sun(1200, 200);
end.
ogonizoloto
Поставьте номера вопросам!
1. Компьютерная графика
2. Не знаю) Что-нибудь для перфолент и перфокарт?
3. Деловая графика.
4. 3D графика, 3 d технология вообще
5. Разрешающая монитора
6. Пиксел, точка
7. Мониторы на лучевой трубке и жидкокристаллические
8. Если в изображении использовалось N цветов, тогда количество бит для сохранения 1 точки нужно N <= 2 в степени i. При этом i должно быть минимальным. То есть если в изображении 70 цветов, то ближайшие i это 6 и 7 (2 в 6 степени 64, 2 в 7ой 128), в данной ситуации i = 7 бит, потому что 6 бит не хватит закодировать 70 цветов (только 64)
9. 1.количество точек к= 1024*768 = 786432 точки, 256 цветов, значит вес одной точки = 8 бит = 1 байт, итого 1 кадр = 786432 * 1 байт, 2 кадра = 2* 786432 байта = 192 Кб
9. 2. точек не изменилось: 786432, одна точка = 24 бита, значит вес 1 точки увеличился в 3 раза, значит и размер всех 2 кадров увеличится в 3 раза 

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Qbasic. Составить программу движения двух спутников (Фобос и Деймос) вокруг Марса. (в графическом режиме, спутники и планету необходимо нарисовать схематично в виде окружностей)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Оксана Николаевич
Кириллов57
uisfbu7777733
Yezhov_igor42
Chutaeva381
ktripoleva294
janepustu
Logukate
vladai2
jagerlayf
vallzh8328
agaloan8
kogakinoa
vikanikita
Энверович