
- •Выполнил: преподаватель Агафонов а. В.
- •Оглавление
- •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
Многомерные массивы
Объявим двумерный массив, в котором 3ряда и 3 столбца:
DIM A(3,3). Для заполнения, например элемента, стоящего во 2-ом ряду и 3- ем столбце пишем:
A(2,3)=2
Для его печати пишем:
PRINT A(2,3)
Аналогично можно определить 3-х мерный массив:
DIM B(2,5,3) и больше, но их трудно себе представить.
Пример:
Создадим программу, которая считает, сколько раз выпадает орёл при бросании монеты M раз. Бросание повторяем N раз (серий). Результаты бросаний заносим в массив.
INPUT "Сколько раз бросаем?"; M INPUT "Сколько серий делаем?"; N DIM SEERIA(N) 'Объявляем массив RANDOMIZE TIMER 'Включаем генератор случайных чисел FOR J = 1 TO N 'Цикл серии 'обнуляем счётчик k = 0 FOR i = 1 TO M 'начинаем цикл бросаний 'значение при бросании может быть 1-орёл и 2 –решка v = INT(RND * 2 + 1) IF v = 1 THEN k = k+ 1 NEXT i 'заносим ответы в массив SEERIA(J) = k NEXT J 'выводим ответы на экран FOR J = 1 TO N PRINT ".В ".J; ". cериях было"; SEERIA(J); "орлов." NEXT J |
Пример:
Составим программу, которая позволяет учить иностранные слова. Задаётся количества пар слов N и создаёт массив SONAD$(N,2). Затем пользователь заполняет массив. Затем начинает спрашивать произвольные слова. Пользователь должен дать ответ. Программа проверяет, верно слово или нет. При неправильном ответе показывает верный вариант. После каждого слова экран очищается.
CLS 'чистим экран INPUT "Сколько пар слов"; N DIM SONAD$(N, 2) 'заполняем массив FOR I = 1 TO N INPUT "Вводим иностранное слово"; SONAD$(I, 1) INPUT "Вводим перевод"; SONAD$(I, 2) NEXT I 'начинаем спрашивать CLS RANDOMIZE TIMER DO V = INT(RND * N + 1) 'случайное число от 1-го до N PRINT SONAD$(V, 2); "-"; INPUT Sona$ 'Для выхода из программы вводим слово «хватит». IF Sona$ = "хватит" THEN END 'проверяем правильность IF Sona$ = SONAD$(V, 1) THEN PRINT "Верно!" ELSE PRINT "Неверно!" PRINT "Верное есть:"; SONAD$(V, 1) END I 'спим 3 сек SLEEP 3 CLS LOOP |
Создадим программу, генерирующую 20 случайных чисел из промежутка от 1 до 100 и сортирует их по возрастанию.
N = 20 DIM A(N) RANDOMIZE TIMER PRINT "Сортируемые случайные числа:" FOR NUM = 1 TO N LET A(NUM) = INT(100 * RND) + 1 PRINT A(NUM); NEXT NUM DO OK = 1 FOR I = 1 TO N - 1 IF A(I) > A(I + 1) THEN 'SWAP меняет значения переменных SWAP A(I), A(I + 1) OK = 0 'признак, что обмен произошёл END IF NEXT I LOOP UNTIL OK = 1 PRINT "Отсортированные числа:" FOR NUM = 1 TO N PRINT A(NUM); NEXT NUM |
Контролируем до тех пор, пока не произошло ни одного обмена.