Реферат: Сжатие файлов и программы архиваторы. Служебные программы. Назначение, виды. Выполнение основных операций с файлами в Total Commander, создание архивных файлов. Технология использования антивирусных программ
9 класс Итоговая аттестация№п/п
Тема
А
В
С
Компьютер и программное обеспечение
Условия безопасной работы на компьютере. Состав и назначение устройств компьютера.
Программный принцип работы компьютера. Состав и назначение ПО.
ОС: назначение, состав. Интерфейс пользователя.
Файловая система. Форматы текстовых и графических файлов.
Назначение файлового менеджера Total Commander.
Компьютерные вирусы и антивирусные программы: общие сведения.
Сжатие файлов и программы – архиваторы.
Служебные программы. Назначение, виды.
Выполнение основных операций с файлами в Total Commander, создание архивных файлов.
Технология использования антивирусных программ.
Информационная емкость дискеты.
Основные команды MS DOS.
Сравнительный анализ возможностей ОС и Total Commander для выполнения операций с файлами.
Арифметические основы PC.
^ Системы счисления
Понятие «информация». Свойства информации. Количество и единицы измерения информации.
Позиционные системы счисления.
Десятичная, двоичная и восьмеричная системы счисления.
1. 12288бит = ? Кбайт= ? байт
2. Перевести 10110 = ?2 =?8
Перевод целых чисел из одной системы счисления в другую.
Количество числовой информации
1. Перевести 10110 =?6
2. Какое количество информации содержит двоичное число 1112
Арифметические операции в позиционных системах счисления.
Количество текстовой информации.
1. Перевести 10110 =?16
2. Сложить числа 1017 + 118 = ?16
3. Какую часть дискеты объемом 1.44МВ займет текст, состоящий из 650 строк по 40 символов в каждой строке?
Офисные технологии
^ Технология обработки текстовой информации*
Форматы текстовых файлов. Создание и редактирование текста. Форматирование текста. Сохранение документа.
Таблицы, списки. Параметры страницы. Границы и заливка
Вставка и редактирование объектов: графических, диаграмм, надписей.
^ Технология обработки графической информации
Форматы графических файлов. Растровая и векторная графика. Вставка графического объекта в текстовый документ.
В графическом редакторе создать рисунок: модель часов (круг и две стрелки) по образцу.
Получить уменьшенную и увеличенную копию рисунка.
Рисунок разместить в рамке. Справа от рисунка поместить текст задания.
^ Технология обработки числовой информации
Построить график функции:
Y =( a * │X-5│)2 + √X6+7 + C
для Х = 3,6,…, 99; A=¾; C=5
Дан список учащихся с результатами экзаменов за 9-й класс по 5 предметам. Определить возможность поступления в профильный класс («собеседование» - при наличии одной или более оценки «3», «поступил» - при отсутствии «3»).
1. Дан список студентов с результатами экзаменов. Определить тип стипендии («нет» – при наличии оценки «3», «да» - «4» и «5», «повышенная» - при отсутствии «3» и «4»).
2. Получить полную таблицу умножения целых чисел вводом двух чисел, трех формул и копированием формул (в ячейках B1:J1, A2:A10 – числа от 1 до 9; на пересечении – произведение данных чисел).
^ Компьютерные презентации
Создать презентацию на тему «Расчет площади треугольника» с использованием текстовых и графических объектов.
Использовать в созданной презентации анимацию, переходы между слайдами, гипертекстовые ссылки.
Использовать в созданной презентации собственный шаблон.
7.
^ Логические основы PC
Формы мышления. Логические операции. Логические выражения и таблицы истинности.
Построить таблицу истинности для
логического выражения у = not A and B or C
Логические законы и правила преобразования логических выражений.
Упростить логическое выражение, построить таблицу истинности
у = (А or В and not C) or ( A or В and C) or C or A
Логические основы устройства компьютера, логические элементы.
По заданной логической функции
у = (А or В and not C) or ( A or В and C) or C or A построить логическую схему.
8.
Моделирование, алгоритмизация и программирование: QBasic
^ Числовые данные
1. Составить программу вычисления суммы и максимального (минимального) значения элементов одномерного массива.
2. Составить программу для вычисления максимального значения из трех чисел.
1. Составить программу вычисления суммы элементов одномерного массива, кратных 5.
2. Составить программу для вычисления значений функции Y в зависимости от заданного с клавиатуры значения Х:
│Х-5│при Х ≤ -1
Y = cos X при -1<Х≤1
√X2+7 при Х>1
1. Составить программу вычисления суммы элементов одномерного массива, находящихся в промежутке от -10 до 15 и являющихся четными числами.
2. При заданном с клавиатуры значении Х вычислите по значение функции Y
Y = √X2+7 + │Х-5│ и определите, принадлежит ли точка A(x,y) заданной на рисунке области.
^ Символьные данные
Составить программу нахождения первого вхождения указанного символа в строке и вывода его номера на экран
Составить программу нахождения и подсчета количества вхождений указанного символа в строке
1. Определить количество слов в текстовой переменной (слова разделены пробелами).
2. Задайте символьный одномерный массив. Выведите на экран элементы, которые начинаются с заглавной или строчной буквы «с».
^ Графические задачи
Составить программу рисования фигуры «мишень».
Составить программу рисования фигуры «клеточное поле».
1. Составить программу рисования фигуры «шахматное поле»
2. Составить программу перемещения точки по горизонтали (вертикали)
9.
Телекоммуника-ционные технологии
Архитектура компьютерных сетей. Программная и аппаратная организация компьютерных сетей. Протоколы. Формирование запросов для поиска информации.
Представления о средствах телекоммуникационных технологий: электронная почта. Создание и обслуживание почтового ящика Web-почты.
Специальное программное обеспечение средств телекоммуникационных технологий: файловые архивы. Работа с файловыми архивами
HTML
Создать в html-редакторе личную веб-страницу. Включить в нее: свою фотографию, короткий рассказ о себе, таблицу с итоговыми оценками.
Создать личный веб-сайт с разделами: Фотоальбом, Увлечения, Учеба.
Текст для практического задания п.3
Уважаемые господа Вы уже решили, где провести зимние каникулы? Для Вас мы делаем специальное недорогое предложение. Путешествуйте с фирмой SUNRISE Ltd. в Австрию и пользуйтесь привлекательными условиями отдыха.
"Снежная долина", Бергштадт, Австрия Отель "Снежная долина" - это туристический комплекс, занимающий значительную площадь. Отель приспособлен для отдыха с детьми. Лыжный подъемник. Лыжная школа. Теннисный зал. В отеле есть ресторан, бассейн, сауна и гимнастический зал. Кроме того, в отеле есть:
^ Детский сад, в котором воспитатели заботятся о детях, устраивают праздники, чтение сказок.
Апартаменты с цветным телевизором, телефоном и балконом, лоджией или террасой. Тип 1- жилая площадь 27 кв.м, тип 2 -около 34 кв. м.
Вот наши цены:
Продолжительность пребывания Тип 1 Тип 2
10дней 676.00 794.00
20 дней 875.00 945.00
30 дней 990.00 1.099.00
Позвоните нам, если у Вас возникнут вопросы.
* Уровень А
Загрузка и форматирование текста, сохранение документа на диске
Параметры текста: абзац с выраниванием по ширине, отступ первой строки абзаца 1,25,шрифтTimes New Roman, размер 12 пт, полужирный; заголовки расположены по центру, интервал до и после – 12 пт.
* Уровень В
Загрузка и форматирование текста, вставка таблиц, списков, рисунков в документ
Параметры текста: абзац с выраниванием по ширине, отступ первой строки абзаца 1,25,шрифтTimes New Roman, размер 12 пт, полужирный; заголовки расположены по центру, интервал до и после – 12 пт; в тексте оформить не менее двух списков и одной таблицы
* Уровень С
Загрузка и форматирование текста, вставка таблиц, списков, рисунков в документ
Параметры текста: абзац с выравниванием по ширине, отступ первой строки абзаца 1,25,шрифтTimes New Roman, размер 12 пт, полужирный; заголовки расположены под углом 450, интервал до и после – 12 пт; в тексте оформить не менее двух списков и одной таблицы; рисунок, подходящий по смыслу разместить с обтеканием текстом
http://www.klyaksa.net
^ Циклы в алгоритмах и программах.
Лучшее качества компьютеров проявляются не тогда, когда они рассчитывают значения сложных выражений, а когда многократно, с незначительными изменениями, повторяют сравнительно простые операции. Даже очень простые расчеты могут поставить человека в тупик, если их надо повторить тысячи раз, а повторять операции миллионы раз человек совершенно не способен.
С необходимостью повторяющихся вычислений программисты сталкиваются постоянно. Например, если надо подсчитать, сколько раз буква "о" встречается в тексте необходимо перебрать все буквы. При всей простоте этой программы исполнить ее человеку очень трудно, а для компьютера это задача на несколько секунд.
Циклический алгоритм - описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.
Перечень повторяющихся действий называют телом цикла.
Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.
Такие циклы называются - циклы со счетчиком.
На языке Basic они записываются следующим образом:
^ FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг]
тело цикла
NEXT [Счетчик]
Параметры указанные в квадратных скобках являются не обязательными (их можно не записывать). По умолчанию шаг цикла равен одному, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу.
Пример: Вывести на экран все числа от 1 до 100. Для этого можно было бы написать следующию программу:
REM Вывод чисел от 1 до 100
^ PRINT 1
PRINT 2
PRINT 3
PRINT 4
PRINT 5
PRINT 6
PRINT 7
...
PRINT 98
PRINT 99
PRINT 100
END
Всего каких-то 102 строчки ;-). Хотя эту же программу можно написать намного короче:
REM Вывод чисел от 1 до 100
FOR I=1 TO 100
^ PRINT I
NEXT
END
Немного исправив программу можно сделать, чтобы она выводила все числа от a до b.
REM Вывод чисел от a до b
a=55
b=107
FOR I=a TO b
PRINT I
NEXT
END
В этом случае счетчик при первом прохождении цикла принимает значение переменной a, после чего выполняются операторы до ключевого слова NEXT. После этого счетчик увеличивается на единицу и сравнивается со значение переменной b, если счетчик меньше, то цикл выполняется еще.
Легко сделать чтобы программа выводила числа в обратном порядке. Для этого шаг цикла должен быть равен -1 (минус один). В этом случае значение счетчика каждый раз после прохождения цикла будет уменьшено на единицу.
REM Вывод чисел от b до a
a=55
b=107
FOR I=b TO a STEP -1
^ PRINT I
NEXT
END
Пример: Вычислить сумму двухзначных натуральных чисел.
REM Вычислить сумму двухзначных натуральных чисел
FOR I=10 TO 99
s=s+I
NEXT
END
Программа перебирает числа от 10 до 99, каждый раз выполняя действия s=s+I. С точки зрения математики это совершенно бессмысленная запись, но рассмотрим её внимательней.
Процесс решения вычислительной задачи - это процесс последовательного изменения значений переменных. В итоге - в определенных переменных получается результат. Переменная получает определенное значение в результате присваивания. Вы помните, что присваивание - это занесение в ячейку, отведенную под переменную, определенного значения в результате выполнения команды.
В результате операции а=5 переменная а получает значение 5.
В результате операции с=a+b переменная с получает значение равное сумме значений переменной а и b.
В результате операции s=s+I переменная s получает значение равное сумме предыдущего значения переменной s и значения переменной I. Т.е., если до операции присваивания значение s было равно 5, а переменной I равно 3, то после операции значение переменной s будет равно 8 (5+3, старое значение s + значение I).
Значит после выполнения нашей программы в переменной s будет хранится сумма всех двузначных чисел от 10 до 99.
Пример: вычислить факториал числа а (записывается так: а!). Факториал - это произведение чисел от 1 до а. Например, 5! (факториал пяти) - это 5!=1*2*3*4*5.
REM Вычислить факториал числа
a=5
f=1
FOR I=1 TO a
f=f*I
NEXT
PRINT f
END
Вы, конечно, заметили, что до начала цикла мы присвоили переменной f значение равное единице. Иначе бы мы получили в результате ноль.
В субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.
Циклы такого вида называют - циклы с предусловием.
На языке Basic они записываются следующим образом:
^ DO WHILE условие
Тело цикла
LOOP
В этом цикле проверяется условие и если оно выполняется (ИСТИНА), то выполняется тело цикла до ключевого слова LOOP, затем условие проверяется снова ... и так до тех пор пока условие истино.
DO UNTIL условие
Тело цикла
LOOP
Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот).
Пример: Вывести все натуральные числа меньше данного.
REM Вывод всех числел меньше данного
a=0
chislo=10
DO WHILE aPRINT a
LOOP
END
Стоит обратить внимание на то, что цикл может быть не выполнен ни разу (если условие первоначально не истинно, например, a=5, а chislo=4). И наоборот, если условие будет истинно при любых значениях переменный, то цикл будет выполнятся бесконечное число раз (произойдет зацикливание).
Пример цикла, который будет выполняться бесконечное число раз:
REM зацикливание
DO WHILE a=a
PRINT "Это сообщение будет выводится на экран постоянно"
LOOP
PRINT "А это сообщение вы не увидите никогда"
END
Вам надо поточить все карандаши в коробке. Вы точите один карандаш и откладываете его в сторону. Затем проверяете, остались ли карандаши в коробке. Если условие ложно, то снова выполняется действие 'заточить карандаш'. Как только условие становится истинным, то цикл прекращается.
Циклы такого вида называют - циклы с постусловием.
На языке Basic они записываются следующим образом:
^ DO
Тело цикла
LOOP WHILE условие
DO
Тело цикла
LOOP UNTIL условие
Циклы такого рода отличаются тем, что хоть один раз, но тело цикла будет выполнено вне зависимости от условия. Условие проверяется после первого выполнения тела цикла.
Пример: Вычислите сумму цифр в числе.
REM Сумма цифр числа
DIM a, chislo, s AS INTEGER
INPUT "Введите число: ", chislo
a=chislo
DO
s=s+a MOD 10
a=a/10
a=INT(a)
LOOP UNTIL a=0
PRINT "Сумма цифр числа ",chislo ," равна: ", s
END
Переменную s используем для хранения суммы цифр. До начала цикла в переменную a заносим значение переменной chislo. Все дальнейшие преобразования осуществляем с переменной а. В цикле берем остаток от деления на 10 (последняя цифра числа) и прибавляем к тому, что уже есть в переменной s; делим значение переменной а на 10, берем целую часть (т.е. отбрасываем последнюю цифру числа) и заносим в а. Цикл продолжается до тех пор пока значение переменной а не окажется равным нулю (перебрали все цифры числа). Результат выводим на экран.
^ Символьные и строчные переменные.
Очень часто в программах требуется использовать символьные или строчные переменные. Что же это такое? Это переменные, значениями которых являются либо алфавитно-цифровые символы, либо несколько таких символов.
Строки - последовательность алфавитно-цифровых символов.
Для того, чтобы использовать такие переменные в программе необходимо их соответствующим образом объявить. Для этого используется уже известный оператор DIM.
DIM s AS STRING
s="Cтрока123"
Или добавлять справа от переменной символ $.
s$="Строка 987"
Пример: Эта программа выводит на экран две строки. Обратите внимание на два способа использования и объявления строковых переменных.
DIM stroka AS STRING
stroka="Один"
stroka2$="Два"
PRINT stroka
PRINT stroka2$
END
Еще пример: Та же программа, но с ОШИБКАМИ. Не указано, то что наши переменные срочные.
REM ЗДЕСЬ ОШИБКИ
stroka="Один"
stroka2="Два"
PRINT stroka
PRINT stroka2
END
Строчные переменные можно склеивать и сравнивать друг с другом. Для склеивания строк (конкатенации) используют знак плюс (+).
Пример:
REM конкатенация строк
s1$="Привет! "
s2$="Меня зовут Саша."
s$=s1$+s2$
PRINT s$
END
На экране появится надпись: Привет! Меня зовут Саша.
Для сравнения строк используют операции: >, <, =, >=, <=, <>.
Пример:
REM Сравнение строк
s1$="abc"
s2$="abc"
s3$="klmn"
IF s1$=s2$ THEN PRINT "Строки равны"
IF s1$=s3$ THEN PRINT "Строки равны"
END
Программа выведет сообщение «Строки равны» только один раз.
^ Функции для работы со строками:
LEN(s$)
Вычисляет длину строки (количество символов).
MID$(s$,n,k)
Выделяет из строки s$ k символов начиная с n-го символа.
VAL(s$)
Преобразует числовую часть начала строки в число.
STR$(x)
Преобразует число в символьную форму.
ASC(s$)
Вычисляет десятичный код символа.
CHR$(x)
Преобразует код в символ.
INKEY$
Функция опроса клавиш, нажатых на клавиатуре.
Пример: составить программу, подсчитывающую количество букв "а" в предложении.
REM кол-во букв "а"
INPUT "Введите предложение", s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)="а" THEN k=k+1
NEXT
PRINT "Кол-во букв а =", k
END
Пример: Заменить все буквы "а" в предложении на буквы "о".
REM замена букв
ss$=""
INPUT "Введите предложение", s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)="а" THEN
ss$=ss$+"о"
ELSE
ss$=ss$+MID$(s$,I,1)
END IF
NEXT
PRINT "Исправленная строка: ", ss$
END
Пример: Получить предложение в обратном порядке следования символов.
REM обратный порядок букв
ss$=""
INPUT "Введите предложение", s$
FOR I=LEN(s$) TO 1 STEP -1
ss$=ss$+MID$(s$,I,1)
NEXT
PRINT "Исправленная строка: ", ss$
END
A$=”урок 2”
Print “длина переменной=”; LEN(A$)
длина переменной=6
A$=”урок 2”
K$= LEFT$(A$, 3)
Print K$
уро
A$=”урок 2”
K$= RIGHT$(A$, 3)
Print K$
к 2
^ Input x
L$=”Urok #” + str$(x)
Print “переменная=”; L$
Print “длина=”; LEN(L$)
?2
переменная=Urok #2
длина=8
10 Input “нажмите Y или N”; X$
20 IF ASC(X$)<>78 OR ASC(X$)<>89 Then Print “Вы выбрали не ту букву”: goto 10
30 IF ASC(X$)=78 then Print “Вы выбрали букву N” else Print “Вы выбрали букву Y”
40 goto 10
FOR i= 65 to 90
Print chr$(i);
NEXT i
Input X$
L=LEN(X$)
FOR i=L TO 1 STEP -1
Print MID$(X$, i, 1);
NEXT i
10 REM подсчет количества цифр в слове
20 INPUT “Введите строку - ”; S$
30 K=0
40 N$=”0123456789”
50 FOR I=1 TO LEN(S$)
60 FOR J=1 TO 10
70 IF MID$( S$)=MID$(N$, J, 1) THEN K=K+1: GOTO 90
80 NEXT J
90 NEXT I
100 PRINT “В строке”; S$; K; “-ЦИФР”
110 END
REM подсчет количества слов
10 INPUT A$
20 FOR I=1 TO LEN(A$)
30 IF MID$(A$,I,1)=" " THEN K=K+1
40 NEXT I
50 PRINT"Количество слов:";K+1
^ Массивы. Одномерные массивы.
При работе с большим числом данных одного типа очень удобно использовать массивы.
Итак, что же такое массивы...
Массив, это разновидность переменной. Он дает возможность хранить сколько угодно значений под одним и тем же именем. К каждому конкретному значению массива, необходимо обращаться через числовой индекс.
Массив - это набор переменных, имеющих одинаковое имя (идентификатор), но различающихся порядковыми номерами (индексами).
Обычно массивы применяют для группировки переменных, имеющих много общих свойств. Например, если в классе 30 учеников, то имя каждого ученика можно было бы сохранить в отдельной строковой переменной: name1, name2, ... Но вводить 30 новых переменных крайне неудобно. Можно сделать проще: объявить один массив name(), имеющий 30 элементов. В скобках проставляется индекс когда надо обратиться к какому-то конкретному элементу.
Отсчет элементов массива во многих языках начинается с нуля. Поэтому имя первого (по классному журналу) ученика будет храниться в переменной name(0), второго - в переменной name(1), а последнего (тридцатого) - в переменной name(29).
Для того чтобы использовать массив его надо сначала объявить в программе. Для этого используют оператор ^ DIM. По умолчанию (если нет оператора DIM в программе) считается заданным массив из 10 элементов.
Пример:
DIM a(100) AS INTEGER
Это массив из ста элементов, каждый из которых может быть целым числом.
DIM name(30) AS STRING
DIM mas(20)
Это массив из 20 элементов, тип переменных явно не указан.
DIM mas1(10) AS INTEGER
mas1
5
2
23
111
65
87
65
333
7
21
0
1
2
3
4
5
6
7
8
9
Обращение к элементам массива:
a(24)
name(5)
mas(2)
mas(3)
Основное преимущество массивов перед обычным набором разноименных переменных состоит в том. что индекс нужного элемента можно записывать не числом, а переменной или даже вычислять по выражению. Это дает возможность использовать массивы внутри циклов - собственно для этого они и были придуманы. Если в программе есть массив, то, скорее всего, в ней же вы найдете и цикл.
Можно также объявить массив и таким образом:
DIM mas2(1 TO 10) AS INTEGER
mas2
3
66
34
76
2
99
345
2
90
4
1
2
3
4
5
6
7
8
9
10
или даже так:
DIM a2(5 TO 10) AS INTEGER
В чем отличие? В том что в данном случае индексация элементов массива начинается не с нуля, а с нужного вам индекса (в примере массив mаs1 имеет индексы от 1 до 100, массив а2 - от 5 до 100).
Допустим в классе 30 учеников. Предположим, что для хранения их оценок по предмету создан массив ^ DIM mark(30) AS INTEGER. Следующая программа, поставит каждому учащемуся случайную оценку от 3 до 5. Конечно, так расставлять оценки нельзя, но этот пример показывает, что программа не становится сложнее, если в классе не 30 учеников, а сто пятьдесят миллионов. Сочетание массивов и циклов позволяет достичь удивительной простоты.
REM Выставление оценок :)
DIM mark(30) AS INTEGER
FOR I=0 TO 29
mark(I)=3+INT(RND*3)
NEXT
END
mark
3
3
5
3
4
5
5
3
...
4
0
1
2
3
4
5
6
7
...
29
Для создания случайных чисел в языке Basic служит стандартная функция RND. Она создает случайное число в диапазоне от 0 до 1. Умножив его на 3, мы получаем случайное число от 0 до 3. А взяв от него целую часть (с помощью функции INT), получим целое случайное число в диапазоне от 0 до 2. Прибавив к нему число 3, мы поучаем случайную оценку, которая не меньше 3 и не больше 5.
Пример: Составить программу заполнения массива из 15 элементов случайными числами в диапазоне от 1 до 10. Предусмотреть вывод массива на экран.
REM Заполнение и вывод массива
DIM mas(15) AS INTEGER
FOR I=0 TO 14
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO 14
PRINT mas(I);
NEXT
END
^ CLS - очистка экрана. Точка с запятой (;) в операторе PRINT позволяет выводить элементы массива в строку.
То же самое задание, но отличающееся объявлением массива:
REM Заполнение и вывод массива
DIM mas(1 TO 15) AS INTEGER
FOR I=1 TO 15
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=1 TO 15
PRINT mas(I);
NEXT
END
Всё очень просто. Какой из вариантов использовать - решать вам.
Пример: Вывести количество отрицательных элементов массива.
REM Вывести количество отрицательных элементов
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
FOR I=0 TO n-1
IF mas(I)<0 THEN k=k+1
NEXT
PRINT "Число отрицательных элементов: ",k
END
Подсчет количества отрицательных элементов массива происходит в цикле:
FOR I=0 TO n-1
IF mas(I)<0 THEN k=k+1
NEXT
Пример: Составить программу для вычисления наибольшего элемента массива и его номера.
REM вычисления наибольшего элемента массива и его номера
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
max=mas(0)
nomer=1
FOR I=0 TO n-1
IF mas(I)>max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
PRINT "Максимальный элемент: ", max, " с номером ", nomer
END
Задание выполняется в строчках:
max=mas(0)
nomer=1
FOR I=0 TO n-1
IF mas(I)>max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
Вначале примем за наибольший элемент - первый элемент массива mas(0). Затем перебирая все элементы по очереди сравниваем их со значение max и если mas(I)>max, то принимаем этот элемент за наибольший.
Пример: составить программу сортировки массива по возрастанию.
REM сортировка массива
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
REM сортировка массива
FOR I=0 TO n-2
FOR J=I+1 TO n-1
IF mas(I)REM если нашли меньший элемент, то обменяем их местами
a=mas(I)
mas(I)=mas(J)
mas(J)=a
END IF
NEXT J
NEXT I
REM конец сортировки массива
PRINT "Вывод отсортированного массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
END
10 REM ввод массива из N чисел и вывод его в обратном порядке
^ 20 INPUT N: DIM A(N)
30 FOR I=1 TO N
40 INPUT A(I)
50 NEXT I
60 FOR I=N TO 1 STEP -1
70 PRINT A(I);
80 NEXT I
10 REM сумма значений элементов массива
^ 20 INPUT N: DIM A(N): S=0
30 FOR I=1 TO N
40 INPUT A(I): S = S + A(I)
50 NEXT I
60 PRINT “Сумма=”; S
10 REM минимальное значение массива
^ 20 INPUT N: DIM A(N)
30 FOR I=1 TO N
40 INPUT A(I)
50 NEXT I
55 MIN = A(1)
60 FOR I=2 TO N
70 IF MIN > A(I) THEN MIN = A(I)
80 NEXT I
90 PRINT “минимальное число= “; MIN
0>0>^ Двумерные массивы.
Двумерные массивы можно представить себе как таблицы, в ячейках которых хранятся значения элементов массива, а индексы элементов массива являются номерами строк и столбцов.
Объявляются двумерные массивы так же, как переменные и одномерные массивы. Например, целочисленный числовой массив, содержащий 3 строк и 4 стобца объявляется следующим образом:
DIM tabl(3 ,4)
DIM tabl(3 ,4) AS INTEGER
tabl
0
1
2
3
0
1
2
2
7
8
3
22
1
3
34
5
56
9
777
DIM tabl1(1 TO 3 ,1 TO 4) AS INTEGER
tabl1
1
2
3
4
1
2
3
2
7
8
3
22
1
3
34
5
56
9
777
С помощью двумерного массива 9х9 и двух вложенных циклов можно легко составить программу, реализующую таблицу умножения. Сомножителями будут значения индексов строк и столбцов, а их произведения будут значениями элементов массива.
DIM tablum(1 TO 9 ,1 TO 9) AS INTEGER
tablum
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81
REM Таблица умножения
DIM tabum(1 TO 9, 1 TO 9) AS INTEGER
REM Заполнение массива - создание таблицы умножения
FOR I=1 TO 9
FOR J=1 TO 9
tabum(I, J)=I*J
^ NEXT J
NEXT I
REM Вывод массива на экран в виде таблицы
FOR I=1 TO 9
FOR J=1 TO 9
PRINT tabum(I,J);
NEXT J
NEXT I
END
Пример: В таблице 3х4 вычислить количество отрицательных элементов, сумму четных элементов, произведение элементов второй строки.
REM вычислить количество...
DIM tabl(1 TO 3, 1 TO 4) AS INTEGER
REM Заполнение массива
FOR I=1 TO 3
FOR J=1 TO 4
INPUT "Введите элемент массива:", tabl(I, J)
^ NEXT J
NEXT I
REM Вывод массива на экран в виде таблицы
CLS
FOR I=1 TO 3
FOR J=1 TO 4
PRINT tabl(I,J);
NEXT J
NEXT I
REM требуемые вычисления
k=0
s=0
p=1
FOR I=1 TO 3
FOR J=1 TO 4
IF tabl(I, J)<0 THEN k=k+1
IF tabl(I, J) MOD 2 = 0 THEN s=s+tabl(I, J)
IF I=2 THEN p=p*tabl(I, J)
^ NEXT J
NEXT I
PRINT "результ:"
PRINT "отрицательных элементов: ", k
PRINT "сумма четных элементов: ", s
PRINT "произведение элементов второй строки: ",p
END
END
0>^ Графический режим работы
Ну и теперь, наверное, самое интересное. Будем рисовать. Кто же не любит это занятие?!
Программы могут выводит данные на экран в текстовом и графическом режиме работы. Для перехода в графический режим работы служит оператор:
SCREEN
- целочисленная константа, указывающая режим работы для данного экрана и адаптера.
Пример:
SCREEN 1
SCREEN 2
...
SCREEN 11
...
Для рисования можно использовать следующие операторы:
CLS
Очистка экрана
PSET(X,Y),C
Изобразить точку. X,Y - координаты точки, С -цвет.
PSET STEP(X,Y),C
Изобразить точку. X,Y - смешение от данной точки, С - цвет.
LINE(X1,Y2)-(X2,Y2),C
Прямая линия.X1,Y2 и X2,Y2- координаты концов линии, С - цвет.
LINE -(X2,Y2),C
Прямая линия. От текущего положения курсора до X2,Y2- координаты конца линии, С - цвет.
LINE(X1,Y2)-(X2,Y2),C,B
Прямоугольник. X1,Y2 и X2,Y2- координаты концов диагонали, С - цвет.
LINE(X1,Y2)-(X2,Y2),C,BR
Закрашенный прямоугольник. X1,Y2 и X2,Y2- координаты концов диагонали, С - цвет.
CIRCLE(X,Y),R,C
Окружность. X,Y - координаты центра, С -цвет.
CIRCLE STEP(X,Y),R,C
Окружность. X,Y - смешение от данной точки, С -цвет.
CIRCLE(X,Y),R,C,A1,A2
Дуга окружности. X,Y - координаты центра, С -цвет, А1,А2 - угловые меры начальной и конечной точки дуги.
CIRCLE(X,Y),R,C,,,K
CIRCLE(X,Y),R,C,А1,А2,K
Элипс. К - коэффициент сжатия.
PAINT(X,Y),C1,C2
Закрасить область. С1 - цвет закраски, С2 - цвет границы.
LOCATE T1,T2
Установка курсора в данную позицию. Т1, Т2 - номер строки и столбца.
Оператор вывода текста
Пример: использования LINE
REM использование LINE
SCREEN 12
LINE (10, 10)-(200, 10)
LINE (10, 20)-(200, 40), 2, B
LINE (10, 50)-(200, 70), 2, BF
END
Результат работы программы:
Пример: использование CIRCLE
REM ОКРУЖНОСТЬ, ДУГА, ЭЛИПС
CONST PI = 3.141593
SCREEN 2
REM ОКРУЖНОСТЬ
CIRCLE (350, 115), 30
REM ДУГА ОКРУЖНОСТИ
CIRCLE (320, 100), 200, , -PI, -PI / 2
REM ОКРУЖНОСТЬ
CIRCLE STEP(-100, -42), 100
REM ЭЛИПС
CIRCLE STEP(0, 0), 100, , , , 5 / 25
REM ВЫВЕСТИ НАДПИСЬ В СТРОКЕ 25 И СТОЛБЦЕ 1
LOCATE 25, 1: PRINT "Press any key to end.";
REM ЖДЕМ НАЖАТИЯ ЛЮБОЙ КЛАВИШИ
DO
LOOP WHILE INKEY$ = ""
Результат работы программы:
Пример: построение окружности
REM окружность
CLS
INPUT "Введите координаты центра x,y: ", x,y
INPUT "Введите радиус окружности R: ", r
SCREEN 1
CIRCLE (x, y), r
END
Пример: программа "Снеговик"
REM Снеговик
SCREEN 12
x = 320
y = 240
r = 50
c = 3
c1 = 8
c2 = 5
c3 = 6
REM Снег
FOR i = 1 TO 300
PSET (RND * 640, RND * 480), 1
NEXT
REM Сугроб
FOR i = 1 TO 20
LINE (0 + 2 * i, y + 3 * r + 61 - i)-(640 - 2 * i, y + 3 * r + 61 - i), 1
NEXT
REM Тело снеговика
CIRCLE (x, y - 80), r - 20, c
CIRCLE (x, y), r, c
CIRCLE (x, y + 120), r + 20, c
CIRCLE (x - 52, y - 30), 10, c
CIRCLE (x + 52, y - 30), 10, c
PAINT (x, y - 80), c, c
PAINT (x, y), c, c
PAINT (x, y + 120), c, c
PAINT (x - 52, y - 30), c, c
PAINT (x + 52, y - 30), c, c
REM Оформление лица
CIRCLE (x - 15, y - 90), 2, 1
PAINT (x - 15, y - 90), 1, 1
CIRCLE (x + 15, y - 90), 2, 1
PAINT (x + 15, y - 90), 1, 1
CIRCLE (x, y - 80), 10, 4, , , .5
PAINT (x, y - 80), 4, 4
CIRCLE (x, y - 75), 20, 4, 4, 6, 0.5
REM Метла
LINE (x - 50, y - 100)-(x - 54, y + 100), c1, BF
FOR i = 1 TO 20
LINE (x - 53, y - 100)-(x - 53 - 40 * RND + 20, y - 100 - 40 * RND), c1
NEXT
REM Ведро
LINE (x - 30, y - r - 2 * (r - 20) + 10)-(x + 30, y - r - 2 * (r - 20) + 10), c2
LINE (x - 15, y - r - 2 * (r - 20) - 30)-(x + 15, y - r - 2 * (r - 20) - 30), c2
LINE (x - 30, y - r - 2 * (r - 20) + 10)-(x - 15, y - r - 2 * (r - 20) - 30), c2
LINE (x + 15, y - r - 2 * (r - 20) - 30)-(x + 30, y - r - 2 * (r - 20) + 10), c2
PAINT (x, y - r - 2 * (r - 20)), c2, c2
REM Пуговицы
FOR i = 1 TO 5
CIRCLE (x, y - r + 30 * i), 3, c3
PAINT (x, y - r + 30 * i), c4, c3
NEXT
END
Результат работы программы:
Пример: построение графика функции.
FUNCTION F (x)
F = x * x
END FUNCTION
REM ГРАФИК ФУНКЦИИ
SCREEN 12
REM Строим оси
FOR I = 0 TO 3
LOCATE 16, 38 + 10 * I: PRINT 4 * I
NEXT
FOR I = 0 TO 3
s$ = "-" + STR$(4 * I)
LOCATE 16, 38 - 10 * I: PRINT s$
NEXT
FOR I = 0 TO 4
LOCATE 16 - 3 * I, 38: PRINT 5 * I
NEXT
FOR I = 0 TO 3
s$ = "-" + STR$(5 * I)
LOCATE 16 + 3 * I, 37: PRINT s$
NEXT
LINE (10, 240)-(630, 240)
LINE (320, 10)-(320, 470)
COLOR 3
LOCATE 1, 38: PRINT "Y"
LOCATE 17, 77: PRINT "X"
REM Строим график функции
COLOR 2
PSET (120, 240 - 10 * F(-10))
FOR x = -10 TO 10 STEP .1
XX = 20 * x + 320
YY = 240 - 10 * F(x)
IF x = 2 THEN CIRCLE (XX, YY), 20
LINE -(XX, YY)
NEXT
END
Результат работы программы для y=x2
Результат работы программы для y=x3-2.5
Оператор DRAW позволяет выполнять разнообразные графические операции.
Команды черчения по восьми направлениям: U, D, L, R, E, F, G, H.
H
U
E
L
R
G
D
F
Команда М чертит от текущей точки до точки с координатами x, y. Если перед координатами стоит знак плюс или минус, то координаты относительные, а не абсолютные.
Команда S изменяет масштаб черчения.
Команда А поворачивает изображение (А0-0, А1-90, А2-180, А3-270 градусов).
Пример: Рисование флагов.
REM Флаги
SCREEN 1
PSET (50, 10)
DRAW "R20 G5 F5 L20 U10"
DRAW "B D20"
DRAW "S5 R20 G5 F5 L20 U10"
DRAW "BD20"
DRAW "S4 R20 G5 F5 L20 U10"
DRAW "BD20"
DRAW "R20 G5 F5 L20 U10"
DRAW "BD40"
DRAW "A3 R20 G5 F5 L20 U10"
END
Результат работы программы:
^ Создание движущихся изображений
Как нарисовать графический объект вам уже понятно. Но как заставить его двигаться?
Очень просто!
1. Рисуем объект цветом фона.
2. Изменяем координаты.
3. Рисуем объект цветом отличным от цвета фона.
4. Повторяем 1-3 столько раз сколько потребуется.
Пример: Движущийся круг.
REM Движущийся круг
SCREEN 1
x = 1
y = 1
REM цвет фона - 0(черный), цвет рисунка - 1
c = 1
CIRCLE (x, y), 2, c
FOR i = 1 TO 150
REM Рисуем объект цветом фона
c = 0
CIRCLE (x, y), 2, c
REM Изменяем координаты
x = x + 2
y = y + 1
REM Рисуем объект цветом отличным от цвета фона
c = 1
CIRCLE (x, y), 2, c
REM задержка
FOR j = 1 TO 250000
NEXT j
NEXT i
END
Пример: Усложним траекторию движения. Пусть наш шарик прыгает по поверхности, а когда поверхность закончится - упадет вниз.
REM Прыгающий шарик
SCREEN 1
x = 1
y = 100
c = 1
LINE (0, y + 20)-(220, y + 20)
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
FOR i = 1 TO 140
c = 0
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
c = 1
x = x + 2
IF i < 115 THEN
y = y + 10 * COS(.5 * i)
ELSE
y = y + 4
SOUND 200, 1
END IF
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
FOR j = 1 TO 250000
NEXT j
NEXT i
LOCATE 10, 15: PRINT "GAME OVER :)"
END
Пример: Шарик, заключенный в прямоугольную область. При касании границ отскакивает обратно.
REM Шарик, заключенный в прямоугольную область
SCREEN 1
c = 1
REM Границы области
xx1 = 1
xx2 = 200
yy1 = 1
yy2 = 150
LINE (xx1, yy1)-(xx1, yy2)
LINE (xx2, yy1)-(xx2, yy2)
LINE (xx1, yy1)-(xx2, yy1)
LINE (xx1, yy2)-(xx2, yy2)
REM Начальные координаты и скорость шарика
x = RND * (xx1 + (xx2 - xx1) / 2)
y = RND * (yy1 + (yy2 - yy1) / 2)
vx = RND * 20 - 10
vy = RND * 20 - 10
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
REM Движение шарика, до тех пор пока не нажмем любую клавишу
DO
c = 0
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
c = 1
IF x < (xx1 + 5) OR x > (xx2 - 5) THEN vx = -vx
IF y < (yy1 + 6) OR y > (yy2 - 7) THEN vy = -vy
x = x + vx
y = y + vy
CIRCLE (x, y), 2, c
PAINT (x, y), c, c
FOR j = 1 TO 150000
NEXT j
LOOP WHILE INKEY$ = ""
LOCATE 10, 15: PRINT "GAME OVER :)"
END
Пример: Идущие часы (входит в состав примеров QBasic).
' *** DRAW_EX.BAS ***
'
' Declare procedure.
DECLARE SUB Face (Min$)
'
' Select 640 x 200 pixel high-resolution graphics screen.
SCREEN 2
DO
CLS
' Get string containing minutes value.
Min$ = MID$(TIME$,4,2)
' Draw clock face.
Face Min$
' Wait until minute changes or a key is pressed.
DO
' Print time at top of screen.
LOCATE 2,37
PRINT TIME$
' Test for a key press.
Test$ = INKEY$
LOOP WHILE Min$ = MID$(TIME$,4,2) AND Test$ = ""
' End program when a key is pressed.
LOOP WHILE Test$ = ""
END
'
' Draw the clock face.
SUB Face (Min$) STATIC
LOCATE 23,30
PRINT "Press any key to end"
CIRCLE (320,100),175
' Convert strings to numbers.
Hr = VAL(TIME$)
Min = VAL(Min$)
' Convert numbers to angles.
Little = 360 - (30 * Hr + Min/2)
Big = 360 - (6*Min)
' Draw the hands.
DRAW "TA=" + VARPTR$(Little) + "NU40"
DRAW "TA=" + VARPTR$(Big) + "NU70"
END SUB
Несложно осуществить не просто движение объекта, а управляемое движение.
Пример: Художник (вхо
еще рефераты
Еще работы по разное
Реферат по разное
6 Вопросы к зачету
18 Сентября 2013
Реферат по разное
Правила пожарной безопасности для предприятий и организаций газовой промышленности согласовано главным управлением Государственной противопожарной службы мвд россии 15 августа 1997 г. N 20 2/1786
18 Сентября 2013
Реферат по разное
Департамент по Взаимодействию со сми обзор средств массовой инфомации
18 Сентября 2013
Реферат по разное
Налогообложения в вопросах и ответах
18 Сентября 2013