Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Структурированная запись основного алгоритма⇐ ПредыдущаяСтр 52 из 52
1. Ввести a, b и n 2. Вычислить S = | Integral (F1, a, b, n) - Integral (F2, a, b, n) | 3. Вывести S Схема алгоритма
Программа на языке Си #include <stdio.h> #include <math.h> double f1 (double); double f2 (double); double integral (double (*)(double), double, double, unsigned); int main (void) { double a, b, s; unsigned n; printf (״Введите значения a и b\n”); scanf (״%lf%lf”, &a, &b); printf (״Введите число разбиений интервала\n”); scanf (״%u”, &n); s = fabs(integral(f1,a,b,n)-integral(f2,a,b,n)); printf(״S = %lf”, s); return 0: }
double f1 (double x) { return sqrt(exp(x))+3*sin(x); }
double f2 (double x) { return x*x/2-2*x+3 }
double integral (double (*f)(double), double a, double b, unsigned n) { double s=0, h, x; h = (b-a)/n; for (x = a+h/2; n>0; --n, x += h) s += f(x); s *= h; return s; } Программа на языке Паскаль Program Main_53; Type Func = function (real): real; Var a, b, S: real; n: integer;
function F1(x:real):real; far; begin F1:= sqrt(exp(x))+3*sin(x) end;
function F2(x:real):real; far; begin F2:= x*x/2-2*x+3 end; function Integral (f: Func; a, b: real, n: integer):real; far; var i: integer; S, h, x: real; begin h:= (b-a)/n; S:= 0; x:= a+h/2; for i:=1 to n do begin S:= S+f(x); x:= x+h end; S:= S*h; Integral:= S end;
BEGIN writeln ('Введите значения a и b'); readln (a, b); writeln ('Введите число разбиений'); read (n); S:= abs(Integral(F1,a,b,n)-Integral(F2,a,b,n)); writeln ('S = ', S:8:3) END. Программа на языке Фортран Program Main_53 Implicit none real a, b, S, Integral integer n real,external:: F1, F2 print *,'Введите значения a и b' read *, a, b print *, 'Введите число разбиений' read *, n S = abs(Integral(F1,a,b,n)-Integral(F2,a,b,n)) print *, 'S = ', S end
real function F1(x) real, intent(in):: x F1 = sqrt(exp(x))+3*sin(x) end
real function F2(x:real):real; far; real, intent(in):: x F2 = x*x/2-2*x+3 end
real function Integral (f, a, b, n) real, intent(in):: a, b integer, intent(in):: n real f integer i real S, h, x h = (b-a)/n S = 0 x:= a+h/2 do i=1, n S = S+f(x) x = x+h enddo S = S*h Integral = S end Программа на языке Python from math import sqrt, exp, sin def integral(f, a, b, n): h=(b-a)/n; s=0; x=a+h/2 for i in range(n): s+=f(x) x+=h s*=h return s
def f1(x): res=sqrt(exp(x))+3*sin(x) return res
def f2(x): res=x*x/2-2*x+3 return res
a=float(input("Введите значение a:")) b=float(input("Введите значение b:")) n=int(input("Введите число разбиений интервала:")) s=abs(integral(f1,a,b,n)-integral(f2,a,b,n)) print("S=", s) Программа в системе Матлаб Вариант с передачей имени функции как строкового данного a=input('Введите a='); b=input('Введите b='); n=input('Введите число разбиений n='); s=abs(Integral('f1',a,b,n)-Integral('f2',a,b,n)); disp(sprintf('s=%f',s));
function f=f1(x); f=sqrt(exp(x))+3*sin(x); end
function f=f2(x); f=x^2/2-2*x+3; end
function s=Integral(f,a,b,n); % Имя функции f передается как строковое данное
h=(b-a)/n; s=0; x=a+h/2; for i=1:n s=s+feval(f,x); x=x+h; end s=s*h; end Вариант с передачей указателя на функцию a=input('Введите a='); b=input('Введите b='); n=input('Введите число разбиений n='); f1=@(x) sqrt(exp(x))+3*sin(x); f2=@(x) x^2/2-2*x+3; s=abs(Integral(f1,a,b,n)-Integral(f2,a,b,n)); disp(sprintf('s=%f',s));
function s=Integral(f,a,b,n); h=(b-a)/n; s=0; x=a+h/2; for i=1:n s=s+ f(x); x=x+h; end s=s*h; end
Библиографический список 1. ЕСПД. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. М.,2010. 2. Кнут Д. Искусство программирования. Т.1. Основные алгоритмы. М.,2006. 3. Керниган Б., Ритчи Д. Язык программирования С: Пер. с англ. М., 2013. 4. Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Free Pascal и Lazarus: Учебник по программированию. М., 2010. 5. Бартеньев О.В. Современный Фортран. М., 2000. 6. Саммерфильд М. Программирование на Python 3. Подробное руководство.: Пер. с англ. СПб, 2009. 7. Алексеев Е.Р., Чеснокова О.В. MATLAB 7. М., 2006. ОГЛАВЛЕНИЕ Введение.. 3 ПОНЯТИЕ АЛГОРИТМА И ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ.. 4 алгоритмы РЕШЕНИЯ ТИПОВЫХ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ.. 13 Последовательные алгоритмы.. 13 Задача 1. Вычисление значения арифметического выражения. 15 Задача 2. Использование целочисленного деления. 18 Задача 3. Работа с цифрами целого числа. 21 Разветвляющиеся алгоритмы.. 29 Задача 4. Поиск максимального из трех чисел. 31 Задача 5. Использование составного условия. 38 Задача 6. Использование вложенных условных конструкций для решения уравнения. 42 Циклические алгоритмы.. 46 Задача 7. Простейший цикл. 48 Задача 8. Получение таблицы значений функции. 50 Задача 9. Поиск максимального значения функции. 54 Задача 10. Нахождение суммы.. 60 Задача 11. Нахождение суммы.. 63 Задача 12. Нахождение суммы.. 66 Задача 13. Нахождение суммы.. 71 Задача 14. Вычисление факториала. 75 Задача 15. Вычисление произведения. 78 Задача 16. Вычисление значения интеграла. 81 Задача 17. Определение количества чисел, удовлетворяющих условию.. 86 Задача 18. Нахождение среднего арифметического последовательно вводимых чисел. 91 Задача 19. Нахождение суммы цифр в числе. 96 Задача 20. Поиск делителей числа. 100 Задача 21. Проверка простого числа. 103 Задача 22. Вычисление суммы бесконечного ряда с использованием рекуррентной формулы.. 110 Задача 23. Вычисление суммы бесконечного ряда. Частично рекуррентные вычисления. 116
Задача 24. Решение уравнения методом половинного деления. 126 Задача 25. Нахождение суммы. Вложенные циклы.. 132 Основные алгоритмы обработки массивов.. 142 Одномерные массивы.. 142 Задача 26. Нахождение среднего арифметического элементов массива. 144 Задача 27. Нахождение среднего арифметического элементов, удовлетворяющих условию.. 148 Задача 28. Проверка наличия определенных элементов в массиве. 155 Задача 29. Вычисление значения полинома. 160 Задача 30. Поиск максимального элемента в массиве. 164 Задача 31. Поиск минимума в массиве и его перестановка. 169 Задача 32. Поиск минимального из элементов, удовлетворяющих условию.. 174 Задача 33. Удаление максимального элемента из массива. 181 Задача 34. Вставка элемента в массив. 187 Задача 35. Формирование нового массива на основе исходного. 193 Задача 36. Перебор всех пар элементов в массиве. Вложенные циклы.. 200 Задача 37. Сортировка массива методом попарно-обменных перестановок. 206 Задача 38. Сортировка массива методом поиска максимума. 219 Многомерные массивы. Матрицы.. 226 Задача 39. Вычисление среднего арифметического в строках матрицы.. 229 Задача 40. Поиск максимального по модулю элемента в столбцах матрицы.. 234 Задача 41. Преобразование строки и столбца, где находится минимум матрицы.. 240 Задача 42. Перестановка столбцов матрицы.. 248 Задача 43. Работа с элементами главной диагонали квадратной матрицы.. 257 Задача 44. Проверка элементов в части матрицы, ограниченной диагональю.. 262 Задача 45. Поиск упорядоченных по возрастанию строк матрицы.. 268 Задача 46. Обработка трехмерного массива. 274 ВсПОМОГАТЕЛЬНЫЕ АЛГОРИТМЫ... 280 Задача 47. Использование вспомогательных алгоритмов. Поиск минимального из двух значений 285 Задача 48. Использование вспомогательных алгоритмов. Поиск минимальных элементов двух массивов 290 Задача 49. Использование вспомогательных алгоритмов. Обработка массива по частям.. 301 Задача 50. Вспомогательные алгоритмы. Обработка двух массивов с получением новых массивов 310 Задача 51. Вспомогательные алгоритмы. Работа с диагоналями двух квадратных матриц. 326 Задача 52. Использование вспомогательных алгоритмов. Обработка отдельных столбцов матрицы 342 Задача 53. Использование вспомогательных алгоритмов. Передача функции как параметра в другую функцию. Нахождение площади между двумя кривыми. 357 Библиографический список. 368
|
||||||
Последнее изменение этой страницы: 2021-04-12; просмотров: 96; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.6.75 (0.026 с.) |