русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Линейные алгоритмы


Дата добавления: 2015-09-15; просмотров: 815; Нарушение авторских прав


 

Линейные алгоритмы используют для решения относительно простых задач, не требующих разветвляющихся или циклических вычислений. Такими задачами являются расчеты математических формул, ввод и вывод информации, некоторые действия сфайлами. Линейные алгоритмы объединяет то, что вычисления в них проходят последовательно, шаг за шагом, oт начала к концу (сверху вниз по блок-схеме).

Простейшая программа решения математического примера имеет три основных действия: задание типа переменных, ввод данных, расчет выражения, вывод результата.

Пример 1. Вычислить значение функции при х = 45°.

 

.

Sub primer_1()

Dim x As Integer

Dim y As Single

Dim pi As Double, x_rad As Double

'определяем численное значение х

x = 45

'определяем численное значение числа Пи

pi = 4 * Atn(1)

' переводим х в радианы, так как в тригонометрических функциях

' аргумент должен быть в радианах

x_rad = x * pi / 180

' производим расчет заданного математического выражения

y = (2 * Cos(x_rad - x_rad / 6) + x) / (1 / 2 + Sin(x_rad) ^ 2 + Sqr(x))

'выводим ответ в диалоговое окно

MsgBox "y=" & y

End Sub

 

 

Пример 2.Вычислить значение формулы при различных значениях переменной х. Значения переменной х вводить в градусах.

 

Sub primer_2()

'определяем тип переменных

Dim x As Single, x_rad As Single, pi As Single

Dim y As Double

'вводим значение х по запросу программы

x = InputBox("Введите значение х в градусах", "Запрос задачи")

'вычисляем значение числа Пи

pi = 4 * Atn(1)

' переводим х в радианы, так как в тригонометрических функциях

' аргумент должен быть в радианах

x_rad = x * pi / 180

'производим расчет заданного математического выражения

y = (Cos(x_rad) + (x / 2 + 2) ^ (1 / 3)) / (3 - Tan(x_rad)) ^ 2 + Abs(2 - 5 * x) ^ x



'выводим ответ в виде диалогового окна

MsgBox "Значение функции при х=" & x & " градусов равно" & y, , "Решение задачи"

End Sub

 

Результат работы программы:

 

 

Пример 3.Составить блок-схему и про­грамму расчета площади треугольника по формуле Герона, а, b, с – длины сторон.

Решение. Формула Герона имеет вид:

 

,

 

где – полупериметр.

Sub primer_3()

'определяем тип переменных

Dim a As Single, b As Single, c As Single, p As Single, s As Single

'вводим значение длин сторон треугольника по запросу программы

a = InputBox("Введите длину a сторны треугольника", "Запрос 1 задачи")

b = InputBox("Введите длину b сторны треугольника", "Запрос 2 задачи")

c = InputBox("Введите длину c сторны треугольника", "Запрос 3 задачи")

'вычисляем значение полупериметра

p = (a + b + c) / 2

'вычисляем площадь треугольника по формуле Герона

p = Sqr(p * (p - a) * (p - b) * (p - c))

'выводим ответ в виде диалогового окна

MsgBox "При длинах сторон " & a & ", " & b & " и " & c & " площадь треугольника равна " & p, , "Решение задачи"

End Sub

 

Результат работы программы:

 

 

 

 

 

Пример 4. Составьте программу решения системы линейных уравнений

 

 

по правилу Крамера

 

 

Sub primer_4()

'определяем тип переменных

Dim a1 As Single, a2 As Single, b1 As Single, b2 As Single

Dim c1 As Single, c2 As Single, x As Single, y As Single

'вводим значения коэффициентов уравнения из рабочего листа Excel

a1 = Cells(2, 2)

b1 = Cells(3, 2)

c1 = Cells(4, 2)

a2 = Cells(5, 2)

b2 = Cells(6, 2)

c2 = Cells(7, 2)

'вычисляем значения корней уравнения по правилу Крамера

x = (c1 * b2 - c2 * b1) / (a1 * b2 - a2 * b1)

y = (a1 * c2 - a2 * c1) / (a1 * b2 - a2 * b1)

'выводим вычисленные значения корней в рабочий лист Excel

Cells(9, 2) = x

Cells(10, 2) = y

End Sub

 

Ответ:

 

Пример 7. Составьте программу вычисления корней квадратного уравнения

 

 

в действительной области.

 

Sub primer_5()

'определяем тип переменных

Dim a As Single, b As Single, c As Single, discriminant As Single

Dim x1 As Single, x2 As Single

'вводим значения коэффициентов уравнения по запросу программы

a = InputBox("Введите значение коэффициента a=", "Запрос 1 задачи")

b = InputBox("Введите значение коэффициента b=", "Запрос 2 задачи")

c = InputBox("Введите значение коэффициента c=", "Запрос 3 задачи")

'вычисляем дискриминант

discriminant = b ^ 2 - 4 * a * c

'вычисляем значения корней квадратного уравнения

x1 = (-b - Sqr(discriminant)) / (2 * a)

x2 = (-b + Sqr(discriminant)) / (2 * a)

'выводим значения корней квадратного уравнения в диалоговое окно

MsgBox "Корень x1=" & x1 & ", корень x2=" & x2

End Sub

 

Результат работы программы:

 

 

 

 

 

Пример 6. Вычислить общее сопротивление трех резисторов, соединенных последовательно и параллельно.

 

Sub primer_6()

'определяем тип переменных

Dim r1 As Single, r2 As Single, r3 As Single

Dim r_parall As Single, r_posled As Single

'вводим значения коэффициентов уравнения по запросу программы

r1 = InputBox("Введите значение первого сопротивления R1=", "Запрос 1 задачи")

r2 = InputBox("Введите значение второго сопротивления R2=", "Запрос 2 задачи")

r3 = InputBox("Введите значение третьего сопротивления R3=", "Запрос 3 задачи")

'вычисляем сопротивление резисторов, соединенных последовательно

r_posled = r1 + r2 + r3

'вычисляем сопротивление резисторов, соединенных параллельно

r_parall = 1 / (1 / r1 + 1 / r2 + 1 / r3)

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

MsgBox "Параллельное соединение =" & r_parall & ", последовательное соединение" & r_posled

End Sub

 

Пример 7. Вычислить путь, пройденный телом при равноускоренном движении, по формуле

.

 

Sub primer_7()

'определяем тип переменных

Dim v0 As Integer, a As Integer, t As Integer

Dim s As Single

'определяем значения исходных данных

v0 = 10: a = 5

t = InputBox("Введите значение времени t=", "Запрос задачи")

'вычисляем путь, пройденный телом

s = v0 * t + a * t ^ 2 / 2

'выводим на экран рассчитанный путь

MsgBox "На " & t & " секунде тело пройдет " & s & " метров"

End Sub

 

Результат работы программы:

 

 

 



<== предыдущая лекция | следующая лекция ==>
Организация диалога между пользователем и программой. Ввод данных в программу и вывод результата | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.