Скляр Вільївна - Я готуюсь до курсу інформатики. Алгоритмізація та програмування

Здесь есть возможность читать онлайн «Скляр Вільївна - Я готуюсь до курсу інформатики. Алгоритмізація та програмування» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Я готуюсь до курсу інформатики. Алгоритмізація та програмування: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Я готуюсь до курсу інформатики. Алгоритмізація та програмування»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Я готуюсь до курсу інформатики. Алгоритмізація та програмування — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Я готуюсь до курсу інформатики. Алгоритмізація та програмування», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

1) GetImage(x1,y1,x2,y2,BitMap)- зберігає образ вказаної прямокутної області екрана в динамічній області пам’яті. В цій процедурі х1, у1, х2, у2— координати лівого верхнього та правого нижнього кутівпрямокутної області екрана, образ якої ми хочемо зберегти; ВitМар- адреса області пам’яті, в якій ми зберігаємо об’єкт.

2) Putlmage (x,y,BitMap,Mode)- відновлює збережений образ прямокутної області. Тут x, у- координати верхнього лівого кута області екрана,в яку ми хочемо помістити зображення; BitMap- адреса пам’яті, в якій було збережено зображення; Mode- режим накладання зображення на екран. Режимів накладання існує 5 (від 0 до 4), але самими цікавими для нас являються СоруРut(0)-заміщення новим об’єктом старого зображення та XOR (1)- «витирання» старого об’єкта. Крім цих основних процедур при використанні оперативної пам’яті для збереження об’єкта нам знадобляться ще дві. Перша допомагає визначити об’єм необхідної пам’яті в байтах для збереження прямокутного малюнку, а друга запрошує у системи відповідну область пам’яті. їх використовують разом наступним чином:

{визначається необхідний розмір області пам’яті}

Size : ImageSize(xl,yl,x2,y2);

{у системи запрошується оперативна пам’ять}

GetMem(BitMap,Size);

де x1,y1,x2,y2- координати прямокутної області екрану, де знаходиться малюнок; Size - розмір необхідної пам’яті (змінна цілого типу); BitMap ~ адреса оперативної пам’яті, що виділяється системою (змінна типу вказівник для збереження адреси). Покажемо тепер, як за допомогою цих підпрограм можна побудувати об’єкт, що рухається, на прикладі задачі.

ЗАДАЧА № 638 (1)

Умова: «Баскетбол». Зобразити на екрані відбивання від підлоги, стін та стелі м’яча, що зображається зафарбованим кругом. Для спрощення алгоритму траєкторію руху м’яча вважати ламаною лінією. Силою тертя повітря знехтувати.

Розв’язування: У наведеній нижче програмі описані наступні константи: R— радіус м’яча; Time- час затримки зображення на екрані (підбирається емпіричним шляхом залежно від типу комп’ютера).

Крім того використовуються наступні змінні: хта увказують на координати області екрана, куди виводиться, а потім звідки витирається зображення; Sizeта BitMap— використовуються для збереження зображення в оперативній пам’яті (дивись вище); Step_xта Step_y -задають крок, на який пересувається об’єкт при кожному наступному перемальовуванні (теж підбирається емпірично в залежності від типу ПЕОМ).

Перший раз м’яч малюється в лівому верхньому кутку екрану і напрямок його руху - зверху вниз, зліва направо, тому початкові координати області зображення х та у дорівнюють 0, а обидва кроки додатні. Далі, якщо об’єкт долітає до границі екрана, то крок змінюється на протилежний за знаком, і об’єкт починає рухатись у зворотному напрямку. Програма, що реалізує запропонований алгоритм, має наступний вигляд:

Program Example_638_l;

uses crt,graph;

const R=20;

Time = 1000;

var gd,gm:integer;

x,у:integer; Size:integer;

Step_x,Step_y:integer;

BitMap:pointer;

begin

x:=0; y:=0; Step_x:=5; Step_y:=5;

gd:=VGA; gm:=VGAHi;

XnitGraph (gd,gm,’’);

SetColor(brown);

SetFillStyle(1,brown);

FillEllipse(R,R,R,R);

Size :- ImageSize(0,0,2*R,2*R);

GetMeM(BitMap,Size); GetImage(0,0,2*R,2*R,BitMap^);

repeat

delay(Time);

Putlmage(x,y,BitMap^,1);

x:=x+Step_x; y:=y+Step_y;

if (x+2*R >= getmaxx) or (x<=0) then Step_x:=-Step_x;

if (y+2*R >= getmaxy) or (y<=0) then Step_y:=-Step_y;

Putlmage(x,y,BitMap^,1);

until keypressed;

readkey;

CloseGraph;

end.

Третій метод, що дозволяє ще зменшити миготіння мультиплікаційного об’єкта на екрані, це використання графічних сторінок. Відомо, що при ініціалізації графічного режиму ми задаємо два параметри:

Gd- тип графічного адаптера (CGA, EGA, VGA і т.д.);

Gm - режим роботи графічного адаптера.

Залежно від цих параметрів на екран можна виводити зображення з різною роздільною здатністю та палітрою. Крім того, існують деякі режими, що підтримують кілька графічних сторінок, кожна з яких може містити різні зображення. В один момент часу ми можемо бачити тільки одну сторінку, але в той самий момент можемо готувати складне зображення на інших сторінках і потім миттєво виводити їх на екран, зменшуючи таким чином миготіння (людина не бачить малювання окремих деталей пейзажу). Один з таких режимів Gm=VGAMedдозволяє програмісту виводити 16-кольорове зображення з роздільною здатністю 640 на 350 пікселів, при цьому він підтримує дві графічних сторінки.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Я готуюсь до курсу інформатики. Алгоритмізація та програмування»

Представляем Вашему вниманию похожие книги на «Я готуюсь до курсу інформатики. Алгоритмізація та програмування» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Герберт Велз - Чарівна крамниця
Герберт Велз
Отзывы о книге «Я готуюсь до курсу інформатики. Алгоритмізація та програмування»

Обсуждение, отзывы о книге «Я готуюсь до курсу інформатики. Алгоритмізація та програмування» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x