Рефераты. Общие сведения о языке программирования Qbasic

Общие сведения о языке программирования Qbasic

Общие сведения об языке программирования

Qbasic

Язык QBASIC (Beginner's All-purpose Instruction Code) разработан
Джоном Кимини и Томасом Куртцем в Дартмутском колледже, США, в середине
1960 г.

QBASIC занимает особое место среди всех языков высокого уровня. С самого начала он задумывался как универсальный язык для начинающих, и средства программирования на QBASIC до сих пор включаются в комплект поставки ПК, - как обязательный элемент технологии.

Вот некоторый достоинства QBASIC (с точки зрения массового пользователя): простота синтаксиса; простота организации данных и управляющих структур; большое число встроенных команд и функций, позволяющих без труда выполнять такие операции, как управление текстовым и графическим экраном, обработка символьных строк и т.п.)

Особым достоинством QBASIC следует считать возможность работы в режиме интерпретации, который резко упрощает процесс отладки программ: исполнение почти каждой команды можно проверить сразу после написания(Shift
+F5).

АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ

Программа на языке Бейсик записывается в виде последовательности символов, к числу которых относятся латинские и русские буквы, арабские цифры, знаки препинания (, ; : " ' ?) , знаки операций (* / - + < > = =
.), специальные символы (% & ! # $ ).

Для обозначения исходных данных и результатов вычислений употребляются переменные.

Последовательность латинских букв и цифр, начинающаяся с буквы, называется идентификатором или именем переменной.

Числа в программе записываются в десятичной системе, вместо запятой в десятичных дробях пишется точка: 0, - 17, 0.25, - 34.85.

Переменные и числа - это простейшие частные случаи выражения. Более сложные выражения строятся из чисел и переменных с помощью знаков сложения, вычитания, умножения, деления, возведения в степень. (, (, *, /, ^.

При вычислении значений выражений действуют обычные правила старшинства операций:

1) возведение в степень - ^

1) умножение, деление *, /

3) сложение, вычитание +, -

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

В выражении могут быть использованы следующие встроенные функции:

ABS ( х) - модуль х ( х (

SQR ( х) - корень квадратный из х ( ((х ).

INT ( х ) - целая часть х

SIN ( х) - синус х (аргументом служит радианная мера угла)

COS ( х ) - косинус х

TAN ( x ) - тангенс х

ATN ( x ) - арктангенс х

LOG ( x ) - натуральный логарифм х

EXP ( x ) - экспонента х

SGN (x) - определение знака числа х

Например. Записать по правилам Бейсика математические выражения

1) X2 +2X-5.12 (X^2+2*X-5.12)/(X^2+12.51)

X2+12.51


2) COS(X) - SIN(X) (COS(X)-
SIN(X))/(ABS(COS(X)+SIN(X)))

| COS(X) + SIN(X)|

Упражнения

1. Какие из следующих последовательностей символов являются идентификаторами, а какие нет.

а) Х б) Х1 в) Х( г) Х1Х2 д)
AB е) ABCD ж) SIN з) SIN ( Х ) и) А-1 к) 2А л) MAX15

2. Записать по правилам Бейсика следующие выражения:

а) б) 1+ Х + Х2 в) 1+ (Х(+ (1+Х( г) А+В

2

C+D

д) A+B -1,7 е) ((1,2-9,8Х(((( ж)
( Х2 + Y2 +100

1-Y(54,264-Х)

(2Х+50,2)

E+F+0,5

3. Переписать следующие выражения, записанные по правилам Бейсика, в традиционной математической форме:

а) А+B/ (C+D) - ( A+B) / C+D б) A*B/ (C+D) - (C - D)/
B*(A+B) в) 1+SQR (COS (Х+Y)/ 2) г) 2.56 + АВS ( Х^2-Y^6) д) INT (Х*5.234 - А*(Х+Y))

ОПЕРАТОРЫ ВВОДА-ВЫВОДА

I Оператор присваивания имеет общий вид:

( имя другой переменной

имя переменной=( арифметические выражения

( число

В результате выполнения оператора присваивания переменной, стоящей слева от знака равенства присваивается значение другой переменной или значение арифметического выражения или численное значение. Для того, чтобы оператор присваивания мог быть выполним, необходимо, чтобы все переменные в выражении имели некоторые значения , были заданы выше.

ПРИМЕРЫ 1. А=0 2. С=2 3. А=2 : В=3

В=С

С= (А+В)^ 2/5

УПРАЖНЕНИЯ
1. Какие из следующих последовательностей символов являются операторами присваивания:

а) А=В б) А*Х+B=C в) Z=Z+1 д) Y=Y e) - Y=Y

2. Задать в виде оператора присваивания следующие действия:

а) переменной Z присвоить значение, равное полусумме значений переменных
Х и Y. б) удвоить значение переменной А, в) значение переменной Х увеличить на 0.1, г) изменить знак значения переменной Y.

3. Задать с помощью операторов присваивания следующие действия: а) переменной А присвоить значение разности, а переменной В-полусуммы значений переменных Х и Y. б) переменой А присвоить значение удвоенного произведения значений переменных Х и Y, а переменной В значение 0.

4) Даны Х, Y получить (Х(-(Y ( X=2,57 Y=-5,379

1+(Х*Y(

Операторы ввода-вывода

Оператор ввода с клавиатуры:

INPUT ["текст";] X1, [X2, X3... XN]
[ ] - обозначают, что параметры, стоящие в них не обязательны;
X1, X2, ... XN - имена переменных или идентификаторы.

В результате выполнения этого оператора на экране появится текст, а переменным X1, X2, ... XN будут заданы значения с клавиатуры.

Операторы блока данных

READ X1,X2,X3, ... XN где X1,X2,..XN - это имена переменных
DATA C1, C2, C3, ... CN C1, C2, ... CN - это значения

В результате выполнения этих операторов переменная X1 получит значение C1, X2 примет значение C2...
Замечание! Оператор DATA может стоять в любом месте программы. Считывать данные из хранилища DATA можно с помощью нескольких операторов READ.

Оператор RESTORE возвращает считывание данных на начало.

Оператор вывода на экран
PRINT S1[ ;S2; S3 ...] где S1, S2 ... SN - списки
Списки это :
1) имя переменной, значение которой необходимо вывести на печать;
2) арифметическое выражение, значение которого необходимо вывести на печать;
3) текст, заключенный в кавычки.

Разделителем между списками может быть:
1) , - списки отделяются друг от друга шагом табуляции, равным 8 пробелам;
2) ; - списки печатаются вплотную друг к другу.

Для управления выводом используют специальный оператор:

LOCATE X,Y где X - номер строки экрана 1 b )

Логическое выражение принимает одно из двух значений: TRUE (истина) и
FALSE (ложь). Эти выражения применяются в операторах ветвления и цикла.

Существующий приоритет выполнения операций поддерживается и здесь: сначала выполняются операции в скобках, затем логическое умножение, логическое сложение
Примеры записей логических выражений:

|математическая запись |запись на языке Бейсик |
|( X>0 ) и (Y0 ) AND (Y0 X, Y, Z равны между собой в) 2< X < 20 точка с координатами X,
Y принадлежит 1- ой четверти

Операторы перехода разделяются на две группы: операторы безусловного перехода и операторы условного перехода.

Оператор безусловного перехода.

Он служит для перехода из одной строки программы к другой, помеченной номером или меткой.

Общий вид оператора: GOTO N

где N - номер строки или метки оператора, на который происходит переход в программе.
Примеры:
1. X=3 2. GOTO W

GOTO 7 . . .

Y=2*X W PRINT "решение получено"

7 Z=5*X

Операторы условного перехода
Существуют две формы ветвления: полная и неполная.

Соответственно существуют и два вида операторов: полной и неполной альтернативы.
I. Полная альтернатива (предусмотрены команды в ветви "ДА" и в ветви
"НЕТ").
1) Линейная форма записи (оператор записывается в одной строке)

Условие выполняется "ДА"

IF условие THEN блок операторов 1 ELSE блок операторов 2

Условие не выполняется "НЕТ"

Работа оператора: в зависимости от того выполняется или не выполняется условие (условие - логическое выражение, которое может содержать знаки сравнения и логические операции). Если условие истинно, то выполняется блок операторов 1, если условие ложно, то выполняется блок операторов 2.

ПРИМЕР: IF A=1 THEN PRINT "ДА" ELSE PRINT "НЕТ"

PRINT "КОНЕЦ"
Здесь операторы работают следующим образом: если условие А=1 "ИСТИННО", то выполняются операторы PRINT "ДА" и PRINT
"КОНЕЦ"; если условие А=1 "ЛОЖНО", то выполняются операторы PRINT"НЕТ" и PRINT
"КОНЕЦ".


2) Блочная форма записи:

IF условие THEN ПРИМЕР: блок операторов CLS: INPUT a ветви "ДА" IF a=1 THEN
ELSE PRINT
"работает ветвь ДА " блок операторов PRINT a ветви "НЕТ" ELSE
END IF PRINT "работает ветвь НЕТ"

PRINT a

END IF

II. Условный оператор неполной альтернативы:

IF условие THEN блок операторов

Примеры решения задач.
Пример 1.Определить наибольшее из двух чисел Х и У, введенных клавиатуры.
CLS: INPUT " ";X, Y
IF X > Y THEN

PRINT "НАИБОЛЬШЕЕ ЧИСЛО X="; X
ELSE

PRINT "НАИБОЛЬШЕЕ ЧИСЛОY=";Y
END IF
END
Пример 2. Вычислите Функцию для любого значения Х.

X2 +4X-7 , X=-7 д) X+Z , если X5

Y= X*Z в остальных случаях
3. Заданы длины сторон треугольника - А, В, С, Определить, является ли треугольник равнобедренным.
3. Составить программу, выводящую на экран первые десять натуральных чисел.
4. Составить программу, печатающую таблицу квадратов первых десяти целых чисел в центре чистого экрана.
5. Вычислить значения функции а) Y= 5*X2 -4X+11 на отрезке (-5,5) с шагом 1,5;

б) X2-2*X+3, если X=0 в) SIN(X), если XA(y-1) THEN GOTO 20 P=A(i) : K=i m = A (y)
FOR y=i+1 TO 9
A (y) = A (y-1) : A (y-1) = m IF A(y)>P
THEN GOTO 50
20 NEXT y
P=A(y):K=y

NEXT i 50

NEXT y

FOR i=0 TO 9

A(K)=A(i):A(i)=P

PRINT А(i) NEXT i

NEXT i PRINT
“Отсортированные элементы”

FOR i=0 TO 9

PRINT
A(i)

NEXT i

END


3 способ (метод простого включения)


DIM A (10), В(9)

PRINT “Введите 10 элементов”
FOR i=0 TO 9
INPUT B (i)
NEXT i
FOR i=1 TO 10
A(i)=B(i-1)
NEXT i
FOR i=1 TO 10
P=A(I):Y=I-1
40IF P0 THEN A(Y+1)=A(Y):Y=Y-1:GOTO 40
A(Y+1)=P
NEXT i
PRINT “Отсортированные элементы”
FOR i=1 TO 10
PRINT A (i)
NEXT i
END

Задачи на использование цикла при обработке массивов.
0. Вывести положительные элементы массива Х(k), затем отрицательные элементы массива У(m) и количество выведенных чисел.
0. Даны k и массив X(k). Найти сумму.

(X1-P)2+(X2-P)2+...+(Xk-P)2, где Р=Х1+Х2+...+Хk)/k.
0. Даны m и массив Х ( m ). Найти произведение.

(2+Х21)*(2+Х22)*...*(2+Х2m).
4. Найти номер элемента массива Х(k), ближайшего к С, где

С=(Х1+Х2+...+Хk)/k
0. Даны С, m и массив Т(m). Найти число элементов массива Т, меньших С, а для элементов, больших С, найти их среднее арифметическое.
0. Для массива Т(m) найти число элементов, больших предыдущего элемента, а для тех, которые меньше, найти их среднее арифметическое.
0. Найти номер наименьшего положительного элемента массива Х(m).
0. Для массива Х(m) напечатать сумму, произведение и номера положительных элементов после последнего нулевого элемента.
0. Даны k и массив Т(k). Найти сумму и количество элементов в массиве Т после первого нулевого элемента.
0. Даны m и массив А (m). Напечатать сумму отрицательных элементов массива
А после первого нулевого элемента.
0. Даны m, координаты ХА,УА пункта А и в массиве К из 2m чисел координаты
Х1, У1, Х2,У2,...,Хm,Ym пунктов В1, В2,...,Вm. Вывести номер и координаты пункта В наиболее удаленного от пункта А.
0. Найти общее количество нулевых элементов в массивах Х(m), У(k).
0. Образовать и вывести массив Т из неотрицательных элементов массива
Х(m). Напечатать число элементов в массиве Т.
0. Вывести четные по значению среди положительных элементов массива Х(m), начиная с первого положительного элемента.
0. Удвоить наибольший элемент массива Х(m) и напечатать измененный массив.
0. Вывести ненулевые элементы массива Х(m) и их произведение.
0. Найти сумму и количество нечетных по значению элементов массива Х(m).
0. Образовать массив Т из ненулевых элементов массива Х(m). Затем вывести массив Т и количество элементов в нем.
0. В массиве Т(m) заменить нулевые элементы наибольшим элементом.
0. В массиве Х(m) найти сумму и количество элементов между первым и последним нулевым элементами.
0. Поменять местами наибольший и наименьший элементы массива Т(m).
0. В массиве Х(m) найти общее число элементов до первого и после последнего нулевых элементов.
0. Сколько элементов в массиве Х(m) после второго нулевого элемента.
0. Из элементов массивов Х(m) и У(m) образовать массив

Н(Х1,У1,Х2,У2,..., Х(m), У(m) из 2m элементов.
0. Округлить элементы массива Х(m) до ближайшего целого.
0. Из элементов массивов Х(m), У(k) образовать массив

Н((Х1,Х2,Х3,..., Хm, У1,У2,У3,...,Уk) из m+k элементов.
0. Найти номер второго нулевого элемента массива Х(m).
0. Найти номер предпоследнего нулевого элемента массива Х(m).
0. Переставить элементы массива Х(m) в обратном порядке, т.е.
Хm,...,X2,Х1.
0. В массиве Х(m) найти число элементов между первым и вторым нулевыми элементами.
0. Сколько в массиве Т(m) элементов, меньших суммы всех элементов?
0. В массиве Т(m) нулевые элементы заменить суммой всех элементов.
0. Образуют ли арифметическую или геометрическую прогрессию элементы массива Х(m) ?
0. В массиве Т(m) заменить элементы с четными номерами суммой элементов с нечетными номерами.
0. Найти расстояние Р между массивами А(k) и В(k) по формуле:

Р2-(А1-В1)2 +(А2-В2)2+...+(Ак-Вк)2.
0. В массив Р записать сначала отрицательные элементы массива Х(k). затем положительные.
0. В массиве Х(k) найти сумму элементов и их количество до первой перемены знака.
0. Из элементов массива Х(k), попадающих в отрезок [A,B], составить массив
М и вывести его.
0. На плоскости ХОУ даны k точек массивами координат Х(k), Y(k). Образовать массив номеров точек вне I четверти.
0. Образовать массив Н номеров нулевых элементов массива Х(k).
0. В одномерном массиве с четным количеством элементов (2*N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: х1,у1,х2,у2,х3,у3 и т.д. Определить минимальный радиус окружности с центром в начале координат, которая содержит все точки, и номера наиболее удаленных друг от друга точек.
0. В двумерном массиве N x M содержатся М ординат N графиков функций в точках 1,2,3 ,..., М. Определить, пересекаются ли эти графики в одной точке, и если да, то найти ее номер. Считать, что графики могут пересечься только в указанных точках.
0. В одномерном массиве содержится график движения электропроезда от Перми до Кунгура в виде: первый элемент- время движения до первой остановки; второй элемент- время стоянки на первой остановке; третий элемент- время движения до второй остановки; четвертый элемент- время стоянки на второй остановке; и так далее .... последний элемент- время движения от предпоследней остановки до
Кунгура.
0. В одномерном массиве хранятся результаты социологического опроса.
Написать программу для подсчета количества результатов, отклоняющихся от среднего не более чем на 7%.
0. От острова Буяна до царства славного Салтана месяц пути. Капитан корабля записывает в вахтенный журнал количества миль, пройденных за день.
Написать программу, определяющую, в какую десятидневку пройден большой путь.
0. В массиве хранятся данные о температуре окружающего воздуха за месяц.
Определить самую холодную декаду месяц.
0. Рост студентов двух групп, в которых соответственно 23 и 25 человек, размещен в двух массивах. Требуется определить средний рост студентов каждой группы, а также количество студентов в двух группах вместе, имеющих рост выше 180 см.
0. 20 покупателей магазина оценивают качество товара оценками 3,4,5.
Определить сколько процентов составляют покупатели, поставившие 5,4 и 3 в отдельности от общего числа покупателей, участвовавших в экспертизе товара.
0. В соревновании принимали участие команды трех классов по 6 человек в каждой. Результаты каждой команды занесены в определенный массив в виде баллов, которыми судьи оценивали каждого участника. Определить команду- победителя.
0. Необходимо протестировать 15 абитуриентов для распределения их по группам для изучения иностранного языка: английский язык, французский язык, немецкий язык, начальное знакомство с иностранным языком. Составьте программу, подсчитывающую количество абитуриентов в каждой группе в зависимости от того, как ответил абитуриент на вопрос о изучении иностранного языка в школе.
0. В течении января месяца в доме не работала котельная, поэтому температура в квартирах была непостоянной. Определить количество дней в течении которых жильцам посчастливилось иметь температуру не ниже 15 градусов, а также вычислить среднюю температуру воздуха в квартирах за этот месяц. Для решения задачи использовать массив.
0. 18 учащихся сдавали норму по метанию гранаты. Составьте программу, определяющую какой процент учащихся выполнил норму. Если известно, что норма 38 метров.
0. В каждый солнечный день улитка, сидящая на дереве, поднимается вверх на
2 см, а в каждый пасмурный день опускается вниз на 1 см. В начале наблюдений улитка находилась в 30 см. от земли. Дан массив из 30 элементов, содержащий сведения о том был ли день солнечным или пасмурным.
Составьте программу определения места нахождения улитки к концу 30 дня.
0. В день вашего рождения тетя положила на ваше имя в сбербанк вклад в размере 1000 рублей. Каждый год к вкладу добавляется S% годовых.
Составьте программу для вычисления: а)через сколько лет вклад достигнет R рублей? б)какой размер вклада будет через 15 лет после вложения?

Операторы графики

Современные компьютеры обладают превосходными графическими возможностями - у современных мультимедийных ЭВМ возможен даже просмотр и редактирование видеофильмов. Графика ориентирована на построение простейших геометрических фигур и реализацию простейших возможностей динамической графики.

Для того чтобы работать с графической информацией необходимо установить графический режим работы специальным оператором и использовать соответствующие операторы:

0. SCREEN N- оператор включения графического режима, где N - номер режима работы (0 - текстовый режим работы, от 1 до 13 - графические режимы работы)

0. PSET (X,Y) - оператор рисования точки с координатами Х, У (0




2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.