История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
2017-10-11 | 829 |
5.00
из
|
Заказать работу |
|
|
На языке QuickBASIC.
Циклическим называется вычислительный процесс, в котором отдельные этапы решения задачи многократно повторяются за счет передачи управления на начало этой группы этапов. Управление количеством повторений этих этапов происходит за счет использования параметра цикла (управляющей переменной).
Циклические алгоритмы применяются при решении задач на табулирование функций (составление таблицы значений функции), на вычисление суммы и произведений, по обработке массивов.
Операторы цикла. Для организации циклов в QuickBASIC е применяются операторы FOR и NEXT. Общий вид операторов
FOR V = TO STEP
..........
NEXT V
где v - любая неиндексированная переменная - управляющая переменная цикла; , , - начальное и конечное значения и шаг изменения управляющей переменной цикла - любые арифметические выражения. Если =1, то конструкцию STEP можно опустить. Операторы, расположенные между операторами FOR и NEXT, образуют тело цикла и выполняются многократно.
Выполнение цикла, образованного операторами FOR и NEXT, заключается в следующем: - переменной V присваивается начальное значение и она сравнивается с конечным значением . Если при положительном шаге удовлетворяется условие ≤ , или при отрицательном шаге удовлетворяется условие ≥ , то выполняются операторы, расположенные между операторами FOR и NEXT, и по оператору NEXT осуществляется возврат к началу цикла. Значение V изменяется на , т.е. V=V+ , и снова проверяется условие. Если условие удовлетворяется, то тело цикла выполняется повторно. В противном случае происходит выход из цикла и переход к оператору, следующему за NEXT.
Пример.
FOR I = 4 TO 20 STEP 2
PRINT I, I^2
|
NEXT I
END
Оператор PRINT USING. Дает возможность задать точный образ вывода отдельных элементов списка.
Оператор PRINT USING имеет вид
PRINT USING "формат"; <список>
где формат задает образ распечатки.
При выводе числовых значений предусматривается символ # для каждой выводимой цифры, а также знака числа. Если предполагается вывод с порядком, то для порядка предусматриваются символы ^ ^ ^ ^. Все остальные символы, включая пробелы, обозначают сами себя и выводятся без изменений. Для вывода числа, содержащего дробную часть, в формате задается столько символов #, сколько всего цифра требуется вывести, и точка для отделения цифр целой части от дробной. То есть использование формата позволяет отсечь при печати ненужные цифры. Результат при этом округляется.
Пример.
PRINT USING "#.## ##.#"; 5.629, -1.1
RUN
5.63 -1.1
Если в формате задан только один образ, то он может использоваться многократно для каждого элемента в списке вывода. При этом вывод каждого следующего элемента будет осуществляться в новую строку.
Использование оператора PRINT USING при выводе массивов позволяет выводить массивы в удобной для восприятия форме.
Пример.
DIM F2(4,4)
P =.5
FOR I=1 TO 4
FOR J=1 TO 4
P=P+1: F2(I,J) = P
PRINT USING "##.##"; F2(I,J);
NEXT J: PRINT
NEXT I: PRINT
END
RUN
1.50 2.50 3.50 4.50
5.50 6.50 7.50 8.50
9.50 10.50 11.50 12.50
13.50 14.50 15.50 16.50
Оператор PRINT осуществляет только возврат каретки перед выводом новой строки.
Пример 4. Составить таблицу значений функции y при изменении значений переменной x на отрезке [-2,2] с шагом h=0,5:
Рис. 2.3. Блок - схема циклического вычислительного процесса
QuickBASIC - программа для примера 4 (см. блок – схему циклического вычислительного процесса на рис. 2.3.):
REM LR-3-1, m=13, n=5
INPUT "M,N"; M,N
FOR X=-2 TO 2 STEP 0.5
Y=(EXP(-X)+5*M)/(X+N)
PRINT "X="; X, "Y="; Y
NEXT X
END
Пример 5. Составить таблицу значений функции z=f(x;y) при изменении значений переменной x на отрезке [a,b] с шагом h, переменной y на отрезке [c,d] с шагом l: , где a =1, b =2, h =0,2; c =2, d =4, l =0,2.
|
QuickBASIC - программа для примера 5 (см. блок – схему циклического вычислительного процесса на рис. 2.4.):
Рис. 2.4. Блок - схема циклического вычислительного процесса
REM LR-3-2, m=13, n=5
INPUT "M,N"; M,N
PRINT " X/Y ";
FOR Y=2 TO 4 STEP 0.2
PRINT USING "##.##"; Y;
NEXT Y: PRINT
FOR X=1 TO 2 STEP 0.2
PRINT USING "##.##"; X;
FOR Y=2 TO 4 STEP 0.2
Z=(X^2-Y^2+M)/(X^2+Y^2)/N
PRINT USING "##.##"; Z;
NEXT Y: PRINT
NEXT X: PRINT
END
Пример 6. Определить произведение .
QuickBASIC - программа для примера 6 (см. блок – схему циклического вычислительного процесса на рис. 2.5.):
REM LR-3-3, m=13, n=5
INPUT "M,N"; M,N
P=1
FOR K=1 TO 15
P=P*N^2/SQR(M*k^2+1)
NEXT K
PRINT "P="; P
END
Обработка массивов данных
Массивом называется упорядоченная последовательность величин, обозначаемая одним именем. Упорядоченность заключается в том, что элементы массива располагаются в последовательных ячейках памяти.
1 |
| |||
Рис. 2.5. Блок - схема циклического вычислительного процесса
Чтобы получить доступ к нужной ячейки, нужно указать имя массива и его индекс. Индекс записывается в круглых скобках после имени массива.
Если нужно присвоить, например, значение 5 третьему элементу массива A, нужно написать
A(3) = 5
При выполнении этого оператора будет найден массив A, отсчитана третья ячейка памяти и в нее присвоено значение 5.
Индекс может быть переменной. Если нужно всем пяти элементам массива A присвоить значение 5, можно написать
FOR I = 1 TO 5
A(I) = 5
NEXT I
Имя массива образуется так же как имя переменной. В QuickBASICе массивы могут быть одномерные и двумерные и т.д. В двумерном массиве каждый элемент идентифицируется номером строки и номером столбца, на пересечении которых он расположен. При записи элемента массива индекс (индексы) записывается в круглых скобках после имени массива. Если индексов несколько, то они разделяются запятой. Массивы определяются в операторе описания массивов DIM. В операторе DIM указываются имя массива и в круглых скобках верхние границы изменения индексов, которые должны быть целыми положительными числами.
Например, оператор
DIM A(3), B(4,5)
описывает два числовых массива: A состоящий из трех элементов и B содержащий 4 строки и 5 столбцов.
|
В соответствии с оператором DIM в памяти ЭВМ выделяется место для размещения этих массивов. Так, для массива A будут выделены три ячейки памяти, для массива B - двадцать ячеек. Под двумерный массив выделяется линейный участок памяти, в котором массив располагается по строкам.
В QuickBASICе обработка массивов, а также ввод – вывод массивов осуществляется поэлементно.
Например, ввод одномерного массива A, содержащего 10 элементов, можно осуществить при помощи операторов
DIM A(10)
FOR I = 1 TO 10
INPUT A(I)
NEXT I
Ввод двумерного массива B (4,5) можно осуществить при помощи операторов
DIM B(4,5)
FOR I = 1 TO 4
FOR J = 1 TO 5
INPUT B(I,J)
NEXT J
NEXT I
Ввод двумерного массива в приведенной программе осуществляется по строкам.
Вывод двумерных массивов для повышения наглядности рекомендуется осуществлять по строкам, начиная вывод каждой новой строки массива в новую строку экрана. Например, вывод массива B (4,5) можно осуществить при помощи операторов
DIM B(4,5)
........
FOR I = 1 TO 4
FOR J = 1 TO 5
PRINT B(I,J);
NEXT J: PRINT
NEXT I: PRINT
........
Пример 7. Даны два массива x i и y i (i=1,10). Составить программу для вычисления
QuickBASIC - программа для примера 7 (блок – схему программы на обработку массивов см. на рис. 2.6):
REM LR-4-1, m=13, n=5
DIM X(10), Y(10)
INPUT "M,N"; M,N
DATA 8.12, -3.54, 7.73, -0.37, -76.8, 99, 54.87, 1.61, 58.3, 9.74
DATA 7.46, 63.74, -5.83, 7.66, -33.8, 3.99, 154.7, 31.22, -9.33, 21.12
FOR I=1 TO 10
READ X(I)
NEXT I
FOR I=1 TO 10
READ Y(I)
NEXT I
S=0
FOR I=1 TO 10
S=S+X(I)^2-N*Y(I)
NEXT I
T=M*S
PRINT " T= "; T
END
Рис. 2.6. Блок - схема программы на обработку массивов
Пример 8. Найти сумму элементов каждой строки массива C (4,5).
QuickBASIC - программа для примера 8 (см. блок – схему циклического вычислительного процесса с применением двумерного массива на рис. 2.7.):
REM LR-4-2, m=13, n=5
DIM C(4,5), S(4)
DATA 2, 4, 6, 8, 10
DATA -1, -3.4, -6, 7, 9
DATA -2, -4, 6, -8, -10
DATA 1, 3, 5.1, 12, 15
FOR I = 1 TO 4
FOR J = 1 TO 5
READ C(I,J)
NEXT J, I
FOR I = 1 TO 4
S(I)=0
FOR J = 1 TO 5
S(I) = S(I)+C(I,J)
NEXT J
PRINT S(I);
NEXT I: PRINT
END
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!