
- •Выполнил: преподаватель Агафонов а. В.
- •Оглавление
- •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
17. Задания
1. Сделать функцию пользователя JUUR(a,b), которая вычисляет корень степени В из А. Использовать функции FUNCTION и END FUNCTION.
Основная программа может иметь вид:
INPUT "Введи число А"; A INPUT "Введи степень В"; B PRINT "Ответ:" ; JUUR(A,B) |
2. Создать функцию пользователя LOGARITM(A,B), которая вычисляла бы logab.
Создать функцию пользователя ALGARV(x), которая выясняет, что число простое. Значение функции равно –1 (верное), если х является простым числом и 0- (неверное), если х – составное число. Подсказка: Проверить, сколько раз х делится на числа из промежутка от 1 до х. Если два раза, то число простое, иначе –нет. Деление можно проверить с помощью условия A/B=INT(A/B).
Основная программа может иметь вид:
INPUT "Введи число:"; X IF ALGARV(X) THEN PRINT "Это простое число!" ELSE PRINT "Это не простое число!" END IF |
Создать программу, которая печатала бы все простые числа от 1 до N. Использовать функцию пользователя ALGARV(x). Значение N задаёт пользователь.
Создать функцию пользователя RISTSUMMA(x) для вычисления суммы цифр числа.
Используя операторы SUB и END SUB, создать процедуру TELJESTIK, которая рисовала бы систему координат (единица деления равна 20 писклям). Создать другую процедуру SIRGE(a,b), которая рисовала бы внутри неё прямую y=ax+b. Основная программа могла бы иметь вид:
INPUT "Введи значение а"; a INPUT "Введи значение в"; b CALL TELJESTIK CALL SIRGE(a, b) |
Создать процедуру PARABOOL(a,b,c). Основная программа может иметь вид:
INPUT "Введи значение а"; a INPUT "Введи значение в"; b INPUT "Введи значение с"; c CALL TELJESTIK CALL PARABOOL(a, b, с) |
Создать программу нахождения наибольшего общего делителя, отличную от функции пользователя SYT, которая работала бы быстрее, например используя остаток от деления A MOD B. Для измерения скорости работы можно использовать следующую программу:
START=TIMER PRINT SYT(2,100000) PRINT "Потребовалось времени: ";TIMER-START;"секунды." |
18. Массивы
Массивы используются для хранения большого количества однотипных данных. Массивы могут быть числовыми и символьными.
Пример:
Создадим программу , которая вводит имена 5 детей и их возраст и затем печатает их. Сделаем программу без использования массива, а затем с использованием массива.
'Вводим имена INPUT "Ввести 1. имя"; A$ INPUT " Ввести 2. имя "; B$ INPUT " Ввести 3. имя "; C$ INPUT " Ввести 4. имя "; D$ INPUT " Ввести 5. имя "; E$
'Введём возраст INPUT "Введи возраст 1. ребёнка"; K INPUT " Введи возраст 2. ребёнка"; L INPUT " Введи возраст 3. ребёнка "; M INPUT " Введи возраст 4. ребёнка "; N INPUT " Введи возраст 5. ребёнка "; O
'Печать данных PRINT A$; K; " лет." PRINT B$; L; " лет." PRINT C$; M; " лет." PRINT D$; N; " лет." PRINT E$; O; " лет." |
Для 5 детей программа ещё не очень длинная. А если детей много?
В этом случае используется массив.
Пример:
'Задаём массивы
DIM Nimed$(5) 'символьный массив для имён DIM Vanused(5) 'числовой массив для возраста
'Вводим имена
FOR I = 1 TO 5 PRINT "Введи имя "; I; ". -го ребёнка"; INPUT Nimed$(I) NEXT I
'Вводим возраст
FOR I = 1 TO 5 PRINT "Введи возраст "; I; ". –го ребёнка"; INPUT Vanused(I) NEXT I
'Печатаем имена и возраст
FOR I = 1 TO 5 PRINT Nimed$(I);Vanused(I); " лет." NEXT I |
При создании массива надо его сначала объявить с помощью оператора DIM.
DIM Nimed$(5) – объявляет символьный массив имён из 5 элементов.
DIM Vanused(5) - объявляет числовой массив возрастов из 5 элементов.
Чтобы прочесть из массива конкретный элемент, надо его указать, например
Nimed$(3) –3-е имя из массива имён.