- •Лабораторная работа №2 Методы численного интегрирования.
- •Лабораторная работа №4
- •4. Метод касательных.
- •Лабораторная работа №4 Численные методы поиска безусловного экстремума.
- •Лабораторная работа №5 Работа с файлами последовательного доступа.
- •Оператор открытия файла
- •Закрытие файла.
- •Оператор управления “конец файла”.
Оператор управления “конец файла”.
Если при считывании из файла количество данных в нем заранее неизвестно, то для окончания считывания можно использовать функцию проверки окончания файла.
EOF (N)
При составлении программы работа с файлами необходимо помнит, что если при запуске программы файл будет все время открываться как OUTPUT, то есть он будет создаваться заново и вся информация хранящаяся в нем будет потеряна и следовательно программа получится “одноразовой”.
Порядок выполнения работы
Получить у преподавателя вариант задания, содержащий словесную постановку задачи и критерий отбора.
Написать программу создания, просмотра и выбора по критерию из файла последовательного доступа
Отладить программу и получить результаты
Содержание отчета
4.1. Содержательная постановка задачи
4.2. Исходные данные
4.3. Блок схема программы.
4.4. Листинг программы.
4.5. Распечатка полученных результатов (до и после отбора).
Литература
Лекции по курсу «Информатика»
Г.Зельднер «Quick-basic для носорогов».Из-во «Март», Москва, 1996
Пример решения поставленной задачи Basic
DIM n AS INTEGER, fio AS STRING, vozr AS INTEGER, rost AS SINGLE
DIM fio(100) AS STRING, vozr(100) AS INTEGER, rost(100) AS SINGLE
CLS
PRINT "sozdanie faila"
OPEN "f.txt" FOR OUTPUT AS #1 ‘открытие файла для записи
INPUT "vvedite kol-vo zapisei"; n 'требуемое кол-во записей файла
FOR i = 1 TO n
INPUT "FIO"; fio
DO
INPUT "vozrast"; vozr
LOOP UNTIL vozr >= 18 AND vozr <= 40
DO
INPUT "rost"; rost
LOOP UNTIL rost >= 1.2 AND rost <= 2
WRITE #1, fio, vozr, rost 'запись введенных с клавиатуры данных в файл
NEXT i
CLOSE #1 ' закрытие файла
CLS
PRINT "vivod sodergimogo faila"
OPEN "f.txt" FOR INPUT AS #1 'открытие файла для чтения
l$ = "-----------------------------------"
z$ = "| fio | vozrast | rost |"
f$ = "|\ \| ## | #.## |"
PRINT l$: PRINT z$: PRINT l$
k = 1
DO
INPUT #1, fio, vozr, rost 'чтение из файла в оперативную память
fio(k) = fio
vozr(k) = vozr
rost(k) = rost
PRINT USING f$; fio; vozr; rost
k = k + 1
LOOP UNTIL EOF(1) 'чтение из файла завершается при обнаружении признака конца файла
PRINT l$
CLOSE #1 'закрытие файла
PRINT "vivod lyudei, vozrast bolee 25 let"
flag = 0
FOR i = 1 TO k - 1
IF vozr(i) > 25 THEN
PRINT fio(i)
flag = 1
END IF
NEXT i
IF flag = 0 THEN PRINT "takih luydei net"
END