понеділок, 24 листопада 2014 р.

Программирование построения графиков

Графики функции с помощью компьютера строятся по точкам. Допустим, чтобы построить график функции y= x^2 на промежутке от 0 до 4 берём значения х с каким-либо небольшим шагом, например, 0.1, и для каждого х вычисляем значения у. Получается такая таблица:

субота, 1 листопада 2014 р.

Работа с графикой

Работа с графикой в GWBASIC

Изображение на экране состоит из точек с целыми координатами.

Экранная система координат:




Графические команды:

SCREEN 9 – перевести экран в графический режим

CLS – очистить экране

PSET(X,Y) – нарисовать точку в координатах (Х,У)

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

PSET(100,200) – нарисовать точку в координатах (100,200)




PSET(X,Y),C нарисовать точку цвета С в координатах (Х,У)

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

PSET(100,200),2 – нарисовать зелёную точку в координатах (100,200)

Список цветов:

0 – чёрный

1 – синий

2 – зелёный

3 – сине-зелёный

4 – красный

5 – малиновый

6 – оранжевый

7 – светло-серый

8 – тёмно-серый

9 – сиреневый

10 – травяной

11 – голубой

12 – ярко-красный

13 – ярко-малиновый

14 – жёлтый

15 – белый



LINE(X1,Y1)-(X2,Y2) – провести линию из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)

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

LINE(100,200)-(250,300) - провести линию из точки с координатами (100,200) в точку с координатами (250,300)





LINE(X1,Y1)-(X2,Y2),C– провести линию цвета С из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)

LINE(100,200)-(250,300),14 - провести жёлтую линию из точки с координатами (100,200) в точку с координатами (250,300)



LINE(X1,Y1)-(X2,Y2),C,B – нарисовать прямоугольник цвета С, диагональю которого будет линия (X1,Y1)-(X2,Y2)

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

LINE(100,200)-(250,300),8,В – нарисовать тёмно-серый прямоугольник, диагональю которого будет линия (100,200)-(250,300)



LINE(X1,Y1)-(X2,Y2),C,BF – нарисовать и закрасить цветом С прямоугольник, диагональю которого будет линия (X1,Y1)-(X2,Y2)

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

LINE(100,200)-(250,300),10,ВF – нарисовать и закрасить светло-зелёный прямоугольник, диагональю которого будет линия (100,200)-(250,300)



CIRCLE(X,Y),R – нарисовать окружность с центром в точке (Х1,У1) и радиусом R.

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

CIRCLE(100,200),50 – нарисовать окружность с центром в точке (100,200) и радиусом 50.



CIRCLE(X,Y),R,C - нарисовать окружность цвета С с центром в точке (Х1,У1) и радиусом R.

CIRCLE(X,Y),R,C,A1,A2 – Нарисовать дугу от угла А1 до угла А2 окружности цвета С с центром в точке (Х1,У1) и радиусом R

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

CIRCLE(100,200),50,4,0,1.507



CIRCLE(X,Y),R,C,A1,A2,D Нарисовать дугу эллипса со степенью сжатия D от угла А1 до угла А2 цвета С с центром в точке (Х1,У1) и радиусом большой полуоси R

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

CIRCLE(100,200),50,4,0,3.14,10





Задание для работы у доски №1: Написать программу, которая нарисует на экране смайлик

1. Составим чертёж выводимого на экран изображения:




Рисунок будет состоять из трёх окружностей и одной полуокружности.

2. Определим координаты их центров и радиусы:



3. Пишем программу:

Переводим экран в графический режим:

10 SCREEN 9

Очищаем экран

20 CLS

Рисуем контур лица

30 CIRCLE (200,150),80

Рисуем левый глаз

40 CIRCLE (180,120),5

Рисуем правый глаз

50 CIRCLE(220,120),5

Рисуем улыбку

60 CIRCLE(200,150),60,15,3.5,5.9

4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)



Задание для работы у доски №2: Написать программу, которая нарисует на экране ёлку

1. Составим чертёж выводимого на экран изображения:




2. Определим координаты точек, по которым будем строить линии.



3. Пишем программу:

Переводим экран в графический режим:

10 SCREEN 9

Очищаем экран

20 CLS

Рисуем верхний треугольник

30 LINE(260,70)-(310,120),2

40 LINE(310,120)-(210,120) ,2

50 LINE(210,120)-(260,70) ,2

Средний треугольник

60 LINE(260,120)-(330,190) ,2

70 LINE(330,190)-(190,190) ,2

80 LINE(190,190)-(260,120) ,2

Нижний треугольник

90 LINE(260,190)-(380,250) ,2

100 LINE(380,250)-(140,250) ,2

110 LINE(140,250)-(260,190) ,2

Прямоугольник ствола

120 LINE(250,250)-(270,300),8,B

4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)



Задание для работы у доски №3: Написать программу, которая нарисует прямоугольники размером 15х300 всех возможных цветов.

Используем оператор цикла. Счётчик цикла I будет одновременно задавать цвет прямоугольника и его положение на экране

10 SCREEN 9

20 CLS

30 FOR I=0 TO 15

40 LINE(I*15,0)-(I*15+15,300),I

50 NEXT I

Запускаем программу (нажать F2, когда курсор находится на пустой строке)



Задания для самостоятельной работы:

Написать программу, которая выводила бы на экране одно из изображений. Задание выбирайте под номером 1+n%9, где n- ваш номер в журнале




вівторок, 29 квітня 2014 р.

Что идёт в отчёт по работе

2 одинаковых видео, как всегда:

 

середа, 23 квітня 2014 р.

Скачать программу для 3й части работы

Скачать: http://yadi.sk/d/uVVJqvhlN6unu (исключительно в ознакомительных целях, да-да-да :) )

неділя, 13 квітня 2014 р.

Комплексная индивидуальная самостоятельная работа по информационым технологиям

Задание комплексной индивидуальной самостоятельной работы по информационным технологиям.

1. Выбрать какую-либо тему, интересную вам. Например, автомобили, гетьманы, планеты, игры и т.п.

2. Выбрать каких-либо 10 представителей данной темы: 10 автомобилей, 10 гетьманов и т.п.

3. Найти 10 характеристик каждого представителя. Например, для автомобиля это может быть: марка, мощность двигателя, тип салона и т.д. Для игры - год выхода, жанр, начальный тираж, возрастная категория и т.д.

4. Оформить собранные данные в виде таблицы в Excel

5. Красиво отформатировать данные в Excel, с применением разных шрифтов, цветов, границ.

6. Добавить некоторое 11-е свойство, которое вычисляется на основе собранных. Например, если для гетьманов вы нашли начало и конец правления, то можно вычислить длительность правления. Для страны, зная территорию и население, можно вычислить плотность населения. Вычисление нужно сделать формулой в Excel.

7., Применить к некоторому свойству в Excel условное форматирование. Например, выделить красным компьютерные игры, вышедшие до 2000 года. Нужно применять именно условное форматирование (Формат - Условное форматирование), а не выделять цветом самостоятельно.

8. По некоторым данным в Excel построить диаграммы.

9. Для какой-либо колонки вычислить среднее значение.

10. Перенести данные в документ Word (распечатывать не надо). Добавить титульный лист (с заголовком (можете Word Art применить), фамилией курсанта, датой).

11. Представить данные в виде презентации PowerPoint. Добавьте больше графики, эффектов. По одному слайду на каждого представителя темы.

12. Зарегистрировать бесплатный аккаунт на blogspot.com и представить результаты работы на собственном сайте. Можете найти и ютубовский ролик на тему и встроить на страницу.

13. Создать базу данных MS Access и предавить ваши данные в виде двух таблиц, связанных связью один-ко-многим. Например, Автомобили(их данные) - Страны-производители. Или князья (и их данные) - Исторические эпохи.

14. Создать запрос, выбирающий все данные из базы данных.

Пункты 15-18 только для спецкурса диспетчеров
15. Смоделировать в Блендере какой-либо 3Д-объект, связанный с темой работы.

16. Нарисовать в InkScape (ещё будем его изучать) векторную иллюстрацию, связанную с темой работы

17. Создать в GIMP (ещё будем его изучать) коллаж, связанный с темой работы.

18. Создать публикацию в MS Publisher, описывающую основные результаты работы.

Файлы - результаты работы приносите с собой на пару на флешке или кидайте в личку в  ВК, или на почту aviglau (at) gmail [dot] com.

Важно! Двух одинаковых работ быть не должно. Если у кого-то две одинаковые тему, постарайтесь в таком случае выбрать разных представителей и разные свойства. Или разведите темы, уточнив их. Например, кто-то берёт города Норвегии, другой - города Швеции.

вівторок, 8 квітня 2014 р.

вівторок, 18 лютого 2014 р.

Задания I тура олимпиады по информационным технологиям.

1. Вот мой профиль Вконтакте: http://vk.com/izvalov. Профиль открыт для всех. Почему его невозможно найти через вконтактовский поиск по имени и фамилии?

2. Есть 5 гирек, все разного веса. Есть чашечные весы (которые позволяют сравнивать вес двух гирек. Как за 7 взвешиваний упорядочить гирьки по весу (т.е. найти, какая самая тяжёлая, какая следующая по весу и т.д.)?

3. Есть 16 двоичных 4-значных чисел: 0000, 0001, 0010, 0011, 0100, 0101, 0110, ...., 1110, 1111. Нужно их расставить так, чтобы соседние отличались ровно в одном знаке (например, ставить рядом пару 0001, 0010 - не по правилам, т.к. они отличаются в двух знаках).

4. Есть вордовский документ с текстом. Найдите, сколько в нём букв "а".

5. Есть 2 переменные, Х и У. С помощью каких операций можно добиться того, чтобы значение из переменной Х оказалось в У, а значение их У - в Х?

Идеи по решению напишите  на листочке и принесите на кафедру информационных технологий (2й корпус, 21й кабинет) до 26 февраля.

неділя, 17 листопада 2013 р.

Программа для игры в Змейку на BASIC



Вот программа для игры в Змейку (60 строк, это без появляющихся на поле препятствий)

Сначала задаём начальные значения переменных:
Размеры поля и сторона клетки в пикселях:
10 maxx = 30
20 maxy = 15
30 side = 20

Выделяем память для клеток змейки
40 DIM zx(100)
50 DIM zy(100)

Начальная длина змейки
60 zl = 3

Задаём начальные координаты клеткам змейки (напомню, головой считается клетка с самым большим номером).
70 zx(1) = 14
80 zx(2) = 15
90 zx(3) = 16
100 zy(1) = 7
110 zy(2) = 7
120 zy(3) = 7

Скорость змейки (едет вправо)
130 vx = 1
140 vy = 0

Координаты пищи
150 fx = 20
160 fy = 3

Выделяем память для препятствий (в этой программе препятствий не будет, но если нам понадобится их включить, уже будет заготовка)
170 DIM px(100)
180 DIM py(100)
190 pl = 0

Готовимся рисовать
200 SCREEN 9
210 CLS

Пробегаем по всем клеткам змейки и рисуем квадраты на экране
220 FOR n = 1 TO zl
230 LINE ((zx(n) - 1) * side, (zy(n) - 1) * side)-(zx(n) * side, zy(n) * side), 1, BF
240 NEXT n

Рисуем квадрат в клетке с пищей
250 LINE ((fx - 1) * side, (fy - 1) * side)-(fx * side, fy * side), 2, BF

Слушаем клавиатуру. Клавиши WASD – смена направления движения, Q – выход
Обратите внимание, что несколько команд можно поместить в одну строку, разделяя их двоеточиями.
260 a$ = INKEY$
270 IF a$ = "a" OR a$ = "A" THEN vx = -1: vy = 0
280 IF a$ = "d" OR a$ = "D" THEN vx = 1: vy = 0
290 IF a$ = "w" OR a$ = "W" THEN vx = 0: vy = -1
300 IF a$ = "s" OR a$ = "S" THEN vx = 0: vy = 1
301 IF a$ = "q" OR a$ = "Q" THEN GOTO 570

Следующие 2 строки содержат пустой цикл. Они нужны, чтобы змейка не двигалась на экране современного компьютера слишком быстро
302 FOR i = 1 TO 1000
303 NEXT i

Находим, в каких координатах будет голова змейки после очередного шага
310 x1 = zx(zl) + vx
320 y1 = zy(zl) + vy

Если голова попадает на еду, то увеличиваем длину змейки и переходим на строку 390
330 IF (x1 = fx) AND (y1 = fy) THEN zl = zl + 1: GOTO 390

Строки 340-380 будут выполняться, если змейка ничего не съела. В этом случае мы должны стереть с экрана хвостовой квадрат и сдвинуть все координаты квадратов змейки на место предыдущих
340 LINE ((zx(1) - 1) * side, (zy(1) - 1) * side)-(zx(1) * side, zy(1) * side), 0, BF
350 FOR k = 1 TO zl - 1
360 zx(k) = zx(k + 1)
370 zy(k) = zy(k + 1)
380 NEXT k

Теперь задаём новые координаты для головы змейки и рисуем её в новых координатах.
390 zx(zl) = x1
400 zy(zl) = y1
410 LINE ((x1 - 1) * side, (y1 - 1) * side)-(x1 * side, y1 * side), 1, BF

Проверяем условия поражения. Сначала – столкновение со стенками экрана
420 IF x1 = 0 OR y1 = 0 OR x1 > maxx OR y1 > maxy THEN GOTO 570

Затем – столкновение со своим туловищем
430 FOR k = 1 TO zl - 1
440 IF x1 = zx(k) AND y1 = zy(k) THEN GOTO 570
450 NEXT k

Если еда съедена, её нужно передвинуть
460 IF (x1 = fx) AND (y1 = fy) THEN GOTO 470 ELSE GOTO 260

Берём случайную клетку на поле
470 fx = 1 + INT(RND * maxx)
480 fy = 1 + INT(RND * maxy)

Проверяем, не занята ли уже эта случайная клетка туловищем змейки. Если занята – берём другую случайную клетку
490 FOR k = 1 TO zl
500 IF fx = zx(k) AND fy = zy(k) THEN GOTO 470
510 NEXT k

И рисуем еду в новом положении
520 LINE ((fx - 1) * side, (fy - 1) * side)-(fx * side, fy * side), 2, BF

Основной цикл программы завершается, возвращаемся к слушанию клавиатуры
560 GOTO 260

Сюда мы попадём в случае проигрыша. Сообщим игроку его счёт (длину змейки)
570 PRINT "Game over. Your score: "; zl

Вот и всё, игра готова.

Подумайте самостоятельно:
1)      Как сделать так, чтобы клетки ан поле были мельче?
2)      Как рисовать пищу не квадратом, а кругом?
3)      Как сделать так, чтобы змея могла двигаться ещё и по диагонали?
4)      Как запретить змее менять своё направление движения на строго противоположное?
5)      Как сделать так, чтобы со временем змея двигалась быстрее?
6) Как сделать так, чтобы после заврешения игры человека спрашивали, хочет ли он сыграть заново?
7)      И, если ответите на это, будете вообще молодцы: - в каких местах программы и какие правки нужно сделать, чтобы в игре появились препятствия?

середа, 6 листопада 2013 р.

Рубеж по информационным технологиям



Работа состоит из 4 заданий.

I Перевести число из десятичной системы в двоичную (7 вариантов)
1) 82; 2) 42; 3) 199; 4) 51; 6) 97; 7) 37
II Перевести число из двоичной системы в десятичную (8 вариантов)
1) 110110; 2) 101110; 3) 100110110; 4) 11010101; 6) 1001011; 7) 1100110; 8) 10010101
III Нарисовать фигуру (6 вариантов)



IV Нарисовать узор (с использованием циклов) (9 вариантов)
Как выбрать свой вариант?
Ваш номер в журнале
Задание I
Задание II
Задание III
Задание IV
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
7
7
7
1
7
8
1
8
2
8
9
2
1
3
9
10
3
2
4
1
11
4
3
5
2
12
5
4
6
3
13
6
5
1
4
14
7
6
2
5
15
1
7
3
6
16
2
8
4
7
17
3
1
5
8
18
4
2
6
9
19
5
3
1
1
20
6
4
2
2
21
7
5
3
3
22
1
6
4
4
23
2
7
5
5
24
3
8
6
6
25
4
1
1
7
26
5
2
2
8
27
6
3
3
9
28
7
4
4
1