Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и мат.мод.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
8.86 Mб
Скачать

Input “X m h “ ; X , m% , h

OPEN “result” FOR OUTPUT AS #1

s = 0

FOR n% = 1 TO m% STEP h

t = x + n%

y = ( x + t) / ( t* SQR( n%+1))

s = s + y

NEXT n%

PRINT s

WRITE #1, “s = “, s

CLOSE #1

END

На файле с последовательным доступом можно организовать простую базу данных:

OPEN “товар” FOR OUTPUT AS #3

INPUT “ имя товара :”,it$

WHILE it$ <> “zzz”

INPUT “код и цена”, cod$, price$

WRITE #3, it$, cod$, price$

INPUT “имя товара :“, it$

WEND

CLOSE #3

END

Здесь использован неопределённый цикл WHILE . . . WEND, цикл по условию, который повторяет выполнение операторов тела цикла пока имя товара “it$” не равно “zzz”.

Эту же задачу можно реализовать с файлом прямого доступа:

TYPE buf описание пользовательского типа данных,

goods AS STRING *25 имеющего смысл записи в файл. Этому типу

code AS STRING *10 присвоено имя buf и в нём определены поля

price AS SINGLE записи

END TYPE

CLS очистка экрана

DIM recb AS buf описаниие переменной recb как записи buf

OPENgoods.dbFOR RANDOM AS #1 открытие файла прямого доступ

INPUTgoods :”,goods$ ввод наименования товара

WHILE goods$ <> “zzz” пока goods$  “zzz”

INPUT “code , price”, code$,price$ ввод кода товара и цены

I = I + 1 увеличение номера записи

recb.goods = goods$ присвоение полям записи

recb.code = code$ соответствующих значений

recb.price = price переменных

PUT #1 , I , recb передача записи в файл

INPUTgoods :”,goods$ ввод след. наимен. товара

WEND конец цикла

CLOSE #1 закрытие файла

END конец программы

5.4. В качестве задания составьте программу “Записная книжка” в файле прямого доступа с тремя полями: имя, адрес, телефон.

    1. Лабораторная работа № 6 (C:\USER\GROUP\NOF\lab6.bas)

Программирование итерационных вычислительных процессов

6.1. Цель работы. Получение практических навыков алгоритмизации и програ-ммирования простых циклических процессов , число повторений которых не задано.

6.2. Справочный материал. В основе простых итерационных вычислений некоторой величины Y лежит рекуррентная формула для которой каждое последующее приближение определяется через предыдущее, а начальное - задается

Yi+1 = f( Yi ) , i=0,1,...,N-1, (1.6.1)

где i-номер итерации; N - номер итерации, на которой обрывается процесс вычислений.

При этом начальное приближение Y0 ( нулевая итерация ) выбирается по

определенным правилам или задается заранее.

Численное значение N определяется из выполнения условия cходимости итераций

| Yi+1 - Yi | ≤Е , (1.6.2)

и считается, что величина Y = YN вычислена с заданной точностью Е [I, 1-2].

6.3. Пример. Подготовить и организовать на ПЭВМ итерационные вычисления по рекуррентной формуле

Yi+1 = 1 / 2 * (Xi / Yi + Yi ) , i=0,1,...,N-1 (1.6.3)

с заданной точностью E. Значение аргумента X, начальное приближение Y0 и точность вычислений Е, задается следующим образом:

X = 4.5 ; Y = 0.9 * X ; E = 10-3; ( 1.6.4a )

X = 2 ; Y = 1 ; E = 10-2 . ( 1.6.4б )

Для удобства программирования запишем Y в виде

Y0 = R * Xk, (1.6.5 )

тогда для случая (6.4а) значения множителя R и степени k соответственно равны

R = 0.9 ; k = 1 , а для случая ( 6.4б ) R = 1 ; k = 0 .

Алгоритм решения задачи основывается на циклических вычислениях по рекуррентной формуле (6.3) и проверки выполнения условия (6.2).При этом алгоритм решения задачи должен предусматривать запоминание значений Y на i+1 и i итерациях (Y и Z).Текст БЭЙСИК - программы алгоритма решения задачи для примера 6.3 приведен ниже