русс | укр

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

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

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

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


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

Задание на лабораторную работу


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


  1. Получить задание в соответствии с номером своего варианта.
  2. Вывести рекуррентную формулу вычисления суммы ряда.
  3. Определить общее слагаемое суммы и выразить его через предыдущее, использовав переходной коэффициент (для удаления факториалов из формулы).
  4. Составить схему алгоритма решения задачи.
  5. Написать код программы на языке Паскаль в среде Borland Pascal for Windows.
  6. Осуществить компиляцию, и отладку программы. Провести структурное тестирование программы (тестирование как белого ящика): составить тестовые наборы для тестирования

- в нормальных условиях,

- при граничных условиях,

- при некорректных входных данных,

- по критерию покрытия решений – результат проверки каждого условия принимал значение истина или ложь хотя бы один раз,

- по критерию покрытия условий – все возможные результаты каждой логической операции в условиях были получены хотя бы по одному разу.

  1. Получить результат.
  2. Оформить отчет по лабораторной работе.

 

Пример оформления работы

1. Составить алгоритм и написать код программы, вычисляющей значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x(x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями функции f=cos(x). Результаты вычислений вывести в виде таблицы с заголовком.

- разложение функции cos(x) в ряд Тейлора.

Накопление суммы производим по рекуррентной формуле – каждая последующая сумма вычисляется через предыдущую:

Общий вид слагаемого суммы может быть записан в следующем виде:

Для сокращения объема вычислений выразим его через предыдущее слагаемое:

Сомножитель , называемый переходным коэффициентом, можно определить из предыдущего соотношения:

Раскроем эту формулу:

 

 

 

Тогда текущий член ряда будет вычисляться по формуле:



Начальное значение находим подстановкой в формулу для общего члена значения n=0:

Начальное значение суммы можно принять равным первому члену ряда, то есть . Учитывая, что значение текущего члена ряда и суммы при n=0 уже определены, номер члена ряда n примем равным единице.

Задачу решим вложенными циклами:

- во внешнем цикле – цикле с постусловием – будем изменять значение аргумента от начального до конечного с заданным шагом,

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

 

 

  1. Схема алгоритма решения задачи:

  1. Код программы

 

3.1. На языке Паскаль:

 

Program Variant_0;

Uses WinCRT;

Var x, s, f, x_nach, x_kon, delta_x, eps, t: Real;

n: Word;

Begin

WriteLn('Лабораторная работа №3');

WriteLn('Вариант №0');

WriteLn('ИС-11-1');

WriteLn('Пупкин Василий');

WriteLn;

{ввод исходных данных}

WriteLn(‘Ввод исходных данных:’);

Write('x_nach=');

ReadLn(x_nach);

Write('x_kon=');

ReadLn(x_kon);

Write('delta_x=');

ReadLn(delta_x);

Write('eps=');

ReadLn(eps);

WriteLn;

{эхо-печать}

WriteLn('Для x=', x_nach:0:3, ' до ', x_kon:0:3, ' шаг=', delta_x:0:3, ' точность=', eps:0:5);

WriteLn;

WriteLn(' x n s f');

WriteLn('-----------------------------------');

x:=x_nach;

Repeat

{внешний цикл – изменение аргумента}

t:=1.0; {первое слагаемое}

s:=1.0; {начальное значение суммы}

n:=1;

f:=cos(x); {точное значение суммы}

While (Abs(t)>eps) Do

{внутренний цикл – вычисление суммы ряда в отдельной точке}

Begin

t:=-t*x*x/(2.0*n*(2.0*n-1.0)); {очередное слагаемое}

s:=s+t; {очередная сумма}

n:=n+1;

End;

WriteLn(x:0:3, ' ', n:3, ' ', s:0:6, ' ', f:0:6);

x:=x+delta_x; {изменение значения аргумента}

Until(x>x_kon);

End.

3.2. На языке Си:

#include <stdio.h> //директивы препроцессора

#include <conio.h>

#include <math.h>



<== предыдущая лекция | следующая лекция ==>
Задания на лабораторную работу №2 | Int main()


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


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

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

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


 


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

 
 

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

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