Программирование на алгометрическом языке QBASIC
Составление схемы алгоритма на языке Бейсик для печати таблицы значений функции при заданном значении. Структурная схема алгоритма типа цикл в цикле для расчета таблиц. Программа итерационного процесса нахождения корня трансцендентного уравнения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.08.2013 |
Размер файла | 94,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Московский Государственный Открытый Университет
Факультет КиИТ
Курсовая работа по ВТ и Программированию
Выполнил: Ладнюк Данила Николаевич
Специальность: 210601
Шифр: 611209
Москва 2012г
Задача №1
алгоритм функция цикл уравнение
Составить схему алгоритма и программу на языке Бейсик для расчета и печати таблицы значений функции у при заданном значении а.
при х, принимающем значения 0.1; 0.2; 0.4; 0.8; … 51.2, а=3.2
1) Словесный алгоритм решения задачи
Шаг 1. Присвоить а = 3.2, х=х0=0.1.
Шаг 2. Вычислить значение функции . Напечатать х,у.
Увеличить х в два раза.
Шаг 3. Если х<х1=51.2, вернуться к шагу 2, иначе закончить работу.
2) Структурная схема алгоритма решения задачи
3) Программа решения задачи
Программа решения задачи на языка GWBASIC (файл Task1.bas)
0020 DEF FNF(X,A) = A^3*(LOG(A*X))^2/(1+A*X^4)
0100 A = 3.2
0110 PRINT "*******************"
0120 PRINT USING "Task 1 (a=#.#)";A
0130 PRINT "-------------------"
0140 PRINT " X Y "
0150 PRINT "-------------------"
0160 X = 0.1
0170 WHILE X<52
0180 V = FNF(X,A)
0190 PRINT USING " ##.# ###.######";X, V
0200 X = X*2
0210 WEND
0220 PRINT "-------------------"
0230 END
4) Результат решения задачи на компьютере
5) Объяснение полученного результата
В результате выполнения программы вычислены значения заданной функции для заданных значений аргумента. Вычисленные значения выведены на экран компьютера в табличном виде.
6) Описание операторов , встречающихся в программе
Cтроки программы |
Оператор (пример) |
Описание |
|
20 |
DEF FN |
Оператор определения функции |
|
100, 160, 180, 200 |
A = 3.2 |
Арифметический оператор: присваивает переменным значения, получаемые в результате вычислений |
|
110, 120, 130, 140, 150, 190, 220 |
|
Оператор вывода на экран |
|
170 |
WHILE X<52 |
Оператор цикла типа WHILE |
|
210 |
WEND |
Оператор конца цикла типа WHILE |
|
230 |
END |
Оператор конца программы |
Задача №2
Для данных задачи №1 составить структурную схему алгоритма типа цикл в цикле (вложенные циклы) для расчета и печати 10 таблиц для указанной функции при указанных значениях х и при а=1.1; 1.2; 1.3; … 2.0.
1) Словесный алгоритм решения задачи
Шаг 1. Присвоить а = 1.1.
Шаг 2. Присвоить х=х0=0.1.
Шаг 3. Вычислить значение функции . Напечатать х,у.
Увеличить х в два раза.
Шаг 4. Если х?х1=51.2, вернуться к шагу 3.
Шаг 5. Увеличить а на Да=0.01.
Шаг 6. Если а?2.0, вернуться к шагу 2, иначе закончить работу.
2) Структурная схема алгоритма решения задачи
3) Программа решения задачи
Программа решения задачи на языка GWBASIC (файл Task2.bas):
0020 DEF FNF(X,A) = A^3*(LOG(A*X))^2/(1+A*X^4)
0090 OPEN "Task2Res.txt" FOR OUTPUT AS #1
0100 PRINT#1,"Task 2"
0110 A = 1.1
0120 WHILE A<2.05
0200 PRINT#1,"*******************"
0210 PRINT#1,USING "a=#.#";A
0220 PRINT#1,"-------------------"
0230 PRINT#1," X Y "
0240 PRINT#1,"-------------------"
0250 X = 0.1
0260 WHILE X<52
0270 V = FNF(X,A)
0280 PRINT#1,USING " ##.# ###.######";X, V
0290 X = X*2
0300 WEND
0310 PRINT#1,"-------------------"
0320 A = A+0.1
0330 WEND
0340 CLOSE #1
0400 END
4) Результат решения задачи на компьютере
Выходные данные помещаются программой в файл TASK2RES.TXT.
Содержимое файла после выполнения программы:
Task 2
*******************
a=1.1
-------------------
X Y
-------------------
0.1 6.484003
0.2 3.046067
0.4 0.872535
0.8 0.014994
1.6 0.051817
3.2 0.018118
6.4 0.002745
12.8 0.000315
25.6 0.000031
51.2 0.000003
-------------------
*******************
a=1.2
-------------------
X Y
-------------------
0.1 7.767323
0.2 3.512607
0.4 0.903148
0.8 0.001931
1.6 0.082952
3.2 0.024665
6.4 0.003565
12.8 0.000400
25.6 0.000039
51.2 0.000004
-------------------
*******************
a=1.3
-------------------
X Y
-------------------
0.1 9.143828
0.2 3.978419
0.4 0.909222
0.8 0.002205
1.6 0.123784
3.2 0.032513
6.4 0.004520
12.8 0.000498
25.6 0.000048
51.2 0.000004
-------------------
*******************
a=1.4
-------------------
X Y
-------------------
0.1 10.605720
0.2 4.436555
0.4 0.890586
0.8 0.022398
1.6 0.175400
3.2 0.041751
6.4 0.005615
12.8 0.000608
25.6 0.000058
51.2 0.000005
-------------------
*******************
a=1.5
-------------------
X Y
-------------------
0.1 12.145020
0.2 4.880521
0.4 0.848115
0.8 0.069493
1.6 0.238842
3.2 0.052464
6.4 0.006858
12.8 0.000732
25.6 0.000070
51.2 0.000006
-------------------
*******************
a=1.6
-------------------
X Y
-------------------
0.1 13.753620
0.2 5.304302
0.4 0.783709
0.8 0.150789
1.6 0.315110
3.2 0.064731
6.4 0.008254
12.8 0.000869
25.6 0.000082
51.2 0.000007
-------------------
*******************
a=1.7
-------------------
X Y
-------------------
0.1 15.423370
0.2 5.702389
0.4 0.700262
0.8 0.273833
1.6 0.405170
3.2 0.078629
6.4 0.009811
12.8 0.001021
25.6 0.000096
51.2 0.000008
-------------------
*******************
a=1.8
-------------------
X Y
-------------------
0.1 17.146110
0.2 6.069794
0.4 0.601636
0.8 0.446359
1.6 0.509949
3.2 0.094231
6.4 0.011532
12.8 0.001188
25.6 0.000111
51.2 0.000010
-------------------
*******************
a=1.9
-------------------
X Y
-------------------
0.1 18.913730
0.2 6.402064
0.4 0.492628
0.8 0.676236
1.6 0.630344
3.2 0.111607
6.4 0.013424
12.8 0.001370
25.6 0.000127
51.2 0.000011
-------------------
*******************
a=2.0
-------------------
X Y
-------------------
0.1 20.718180
0.2 6.695287
0.4 0.378942
0.8 0.971432
1.6 0.767223
3.2 0.130825
6.4 0.015492
12.8 0.001567
25.6 0.000144
51.2 0.000012
-------------------
5) Объяснение полученного результата
В результате выполнения программы вычислены значения заданной функции для заданных значений параметра а и заданных значений аргумента. Вычисленные значения выведены в текстовый файл (поскольку имеют значительный объем).
6) Описание операторов , встречающихся в программе
Cтроки программы |
Оператор (пример) |
Описание |
|
20 |
DEF FN |
Оператор определения функции |
|
90 |
OPEN |
Оператор открытия выходного файла для записи результатов работы |
|
100, 200, 210, 221, 230, 240, 220, 280, 310 |
|
Оператор вывода на экран |
|
110, 250, 270, 200, 290, 320 |
A = 1.1 |
Арифметический оператор: присваивает переменным значения, получаемые в результате вычислений |
|
120, 260 |
WHILE X<52 |
Оператор цикла типа WHILE |
|
300, 330 |
WEND |
Оператор конца цикла типа WHILE |
|
340 |
CLOSE |
Оператор закрытия файла |
|
400 |
END |
Оператор конца программы |
Задача №3
Составить структурную схему алгоритма и программу итерационного процесса нахождения одного корня трансцендентного уравнения с заданными начальными условиями.
для а0=1.1, Д=0.01
1) Словесный алгоритм решения задачи
Отыскание корня трансцендентного уравнения f(x)=0 выполняется в два этапа. Сначала выполняется локализация корня: находится такой отрезок, на котором функция f(x) непрерывна и на концах которого она принимает значения разного знака. Затем выполняется собственно определение корня с заданной точностью половинного деления. Поскольку в функцию f(x) входит как слагаемое функция tg(x), имеющая разрывы 2-го рода в точках x= (k=0, ±1, ±2,…) , то на каждом интервале уравнение f(x)=0 имеет не менее одного корня. Его локализация может быть выполнена смещением от точки х0 в отрицательном (если f(x0)>0 ) или положительном (если f(x0)<0 ) направлении. Дальнейшее отыскание корня методом половинного деления - итерационный процесс уточнения границ отрезка, на котором содержится корень. При этом на каждом шаге длина отрезка уменьшается вдвое до тех пор, пока не станем меньшей, чем заданная точность е.
2) Структурная схема алгоритма решения задачи
3) Программа решения задачи
Программа решения задачи на языка GWBASIC (файл Task3.bas):
0010 DEF FNF(X) = tan(X)-sin(X)+exp(-X)
0020 PRINT "Task 3"
0030 PRINT "Equation tg(x)-sin(x)+exp(-x)=0"
0040 PRINT "--------------------------------"0110 X2 = 1.1
0120 F2 = FNF(X2):
0130 IF F2>0 THEN d = -0.01 ELSE d = 0.01
0140 X1 = X2+d
0150 F1 = FNF(X1)
0200 WHILE F2*F1 > 0
0210 F2 = F1
0220 X2 = X1: X1 = X2+d
0230 F1 = FNF(X1)
0240 WEND
0300 eps = 0.00001
0310 WHILE (X2-X1)>eps
0320 C = (X1+X2)/2
0330 FC = FNF(C)
0340 IF F1*FC>0 THEN X1=C: F1=FC ELSE X2=C: F2=FC
0350 WEND
0360 R = (X1+X2)/2
0400 PRINT USING "Root=##.#####";R
0500 END
4) Результат решения задачи на компьютере
5) Объяснение полученного результата
В результате выполнения программы найден корень а=-1.37010 уравнения с точностью е=0.0001. Найденный корень выведен на экран компьютера.
6) Описание операторов , встречающихся в программе
Cтроки программы |
Оператор (пример) |
Описание |
|
10 |
DEF FN |
Оператор определения функции |
|
20, 30, 40, 400 |
|
Оператор вывода на экран |
|
120, 140, 150, 210, 220, 230, 300 320, 330, 340, 360 |
X1 = X2+d |
Арифметический оператор: присваивает переменным значения, получаемые в результате вычислений |
|
200, 310 |
WHILE |
Оператор цикла типа WHILE |
|
240, 350 |
WEND |
Оператор конца цикла типа WHILE |
|
130 |
IF |
Условный оператор: в зависимости от выполнения или невыполнения заданного условия выполняет те или иные операторы |
|
500 |
END |
Оператор конца программы |
Задача №4
Задан одномерный массив из 20 переменных Xi, принимающих случайные значения в диапазоне -100 - +100. Составить структурную схему алгоритма и программу на языке Бейсик для:
0) вычисления и печати среднего значения ХМ и дисперсии D по формулам:
1)
1) определения и печати наибольшего по абсолютной величине элемента массива Хмакс.
1) Словесный алгоритм решения задачи
Массив целых чисел заданной длины (20) инициализируется случайными значениями в диапазоне от -100 до +100. Затем вычисляются суммы , и определяется , после чего вычисляется среднее значение и дисперсия .
2) Структурная схема алгоритма решения задачи
3) Программа решения задачи
Программа решения задачи на языка GWBASIC (файл Task4.bas):
0050 OPEN "Task4Res.txt" FOR OUTPUT AS #1
0100 PRINT#1, "Task 4"
0200 DIM X(20)
0210 RANDOMIZE TIMER
0300 FOR i=1 TO 20
0310 X(i) = INT(RND*201-100)
0320 PRINT#1, i, X(i)
0330 NEXT
0400 S1=0: S2 = 0: Xmax = 0
0410 FOR i=1 to 20
0420 S1 = S1+X(i)
0430 S2 = S2 + X(i)^2
0440 IF abs(X(i)) > abs(XMax) THEN Xmax = X(i)
0450 NEXT
0500 Xm = S1/20
0510 D = S2/20 - Xm^2
0520 PRINT#1,USING "Xm = ###.###";Xm
0530 PRINT#1,USING "D = ####.###";D
0540 PRINT#1,USING "Xmax = ###";Xmax
0550 CLOSE #1
0600 END
4) Результат решения задачи на компьютере
Выходные данные помещаются программой в файл TASK4RES.TXT.
Содержимое файла после выполнения программы:
Task 4
1 -27
2 -51
3 -91
4 -2
5 -86
6 -48
7 70
8 64
9 -71
10 -74
11 -62
12 -75
13 -13
14 76
15 -26
16 24
17 -74
18 -4
19 46
20 -38
Xm = -23.100
D = 2793.690
Xmax = -91
5) Объяснение полученного результата
В результате выполнения программы создан набор из 20 случайных целых чисел в диапазоне [-100; +100], для которых определено математическое ожидание, дисперсия и найдено максимальное по абсолютной величине значение. Найденные значения вместе с исходными данными выведены в файл Task4Res.txt.
6) Описание операторов , встречающихся в программе
Cтроки программы |
Оператор (пример) |
Описание |
|
50 |
OPEN |
Оператор открытия выходного файла для записи результатов работы |
|
100, 320, 520, 530, 540 |
|
Оператор вывода на экран |
|
200 |
DIM X(20) |
Оператор объявления переменной-массива |
|
210 |
RANDOMIZE TIMER |
Оператор инициализации датчика случайных чисел |
|
310, 400, 420, 430, 500, 510 |
S1 = S1+X(i) |
Арифметический оператор: присваивает переменным значения, получаемые в результате вычислений |
|
300, 410 |
FOR i=1 TO 20 |
Оператор цикла типа FOR |
|
330, 450 |
NEXT |
Оператор конца цикла типа FOR |
|
440 |
IF … THEN … |
Условный оператор: в зависимости от выполнения или невыполнения заданного условия выполняет те или иные операторы |
|
550 |
CLOSE |
Оператор закрытия файла |
|
600 |
END |
Оператор конца программы |
Размещено на Allbest.ru
Подобные документы
Решение трансцендентного уравнения методом Ньютона. Построение графика функции. Блок-схема алгоритма решения задачи и программа решения на языке Pascal. Вычисление значения интеграла методом трапеции, блок-схема алгоритма, погрешности вычисления.
задача [163,4 K], добавлен 16.12.2009Алгоритм решения задачи: расположение значений ветора в порядке возрастания методом "Всплывающих пузырьков". Блок-схема алгоритма решения задачи. Описание блок-схемы, распечатка программы. Операторы: rem, dim, print, input, lprint using, for-next.
курсовая работа [17,4 K], добавлен 27.02.2010Разработка программы для расчета корня уравнения в определенном отрезке, по количеству итераций. Рисование в окне консоли на языке программирования C++. Реализация вывода графика функции и корня уравнения. Математическая модель и алгоритм решаемой задачи.
курсовая работа [521,3 K], добавлен 09.07.2017Выполнение арифметических операций, этапы решения задач с помощью ЭВМ - постановка задачи, составление алгоритма решения, программная реализация алгоритма в среде Qbasic. Решение систем линейных уравнений по формулам Крамера. Графический режим Qbasic.
курсовая работа [101,7 K], добавлен 29.09.2009Составление блок-схемы и алгоритма программы для решения уравнения с приближенным значением корня по методу Ньютона, расчета приближенного значения интеграла по формуле трапеций, вычисления уравнения длины вектора. Типы формул общего члена суммы.
курсовая работа [41,3 K], добавлен 15.12.2012Анализ заданной сложной функции и разработка структурной схемы алгоритма по её вычислению. Программирование отдельных блоков и структур алгоритма решаемой задачи на языке Паскаль. Полная программа в соответствии с алгоритмом. Результаты расчётов на ПК.
курсовая работа [59,2 K], добавлен 09.04.2012Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.
курсовая работа [67,6 K], добавлен 20.11.2012Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010Выбор языка программирования и его обоснование. Определение системных требований. Схема алгоритма и программа на языке Qbasic. Разработка руководства пользователя. Способы конструирования программ. Особенности и принципы динамического программирования.
курсовая работа [398,8 K], добавлен 21.01.2014Программирование на алгоритмическом языке Turbo Pascal на примере разработки алгоритма и программы расчета временной функции. Выбор, обоснование методов решения. Схемы алгоритмов основной программы и подпрограмм. Распечатка исходных и вычисленных величин.
реферат [154,8 K], добавлен 15.03.2012