Дан полный курс изучения языка BASIC-256 в 6 — 7 классе.
Скачать:
![]() |
1.1 МБ |
Предварительный просмотр:
Подписи к слайдам:
Бейсик-256 Гришина Елена Алексеевна, учитель информатики МОУ Гимназия №1 г.о . Жуковский
Бейсик-256 Графические операторы: Clg , color, plot Circle Line Rect Poly Переменные Оператор присваивания Print Input, cls Выбор Безусловный переход Повторения
Бейсик-256 Окно для ввода команд Окно ввода-вывода текста Окно вывода графики Все команды (операторы) пишутся по-английски. Каждая команда – на новой строке.
Графические операторы CLG – очистка экрана COLOR – выбор цвета . Пример: с olor red PLOT X,Y – печать точки с координатами X,Y Пример: plot 30, 40
Задание Напишите программу, выводящую разными цветами на экран точки созвездия Большая Медведица. Их координаты: 1) 40, 90 2) 70, 70 3) 100, 70 4) 130, 70 5) 160, 80 6) 230,70 7) 220, 30
CODING with text : basics of VARIABLES in BASIC -256
Рисование окружности Поменяйте в программе точки на круги с радиусом 5 пикселей. CIRCLE X,Y,R – рисование окружности с центром в точке X,Y и радиусом R . Пример: circle 30, 40, 15
Рисование линий line x1,y1,x2,y2 – рисование линии от точки (x1, y1) до точки (x2, y2) Пример : line 20, 40, 10, 30 Задание: соедините линиями точки-звёздочки в созвездии Большая Медведица.
Задание Составьте программу рисования:
Рисование прямоугольников Сколько параметров однозначно определяет прямоугольник?
Рисование прямоугольников rect x,y,m,n — рисование прямоугольника, где х, у – координаты левого верхнего угла, m – длина, n — ширина. Rect 60,40,200,80 260-60 120-40
Напишите программу для рисования домика:
Задание Считая одну клетку равной 20 пикселям, создайте программу рисования следующих прямоугольников :
Рисование многоугольников POLY – рисование многоугольника с вершинами ( x1,y1 ), ( x 2 ,y 2),…,( xn,yn) . poly
Задание: создайте программу, рисующую флаг Гайаны
Программа color darkgreen rect 20,60,280,180 color white poly color yellow poly color black poly color red poly
Задание: создайте программу, рисующую флаг Сент-Винсента и Гренадин Где находится это государство?
Переменные В Скретче мы уже использовали переменные .
Переменные Нарисуйте круг, вписанный в квадрат: clg color blue rect 0,0,140,140 color red circle 7 0, 70 ,70 Связаны ли между собой длина стороны квадрата и радиус круга? Как изменится программа, если длину стороны увеличить в два раза?
Переменные Эту же программу можно записать иначе: C lg А = 140 color blue rect 0, 0, А , А color red circle 7 0, 70 ,70 Переменная – поименованная ячейка в памяти компьютера А /2 , А/2, А/2 Использование переменных позволяет решать задачи в самом общем виде!
Задача Как будет выглядеть программа рисования круга, вписанного в квадрат с произвольной стороной А? ( Пусть для простоты левая верхняя вершина квадрата совпадает с точкой отсчёта) Использование переменных позволяет решать задачи в самом общем виде! А=100 clg rem Рисование квадрата color blue rect 0,0,A,A rem Рисование круга color red circle A/2, A/2, A/2 Переменная – поименованная ячейка в памяти компьютера Комментарий в программе – начинается со слова rem ?, ?, ?
HOW TO WRITE BASIC-256 PROGRAMS? | Part-1 | KnockLedge
Рассмотрим ещё более общий случай Поскольку местоположение круга связано с местоположением квадрата, то введём ещё две переменные – x и y – координаты верхнего левого угла квадрата: . x+A/2,y+A/2 Меняя в программе значения x и y , проследите за изменением результата на экране! x=50 y=38 А=1 4 0 clg color blue rect 4 0, 2 0, A, A color red circle 110 , 90 , A/2 rect х , y , A, A circle x+ A /2, y+ A/2,A/2
Задание: используя переменные x , y , r , напишите программу рисования радуги Алгоритм: Закрасьте весь экран белым цветом. Нарисуйте 8 концентрических кругов (имеющих общий центр – в точке x= 150, y= 150), начиная с внешнего: красный, оранжевый, жёлтый, зелёный, голубой, синий, фиолетовый и белый , каждый раз уменьшая радиус на 5. Радиус красного круга r= 100. 3. Нарисуйте прямоугольник белого цвета, закрывающий нижнюю часть кругов. X = 150 Y = 150 R = 100 Начало программы:
Проверка Поменяйте значения переменных X , Y , R . Сохранилось ли изображение радуги или «испортилось»?
Программа рисования радуги color white rect 0,0,300,300 R = 100 x=1 5 0 y=1 5 0 color red circle x,y , R color orange circle x,y , R -5 color yellow circle x,y , R -10 color green circle x,y , R -15 color blue circle x,y , R -20 color darkblue circle x,y , R -25 color darkpurple circle x,y , R -30 color white circle x,y , R -35 Rect 0, у ,300, 300-у Закрашивание экрана в белый цвет Задание координат центра кругов и радиуса большего круга Рисование красного круга Рисование оранжевого круга Рисование жёлтого круга Рисование зелёного круга Рисование голубого круга Рисование синего круга Рисование фиолетового круга Рисование белого круга и белого прямоугольника
Задание Создайте программу рисования следующего рисунка: X 1 ,Y 1 — ? Обобщите программу для круга произвольного радиуса Обобщите программу для произвольных координат центра круга .
Решение clg r = 4 0 x = 79 y = 88 color red circle x,y,r color blue rect x+r,y-r,2*r,2*r r – радиус круга х – абсцисса центра круга у – ордината центра круга
Задание Создайте программу рисования: а) фрагмента узора; б) фрагмента шахматной доски. х у А х у R
Задание Составить программу рисования следующего рисунка с использованием переменных x,y,R , содержащих значения координат центра жёлтого круга и его радиуса.
Решение x=100 y=100 r=100 color yellow circle x, y, r color cyan circle x, y-r/2, r/2 circle x, y+r/2, r/2
Задание Создайте программу рисования, используя переменные x,y,R : а) б)
Решение clg x=130 y=120 r=60 color blue circle x-r,y-r,r circle x+r,y-r,r circle x-r,y+r,r circle x+r,y+r,r color purple circle x,y,r clg x=130 y=120 r=60 color green rect x-2*r,y-2*r,4*r,4*r color purple circle x-r,y-r,r circle x+r,y-r,r circle x-r,y+r,r circle x+r,y+r,r color yellow rect x-r,y-r,2*r,2*r
Ввод переменных с экрана во время выполнения программы Cls – очистка текстового экрана INPUT [“строка–подсказка”] , имя переменной Пример: Вводит пользователь и нажимает Enter Это равносильно команде присваивания в программе x=7 . Введённое значение попадает в переменную х Добавьте команды ввода с экрана значений координат точки левого верхнего угла квадрата.
Задание Написать программу построения фигуры, изображённой на рисунке, которая запрашивает с клавиатуры координаты левого верхнего угла ( х , у ) и длину А стороны малого квадрата. В программе использовать только команды line .
Решение input «x=», х input «у=», у input «а=», а line x,y,x+2* a,y line x,y+2*a,x+2* a,y line x,y+2* a,x,y line x+2*a,y+2*a,x+2* a,y line x,y+2*a,x+2*a,y+2*a line x,y,x+2*a,y+2*a line x,y+a,x+2* a,y+a line x+a,y,x+a,y+2*a line x,y+a,x+a,y line x+a,y,x+2* a,y+a line x,y+a,x+a,y+2*a line x+a,y+2*a,x+2* a,y+a
Задание Написать программу построения фигуры, изображённой на рисунке, которая запрашивает с клавиатуры координаты левой верхней точки квадрата – х и у , а также длину А стороны малых квадратов.
Условный оператор Условный оператор: if условие then команды1 else команды 2 end if Полное ветвление Условие: Равно = Не равно <> Больше > Меньше = Меньше или равно 50 then rect 0,0,x,x else circle 150,150,x e nd if
Неполное ветвление В неполном ветвлении весь оператор записывается в одну строку. Если команд несколько , то они разделяются двоеточием . If x = 0.5 then print «Решка» Составить программу бросания кубика. n = rand * 6 +1 print n
Организация повторений На дворе стоит забор, А на нём мочало. Эта песня хороша – Начинай сначала! В Бейсик-256 тоже есть команда, позволяющая вернуться к предыдущим командам.
Оператор безусловного перехода goto имя метки Например, команда1 a : команда2 команда3 команда4 goto a метка
Вспомним задание: Создайте программу, которая предлагает ввести одно из двух чисел – 1 или 2. Если введено 1, то программа рисует солнце. Если 2 – месяц. 2
Как обеспечить смену дня и ночи без перезапуска программы? clg input «нажмите 1 или 2 : «, x if x=1 then c olor cyan re c t 0,0 , 30 0, 300 color yellow circle 150,150,50 else color blue rect 0,0,300,300 color yellow circle 75,100,5 color blue circle 7 0 ,100,5 end if
А: input «нажмите 1 или 2 : «, x clg if x=1 then c olor cyan re c t 0,0 , 30 0, 300 color yellow circle 150,150,50 else color blue rect 0,0,300,300 color yellow circle 75,100,5 color blue circle 7 0 ,100,5 end if goto A Очистка экрана метка ссылка на метку
Вспомним задачу о светофоре: clg rect 50,50,50,120 rect 70,170,5,100 color grey circle 75,80,5 circle 75,100,5 circle 75,120,5 input «нажмите 1, 2 или 3: «, x if x=1 then color red : circle 75,80,5 if x=2 then color yellow : circle 75,100,5 if x=3 then color green : circle 75,120,5
clg rect 50,50,50,120 rect 70,170,5,100 color grey circle 75,80,5 circle 75,100,5 circle 75,120,5 input «нажмите 1, 2 или 3: «, x a: if x=1 then color red : circle 75,80,5 if x=2 then color yellow : circle 75,100,5 if x=3 then color green : circle 75,120,5 pause 1 goto a Задание Изменить программу для светофора так, чтобы свет в нём переключался без перезапуска программы.
Генератор случайных чисел Чтобы получить случайное число из диапазона [0;b) , нужно использовать формулу: n = rand * b Например, r =rand*300 circle (150,150,r)
Задание Используя функцию получения случайных чисел, составить программу бесконечного заполнения экрана точками. Заполнение экрана «Броуновское движение» Паутина
Решение Используя функцию получения случайных чисел, составить программу заполнения экрана точками. Или: clg a : x=rand*300 y=rand*300 plot x,y goto a clg a: plot rand*300, rand*300 goto a a: x=rand*300 y=rand*300 plot x,y pause 0.1 clg goto a
Программа к задаче «Паутина» clg x1=rand*300 y1=rand*300 circle x1,y1,2 a: x2=rand*300 y2=rand*300 circle x2,y2,2 line x1,y1,x2,y2 x1=x2 y1=y2 goto a Рисуем 1-ю точку Рисуем 2-ю точку Рисуем линию между ними Делаем 2-ю точку первой
Задание Составить программу заполнения экрана цветными точками по следующему правилу: если точка попадает в верхнюю часть экрана, она – красная, если в нижнюю – зелёная. Демонстрация результата
Решение clg a: x=rand*300 y=rand*300 If y 10 and x 70
Задание Составить программу заполнения экрана разноцветными точками по следующему правилу: если точка попадает в левую треть экрана, она – красного цвета; если в среднюю – жёлтого; если в правую – зелёного.
Задание Составить программу заполнения экрана разноцветными точками по следующему образцу: точка окрашивается в красный цвет, если она попадает в верхний левый или в нижний правый квадрат, иначе – в жёлтый цвет. if x 150 and y>150 проверка
Оператор присваивания переменная = число или выражение Например, x=5 x=x+1 y=2*x y=( x+y )/2 y = у ^ 2 5 X 6 Y 12 9 Ячейка в памяти компьютера Знак возведения в степень 81 Знак деления
Задание Что будет на экране в результате выполнения программы: Что изменится? Добавьте в программу ввод значений переменных r и h с экрана . x=10 y=150 r=10 h=25 a: circle x,y,r pause 0.1 x=x+ h goto a
Задача x=10 y=150 input “ r= “,r input “h = “,h a : circle x,y,r Pause 0.1 x=x+ h goto a Что надо изменить в программе, чтобы программа останавливалась, нарисовав последний круг на экране? i f x 300-r then goto b goto a
Задания Составьте программу рисования 10 квадратов, расположенных горизонтально: 2. Составьте программу рисования 10 кругов, расположенных друг под другом. 3. Составьте программу рисования 10 квадратов, расположенных так, чтобы правый нижний угол предыдущего совпадал с левым верхним углом следующего:
Повторения Помните задачу о рисовании 10 одинаковых кругов, расположенных горизонтально? Решить её можно ещё одним способом – с помощью команды, аналогичной блоку повторить в скретче.
Цикл Повторяющиеся действия называются циклическими ( от латинского слова cyclus, означающего круг ). Оператор цикла: for переменная = число1 to число2 [step число3 ] тело цикла next переменная Пример: X=10 For k=1 to 10 circle x, 100 , 10 x=x+25 Pause 0.1 next k Print “ конец ” Шаг изменения переменной. Если отсутствует, то step 1 Группа операторов Счётчик числа повторений или переменная цикла Рисование круга Сдвиг по координате х Добавим ещё одну команду ! Переход к следующему значению k ( k = k +1) и переход к оператору for Проверка: k
По теме: методические разработки, презентации и конспекты
9 лабораторных работ по Visual Basic. 11 класс
1. Проект «Привет».2.Программа «Скорость» решает проблему ввода числовых значений, не заставляя пользователянабирать цифры на клавиатуре. Программа «Выбор» Работая над этой программой, вы научитесь .
Интегрированный урок по алгебре и началам анализа и информатике по теме «Показательная функция, ее свойства и график. Создание моделей графиков функций в среде программирования Visual Basic» (11 класс «А»)
Применение интеграции в учебном процессе как способа развития аналитических и творческих способностей.
Программа элективного курса «Программирование на языке Basic. Начало изучения».
Авторская программа Основным методом обучения в данном элективном курсе является метод проектов. Проектная деятельность позволяет развить исследовательские и творческие способности учащихся. Роль учи.
Программирование повторений на языке Basic (9 класс)
Программирование повторений на языке Basic (9 класс).
Презентация «»Объектно-ориентированное программирование в Visual Basic» 9 класс
Презентация для использования на уроках информатики по программе Н.Д.Угриновича в рамках раздела «Алгоритмизация и программирование».
Урок информатики «Стандартные функции языка Basic. Работа со строками»
Урок информатики предназначен для учащихся 8 класса, изучающих язык программирования Basic. Прилагаю созданный мною материалы:Тест «Стандартные операторы и функции Basic» для проверки и актуализации з.
Kонспект урока по английскому языку в 6 классе для школ с углубленным изучением английского языка. К УМК О.В. Афанасьева, И.В. Михеева 6 года обучения для школ с углубленным изучением английского языка, лицеев и гимназий.
Тема урока: «Scotland the Beautiful» Задачи урока:1 Развивающие: развитие языковых, познавательных способностей учащихся, развитие готовности к коммуникации на основе предложенного мате.
Источник: nsportal.ru
Basic 256 примеры программ
Для свободно распространяемой кроссплатформенной среды BASIC-256 рассматриваются: интерфейс пользователя, основные операторы, правила написания программ, примеры решения типовых школьных задач из курса информатики и ИКТ, методика решения заданий ЕГЭ. Подробно рассмотрены часто встречающиеся на олимпиадах различного уровня темы: ввод/вывод числовых и строковых данных посредством текстовых файлов и построение графиков функций.
Приведены задания для тренировки учащихся, проведения зачетных работ и выполнения проектов. Все зачетные работы и проекты ориентированы на выполнение по строго индивидуальным заданиям. Также книга содержит справочную информацию по BASIC-256. Для образовательных учреждений.
Оглавление
Введение. Свободное программное обеспечение в школе 7
Глава 1. Начальные сведения о BASIC-256 13
1.1. Что такое BASIC-256? 13
1.2. Интерфейс пользователя BASIC-256 14
1.3. Особенности BASIC-256 v.0.9.6p для Win32 и v.0.9.6.48 для ALT Linux 5.0.2 Школьный 17
Глава 2. Основные операторы BASIC-256 21
2.1. Операторы обработки числовых данных 21
2.2. Операторы обработки строковых данных 26
2.3. Управляющие операторы BASIC-256 30
2.3.1. Операторы формирования условий 30
2.3.2. Операторы анализа условий (операторы ветвления) 32
2.3.3. Операторы управления циклами 34
2.3.4. Операторы управления переходами 36
2.3.5. Операторы для обслуживания подпрограмм 38
2.4. Операторы для обработки дат и времени 40
Глава 3. Графика в BASIC-256 41
3.1. Операторы управления графическим экраном 41
3.2. Операторы формирования графических примитивов в графическом окне 44
Глава 4. Операторы для работы с файлами 47
Глава 5. Порядок разработки и отладки программ в среде BASIC-256 49
Вариант 1 51
Вариант 2 53
Вариант 3 53
Вариант 4 53
Глава 6. Примеры программ для иллюстрации типовых школьных задач 57
6.1. Вывод в окно текста 57
6.2. Формирование подвижных объектов 58
Пример 6.2.1 59
Пример 6.2.2 60
6.3. Вычисление таблицы функции 62
Порядок выполнения зачетной работы 62
Пример 6.3.1 63
6.4. Поиск данных в массивах по заданным условиям 64
Пример 6.4.1 65
Пример 6.4.2 67
6.5. Задачи сортировки 69
Пример 6.5.1 71
Пример 6.5.2 74
Пример 6.5.3 76
6.6. Формирование подвижных изображений на текстовом экране 79
Пример 6.6.1 79
6.7. Ввод/вывод данных посредством текстовых файлов 81
Пример 6.7.1 82
Пример 6.7.2 83
Глава 7. Примеры решения графических задач
BBASIC-256 87
Пример 7.1 87
Пример 7.2 89
Пример 7.3 92
Пример 7.4 94
Пример 7.5 95
Пример 7.6 97
Пример 7.7 98
Пример 7.8 100
Пример 7.9 101
Глава 8. Обработка строковых данных 111
Пример 8.1 111
Пример 8.2 114
Глава 9. Решение заданий ЕГЭ средствами BASIC-256 117
Задача С1-201 ID 118
Задача С2-201 ID 120
Задача С4-201 ID 121
Глава 10. Задачник по программированию 125
10.1. Освоение операторов языка и типов данных ВASIC-256 125
Задача 10.1.П-1 126
Задача 10.1.П-2 127
Задача 10.1.П-3 128
Задача 10.1.П-4 129
Задание 10.1.1 129
Задание 10.1.2 129
Задание 10.1.3 130
Задание 10.1.4 131
Задание 10.1.5 131
Задание 10.1.6 131
Задание 10.1.7 132
Задание 10.1.8 132
Задание 10.1.9 133
Задание 10.1.10 133
Задание 10.1.11 134
Задание 10.1.12 135
Задание 10.1.13 135
Задание 10.1.14 136
Задание 10.1.15 136
Задание 10.1.16 137
Задание 10.1.17 138
Задание 10.1.18 138
Задание 10.1.19 139
Задание 10.1.20 140
Задание 10.1.21 141
Задание 10.1.22 141
Задание 10.1.23 141
Задание 10.1.24 142
Задание 10.1.25 143
Задание 10.1.26 144
Задание 10.1.27 144
Задание 10.1.28 145
Задание 10.1.29 146
Задание 10.1.30 146
10.2. Циклы с параметром 147
10.3. Задачи поиска 150
10.4. Задачи сортировки 153
10.5. Моделирование математических, экономических и физических зависимостей 158
Заключение 165
Приложение 1. Справочник по BASIC-256 167
Приложение 2. Ответы на задачи раздела 10.5 179
Литература 221
Впервые идея о необходимости разработки свободной отечественной операционной системы (ОС) для использования в учреждениях бюджетной сферы на государственном уровне была высказана в послании Президента Федеральному собранию РФ в 2006 г. В конце 2007 г. Правительство России приняло решение о выделении 100 миллионов долларов для Министерства образования РФ на закупку комплекта лицензионного программного обеспечения (ПО) и поставку его в 52 000 школ России с лицензией до 31.12.2010 г. и о разработке комплекта свободного ПО (СПО) для школ1. Исполнение проекта было поручено по конкурсу ряду фирм: группе компаний «Армада», ООО «Альт Линукс», ОАО»ЛинуксИнк».
В 2008 г. в 1107 школах Татарстана, Пермского края и Томской области и еще в 770 школах из других регионов были установлены школьные версии ОС ALT Linux, проведено обучение педагогов и начата опытная эксплуатация комплекта СПО в учебном процессе и документообороте. В этом же году Министерством информационных технологий и связи РФ разработана «Концепция развития, разработки и использования свободного программного обеспечения в РФ». В марте 2009 г. Минкомсвязи опубликовало план перехода государственных органов на СПО. Летом 2009 г. во все школы России был поставлен комплект ПО «Первая Помощь 2.0» из 27 компакт-дисков и DVD, в состав которого входило 9 дисков с различными версиями школьных дистрибутивов ОС ALT Linux и с дидактическими материалами.
О том, как читать книги в форматах pdf , djvu — см. раздел » Программы; архиваторы; форматы pdf, djvu и др. «
Примеры готовых программ на QBasic. В них используется текстовая, графическая и звуковая информация. Отличное предложение начинающему программисту в QBasic.
Программа рисует простой рисунок с дорогой:
Графики Cos(x) и Sin(x):
Красивые цифровые часы:
200?’200px’:»+(this.scrollHeight+5)+’px’);»> DECLARE SUB MakeBmp (NameBmp$)
DECLARE SUB Prepare ()
‘ Процедуры печати
DECLARE SUB DrawChar (x%, y%, Ch%, Poz%, Mshtb!)
DECLARE SUB DrawClock (xDr%, yDr%, Tm$, Mashtab!)
‘ Массивы
CONST DataDL = 228
DIM SHARED Sizes%(1 TO 7), Sost%(9, 1 TO 7), i%, k%
DIM SHARED X1%(1 TO 7, 1 TO 6), X2%(1 TO 7, 1 TO 6)
DIM SHARED Y1%(1 TO 7, 1 TO 6), Y2%(1 TO 7, 1 TO 6)
DIM SHARED PZx%(1 TO 7), PZy%(1 TO 7) ‘ Paint zone — зона закраски
SCREEN 12 ‘ 640x480x16цв.
Prepare
‘ Читаем размерности
FOR i% = 1 TO 7
READ Sizes%(i%)
NEXT
‘ Читаем координаты
FOR i% = 1 TO 7
zx% = 0: zy% = 0
FOR k% = 1 TO Sizes%(i%)
READ X1%(i%, k%), Y1%(i%, k%), X2%(i%, k%), Y2%(i%, k%)
zx% = zx% + X1%(i%, k%) + X2%(i%, k%)
zy% = zy% + Y1%(i%, k%) + Y2%(i%, k%)
NEXT
PZx%(i%) = zx% / (Sizes%(i%) * 2): PZy%(i%) = zy% / (Sizes%(i%) * 2)
NEXT
‘ Читаем состояния
i% = 0
DO: READ k%
IF k% = -1 THEN
i% = i% + 1
ELSE
IF k% <> -2 THEN Sost%(i%, k%) = 1
END IF
LOOP UNTIL k% = -2
SUB DrawChar (x%, y%, Ch%, Poz%, Mshtb!)
PCvtL% = 1: PCvtZ% = 2 ‘ Цвета для присутствующих
OCvtL% = 3: OCvtZ% = 4 ‘ Цвета для отсутствующих
xPls% = ((DataDL / Mshtb!) * 1.05) * Poz%
FOR i% = 1 TO 7 ‘ От 1-го до 7-ми частей
IF Sost%(Ch%, i%) = 1 THEN ‘ Если часть включена, рисуем
CvtL% = PCvtL%: CvtZ% = PCvtZ%
ELSE CvtL% = OCvtL%: CvtZ% = OCvtZ%
END IF
FOR k% = 1 TO Sizes%(i%) ‘ Рисуем все линии
x11% = X1%(i%, k%) / Mshtb!: x22% = X2%(i%, k%) / Mshtb!
y11% = Y1%(i%, k%) / Mshtb!: y22% = Y2%(i%, k%) / Mshtb!
LINE (x11% + xPls% + x%, y11% + y%)-(x22% + xPls% + x%, y22% + y%), CvtL%
NEXT
PAINT (PZx%(i%) / Mshtb! + xPls% + x%, PZy%(i%) / Mshtb! + y%), CvtZ%, CvtL%
NEXT
END SUB
SUB DrawClock (xDr%, yDr%, Tm$, Mashtab!)
FOR u% = 1 TO LEN(Tm$)
Tc% = ASC(MID$(Tm$, u%, 1))
IF Tc% > 47 AND Tc% SCREEN 12
Kc = 15 ‘количество цветов для фрактала
a = 640: b = 480 ‘размер экрана в пикселах по x и y
‘Нужно задавать (менять) значения p,q
‘для получения различных рисунков
‘p = -.1: q = -1.92
‘p = .5: q = -.1
‘p = -.5: q = -.9
‘p = -.5: q = .9
p = .5: q = 1
100
Xmin = -1.75: Ymin = -1.25 ‘ миним. коорд. фрактала
Xmax = 1.75: Ymax = 1.25 ‘ максим.коорд. фрактала
M = 100 ‘максимальное расстояние для поиска атрактора
dx = (Xmax — Xmin) / (a — 1) ‘размер пиксела по оси x
dy = (Ymax — Ymin) / (b — 1) ‘размер пиксела по оси y
FOR Nx = 1 TO a — 1 ‘цикл сканирования всех пикселов для
FOR Ny = 1 TO b — 1 ‘определения их цвета
xk = Xmin + Nx * dx
yk = Ymin + Ny * dy
k = 0
200 ‘формулы определения координат атрактора
xk1 = xk * xk — yk * yk + p
yk1 = 2 * xk * yk + q
k = k + 1 ‘число итер. для данного начального пиксела
c = k ‘цвет пиксела, соответствующий данному числу
300
r = xk1 * xk1 + yk1 * yk1 ‘расст.от нач. до кон.точки
xk = xk1: yk = yk1
IF r > M THEN c = k: GOTO 400 ‘условие сходимости
IF k = Kc THEN c = 0: GOTO 400 ‘повторение палитры
GOTO 200
400
PSET (Nx, Ny), c
NEXT Ny
NEXT Nx
Ещё один фрактал — папоротник:
200?’200px’:»+(this.scrollHeight+5)+’px’);»> DECLARE SUB MakeBmp (NameBmp$)
CONST Iterations = 1000000
DIM t AS DOUBLE, x AS DOUBLE, y AS DOUBLE, p AS DOUBLE
DIM k AS LONG
DIM Midx AS INTEGER, Midy AS INTEGER, radius AS INTEGER
ON TIMER(1) GOSUB ShowIter
TIMER ON
SCREEN 12
FOR k = 1 TO 15
OUT radius = .1 * Midy
RANDOMIZE TIMER
x = 1
y = 0
FOR k = 1 TO Iterations
p = RND
t = x
IF p «» THEN END
RETURN
bgdt: DATA 66,77,54,254,0,0,0,0,0,0,54,4,0,0,40,0,0
DATA 0,128,2,0,0,224,1,0,0,1,0,8,0,0,0,0,0,0
DATA 250,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0
SUB MakeBmp (NameBmp$)
‘ Создаём *.BMP*
OPEN NameBmp$ + «.Bmp» FOR BINARY AS #3
RESTORE bgdt
FOR byte, Zglv%
NEXT byte = 55
FOR ii% = 0 TO 255
OUT H3C9) * 4: G% = INP(H3C9) * 4
bt1% = CVI(CHR$(B%) + CHR$(G%)): bt2% = CVI(CHR$(R%) + «№»)
PUT #3, byte + 2, bt2%
byte + 4
NEXT ii%
FOR y% = 479 TO 0 STEP -1
FOR x% = 0 TO 639
cve% = POINT(x%, y%)
PUT #3, byte = byte»>
CLS
INPUT «N»; n
DIM e(n)
FOR i = 1 TO n
INPUT e(i)
NEXT
CLS
min1 = e(1)
PRINT «Массив:»
FOR i = 1 TO n
PRINT e(i);
IF e(i) Вычисления
Программа, определяющая, простое число, или нет:
Cтандартные ф-ии для работы с мышью:
200?’200px’:»+(this.scrollHeight+5)+’px’);»>
DECLARE SUB Mouse (ax%, bx%, cx%, dx%)
DECLARE SUB MouseActive (a%)
DECLARE SUB MouseReset ()
DECLARE SUB MouseShowCursor ()
DECLARE SUB MouseHideCursor ()
DECLARE SUB MouseBorders (x1%, y1%, x2%, y2%)
DECLARE SUB MouseGetStat (b%, x%, y%)
DECLARE SUB MouseSetXY (x%, y%)
DECLARE SUB MouseSetMickey (x%, y%)
TYPE RegType
ax AS INTEGER: bx AS INTEGER: cx AS INTEGER: dx AS INTEGER
bp AS INTEGER: si AS INTEGER: di AS INTEGER: f AS INTEGER
END TYPE
DIM SHARED regs AS RegType
MouseActive a%: IF a% = 0 THEN PRINT «Need a mouse to run!»: END
MouseReset
MouseShowCursor
DO
MouseGetStat a%, b%, c%
LOCATE 1, 1: PRINT a% / 8, b% / 8, c%
LOOP UNTIL INKEY$ <> «»
SUB Mouse (ax%, bx%, cx%, dx%)
regs.ax = ax%
regs.bx = bx%
regs.cx = cx%
regs.dx = dx%
CALL interrupt(H3C4, 1: CMR% = INP(H3C5, CMR% OR Window» to also check Cursors
‘ Yeah, I know using DATA statements is not an example of
‘ Programming Virtuosity, but this is just Demo code .
Prompt$ = CHR$(I% + 64) + «) » + Prompt$
PrintR Prompt$, 25, I% * 20 + 5, 8, 0, 15, 7, 1
Prompt$ = «Q) Quit program.»
PrintR Prompt$, 25, 305, 8, 0, 15, 7, 1
Prompt$ = «Press the Letter of the Cursor you want, or to Quit.»
PrintR Prompt$, 45, 400, 8, 0, 11, 7, 1
‘ Now that the screen is Drawn, Turn the Screen back on..
OUT H3C5): OUT HDF
‘ And Check for the Rodent .
IF HaveMouse% THEN ‘ Check For Mouse Driver
Mouse 0, 0, 0, 0 ‘ Initialize Mouse
MouseShow ‘ Show Mouse Cursor
LOCATE 15, 28: PRINT «You need a Mouse for a Mouse Cursor Program, Silly!»
WHILE INKEY$ = «»: WEND
‘ Now Run a Loop, Checking Input, and Change the Mouse Cursor accordingly ..
DO: A$ = INKEY$: LOOP UNTIL LEN(A$)
SCREEN 0, , 0, 0: SYSTEM
IF A$ >= «A» AND A$ Работа с модемом/сетью
Доступ к COM-портам через ф-ии BIOS:
Compot.bas (основной файл):
Qbutil.inc (дополнительный файл):
Инструкция по использованию файлов в коде программы.
Источник: auto-technologies.ru
Графические операторы Для вывода графических объектов в Basic-256
Графические операторы Для вывода графических объектов в Basic-256 существует специальное окно графического вывода. Его размер 300 х300 точек (пикселей).
Графические операторы: clg — очистка окна графического вывода circle x, y, r — круг с центром в точке (x, y) радиусом r line x 1, y 1, x 2, y 2 — линия от точки (x 1, y 1) до точки (x 2, y 2) plot x, y — точка с координатами (x, y) rect x, y, a, b — прямоугольник шириной а и высотой b от точки (x, y) color — устанавливает текущий цвет
Таблица стандартных цветов
Операторы вывода print выражение [ ; ]- печатает текст в окне текстового вывода, добавляя перевод строки. Если в конце указан знак точка с запятой, символ новой строки не добавляется. text x, y, “строка” – рисует текстовую строку в окне графического вывода от точки x, y используя текущий цвет и шрифт. Примечание: оператор text не является в прямом смысле оператором вывода. Пример: программа результат print “ 2+2=” print 4 2+2= 4 print “ 2+2=”; print 4 2+2=4
Математические операции и функции действие обозначение + сложение — вычитание * умножение / деление ^ возведение в степень abs() модуль sin() синус cos() косинус tan() тангенс
Типы данных Числовые величины — это целые, натуральные и вещественные числа. Десятичные дроби записываются через точку. Есть и другая форма записи — показательная. Например: 1. 025 е+5 означает в обычной записи в математике 1, 025 х105 или 102500. Аналогично, 1. 07 е-3 означает 1, 07 х10 -3 или 0, 00107.
Такой способ укорачивает запись слишком больших или слишком маленьких чисел. Обозначение числовых переменных: x, y, A 1, max и т. д. Символьные величины — это буквы, цифры, знаки, слова, предложения, заключённые в кавычки. Для символьной величины существует понятие длина — количество символов, из которой она состоит. Длина символьной величины в Бейсике не должна превышать 255. Обозначение символьных переменных: x$, y$, A 1$, max$ и т. д.
Циклический алгоритмический процесс for = а to b step с тело цикла next цикл for (для) — начало цикла, next (следующий) — конец цикла, а — начальное значение переменной, b — конечное значение переменной, с — шаг, с которым изменяется значение переменной При выполнении оператора next к значению переменной добавляется шаг с и полученное число сравнивается со значением b. До тех пор, пока значение переменной не станет равно b, будут повторяться строки программы между for и next. Шаг может быть целой или дробной, положительной или отрицательной величиной. Если шаг не указан, то он считается равным единице. Задача Напечатать на экране монитора 20 раз слово Привет. Программа: cls for n=1 to 20 print “привет” next n end
Циклический алг. процесс Задание: Вычислить значение многочлена y=2 x 3+7 x-5 для х от 1 до 10 через 0, 5 Решение: Алгоритм начало х: =1 нет да х 10 у: =2 x 3+7 x-5 вывод “при х= “ х; вывод “ у= “ у х: =х+0, 5 конец Программа cls for x=1 to 10 step. 5 y= 2*(x^3) +7*x – 5 print “при x= ”+x; print “ y= ”+y next x
Циклический алг. процесс Замечание. Чтобы на экран выводились все подсчитанные компьютером значения, команда вывода результата должна находится внутри цикла, т. е. между for и next, но обязательно после формулы вычисления этого результата. Например, for x=1 to 10 step. 5 y= 2*(x^3) +7*x – 5 print “при x= ”+x; print “ y= ”+y next x Если вывод результата помещается после команды next (т. е. вне цикла), то на экран будет выводится только последнее значение результата. Так поступают при вычислении сумм, произведений и других величин, когда промежуточные значения результата не нужны.
Задание. Вычисли сумму первых десяти четных чисел: 2, 4, 6, . . . , 20. начало s: =0 i: =2 нет i 20 да s: =s+i вывод “s= “s i: =i+2 конец Программа. cls очищаем экран s=0 начальное значение суммы for i =2 to 20 step 2 включаем счётчик и задаём числа от 2 до 20 s= s+i вычисляем сумму next i берём следующее число (с шагом 2) print “s= “+s выводим результат
Циклический алг. процесс for переменная = выражение 1 to выражение 2 [ step выражение 3 ] тело цикла next переменная Задание: нарисуйте 10 окружностей расположенных горизонтально. Решение: clg x=10 for i=1 to 10 color red circle x, 20, 10 x=x+30 next i
Циклический алг. процесс Задание: нарисуйте 10 квадратов расположенных вертикально. Решение: clg y=10 for i=1 to 10 color red (или: color 255, 0, 0) rect 10, y, 10 y=y+20 next i
Анимационные эффекты pause секунд – приостанавливает выполнение программы на указанное количество секунд. Число секунд может быть десятичной дробью, поэтому длина паузы может быть в долях секунды. Задание 1. шарик катится по горизонтали. Решение: clg x=0 for x=0 to 300 circle x, 20, 10 pause 0. 01 clg next x
Анимационные эффекты Задание 2. квадрат падает. clg y=0 color 0, 255 for y=0 to 300 rect 150, y, 20 pause 0. 01 clg next y Задание 3. светофор меняет цвет. Задание на дом: Изобразить подмигивающий смайлик clg color 0, 0, 0 rect 90, 120, 250 for i=1 to 10 color 255, 0, 0 circle 150, 50 pause 3 color 0, 255, 0 circle 150, 50 pause 3 color 255, 0 circle 150, 50 pause 3 next i
Источник: present5.com