
- •Выполнил: преподаватель Агафонов а. В.
- •Оглавление
- •19. Задания 55
- •22. Задания 59
- •1. Введение
- •2. Переменные
- •Символьные переменные.
- •Числовые переменные
- •3. Операторы присвоения, печати, ввода и ремарки Оператор присвоения
- •Оператор печати
- •Оператор ввода
- •Оператор ремарки
- •4. Арифметические действия.
- •Логический оператор and
- •Верное Верное Верное
- •Логический оператор or
- •Логический оператор not
- •Другие логические операторы xor, eqv, imp
- •7. Оператор условного перехода
- •Оператор if.(условие)..Then.(оператор)..Else..(оператор).
- •Оператор select
- •8. Задания
- •9. Оператор цикла Принудительное прерывание программы
- •Цикл do……loop
- •Цикл for...Next
- •Оператор goto
- •10. Задания
- •Задачи на вычисление сумм.
- •11. Функции
- •Математические функции
- •Символьные функции.
- •Вспомогательные функции
- •Выработка случайных величин.
- •12. Задания
- •13. Операторы графики.
- •Изображение линий и прямоугольников
- •Изображение кругов и эллипсов
- •Раскрашивание
- •Оператор draw
- •14. Задания
- •15. Функция пользователя
- •16. Процедуры
- •Оператор gosub..Return
- •Оператор sub...End sub
- •17. Задания
- •18. Массивы
- •Многомерные массивы
- •Операторы data, read, restore
- •19. Задания
- •20. Работа с файлами.
- •Запись в файл
- •Функция eof принимает значение 1, если конец файла и 0 – в противном случае. Аргументом функции является порядковый номер файла.
- •22. Задания
- •23. Создание функции пользователя в Excel с помощью Visual Basic
Вспомогательные функции
DATE$
Функция даты. Аргументов нет. Выдаёт сегодняшнее число в виде символьной строки.
Пример:
PRINT DATE$ |
.
TIME$
Функция времени. Аргументов нет. Выдаёт значение времени в виде символьной строки.
Пример:
PRINT TIME$ |
Замечание: С помощью этой функции можно менять время на компьютере.
TIMER
Функция указывает количество секунд, которые прошли с 12 часов ночи. Используется при генерации случайных чисел.
Пример: (эту программу надо самим прерывать с помощью CTRL+BREAK DO LOCATE 1, 1 'курсор на позицию 1,1 PRINT TIMER LOOP |
INKEY$
Функция читает нажатые клавиши. Нет аргументов. Если клавиша не нажимается. Значением является пустая символьная строка.
Пример: (типичный случай "press any key to continue..." )
PRINT "Нажми клавишу для продолжения....."
'цикл продолжается. Пока значением 'inekey$ не будет пустая строка DO LOOP UNTIL INKEY$ <> "" |
Выработка случайных величин.
Для выработки случайных чисел используется специальный алгоритм, который вырабатывает случайные числа, начиная с заданного числа. Чтобы числа были разные, надо изменять заданное число.
Рассмотрим программу, которая вырабатывает случайные числа. Начиная с 1.
RANDOMIZE 1 '1 – есть задаваемое начальное число. A=RND 'переменной А присваивается случайное значение из промежутка 0,1. PRINT A 'печатаем на экран значение А |
Оператор RANDOMIZE включает генератор случайных чисел. Начальным заданным числом является 1. Если запускать программу несколько раз, каждый раз будет получатся одно и то же случайное число. Если вместо 1 поставить другое число, случайное значение изменится. Такой метод не годится для выработки последовательности случайных чисел. Однако можно для последующего случайного числа в качестве задаваемого брать предыдущее случайное число.
Пример:
RANDOMIZE 1 A = RND PRINT A RANDOMIZE A 'меняем задаваемое исходное число B = RND PRINT B |
При использовании цикла можем генерировать много чисел.
Пример:
FOR i = 1 TO 10 RANDOMIZE A A = RND PRINT A NEXT i |
Эта программа даёт 10 случайных чисел, но при её последующем запуске получим те же числа, что не всегда удобно.
Следующая программа представляет собой лототрон, т.е. колесо, смешивающее числа, останавливается при нажатии любой клавиши и выдаёт число.
DO RANDOMIZE A A = RND LOOP UNTIL INKEY$ <> "" PRINT "Выпало случайное число:"; A
В этом случае числа будут разные, т.к. клавиша будет нажиматся в разное время. |
В данной версии Бейсика удобно в качестве начального задаваемого числа использовать число, которое даёт функция TIMER.
Пример:
RANDOMIZE TIMER A = RND PRINT A |
В этом случак случайные числа зависят от момента запуска прграммы.
Функция RANDOM вырабатывает числа из промежутка 0,1. Если нужно большее число, надо использовать математические выражения:
Надо получить: |
Пишем: |
A является случайным числом между 0 и 10 |
A=RND*10 |
A является случайным числом между 0 и 9 |
A=INT(RND*10) |
A является случайным числом между 1 и 10 |
A=INT(RND*10+1) |
Ниже приведена программа, которая вырабатывает целые случайные числа из промежутка от А до В.
RANDOMIZE TIMER PRINT "Эта программа находит целые случайные числа из промежутка от А до В"
INPUT "Введи A";A INPUT "Введи B";B
J=INT(RND*(B-A+1)+A)
PRINT J
|