
- •Выполнил: преподаватель Агафонов а. В.
- •Оглавление
- •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
Запись в файл
Запись в файл происходит с помощью оператора PRINT, но надо указать порядковый номар файла.
Пример: Программа, которая запрашивает слово и записывает его в файл.
OPEN "proov.txt" FOR OUTPUT AS #1 INPUT "Введи слово"; Tekst$ PRINT #1, Tekst$ 'записываем слово в файл CLOSE #1 'закрываем файл |
Вместо оператора PRINT можно использовать оператор WRITE. Оператор WRITE добавляет запятые между числами и кавычки для символов в файл.
Пример: Программа, которая записывает в файл andmed.txt данные 5 человек.
OPEN "andmed.txt" FOR OUTPUT AS #1 FOR I = 1 TO 5 INPUT "Введи имя:"; Nimi$ INPUT "Введи возраст:"; Vanus INPUT "Введи пол:"; Sugu$ WRITE #1, Nimi$, Vanus, Sugu$ NEXT I CLOSE #1 |
Если открыть файл в режиме OUTPUT и записать туда данные, файл перепишется заново. Для добавления данных надо использовать режим APPEND.
Чтение из файла
Читать из файла можно с помощью оператора INPUT. Надо указать также порядковый номер файла.
Пример: Программа считывает из файла proov.txt текст до запятой.
OPEN "proov.txt" FOR INPUT AS #1 INPUT #1, Tekst$ PRINT "В файле был текст: "; Tekst$ CLOSE #1 |
Для чтения следующего значения надо снова использовать оператор INPUT . Значения в файле отделены запятыми.
Пример: Для чтения из файла, невзирая на запятые, используется оператор LINE INPUT .
OPEN "andmed.txt" FOR INPUT AS #1 'читаем данные 5 человек PRINT "Содержимое файла:" FOR I = 1 TO 5 LINE INPUT #1, RIDA$ PRINT RIDA$ NEXT I CLOSE #1 |
Добавление текста в файл
В этом случае файл открывают в режиме APPEND.
Пример: Программа добавляет в файл proov.txt ещё один ряд.
OPEN "proov.txt" FOR APPEND AS #1 PRINT #1, "Ещё один ряд!" CLOSE #1 |
Уничтожение файла
Уничтожение файла происходит с помощью оператора KILL.
Например, хотим уничтожить файл proov.txt.
Это делается командой:
KILL "proov.txt" |
21. Некоторые примеры
Пример1. Программа, которая записывает числа, делящиеся на 2 в файл 2.txt, делящиеся на 3 –в 3.txt, остальные в файл teised.txt.
OPEN "2.txt" FOR OUTPUT AS #1 OPEN "3.txt" FOR OUTPUT AS #2 OPEN "teised.txt" FOR OUTPUT AS #3
INPUT "Сколько чисел смотрим"; PIIR FOR I = 1 TO PIIR 'если I делится на 2 , то записываем в файл#1 IF I / 2 = INT(I / 2) THEN PRINT #1, I; IF I / 3 = INT(I / 3) THEN PRINT #2, I; 'иначе - в файл #3 IF I / 3 <> INT(I / 3) AND I / 2 <> INT(I / 2) THEN PRINT #3, I NEXT I CLOSE |
Прмер 2. Программа, которая записывает имена и возраст людей из массива в файл andmed.txt
INPUT "Сколько данных вводим"; N 'объявляем массивы DIM Nimed$(N) 'массив имён DIM Vanused(N) 'массив возраста 'заносим имена в массив FOR I = 1 TO N PRINT "Введи"; I; ". имя"; INPUT Nimed$(I) PRINT "Введи"; I; ". возраст"; INPUT Vanused(I) NEXT I 'Заносим данные в файл andmed.txt OPEN "andmed.txt" FOR OUTPUT AS #1 FOR I = 1 TO N WRITE #1, Nimed$(I), Vanused(I) NEXT I CLOSE #1 |
Пример3. Программа, которая читает из файла andmed.txt имена и возраст и выдаёт их на экран.
CLS OPEN "andmed.txt" FOR INPUT AS #1 'повторяем цикл до тех пор, пока не иссякнут данные (функция EOF). DO INPUT #1, NIMI$, VANUS PRINT "Имя:"; NIMI$ PRINT "Возраст:"; VANUS LOOP UNTIL EOF(1) CLOSE #1 |