Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Цель работы: изучение приёмов алгоритмизации и программирования задач, требующих организации циклов с заданным числом повторений с использованием рекуррентных формул, выработка умений отладки и тестирования программ с циклами.

Типы переменных и констант в программах работы следует выбирать по содержанию задания. В алгоритме цикла и в программе нужно использовать рекуррентные формулы.

 
 

Задание: вычислить сумму членов ряда (2), n, х – заданные величины:

/* Программа 4.1. Функция факториал k! = 1*2*3*…*k, 0! = 1
ТЕСТ: n = 4, x = 2.0, s = - 0.6666… */

#include <stdio.h>

void main()

{ float x, r, s;

int i, k, n;

< Вывод шапки результатов программы, см. программу 1 или 2 >

printf("\n Введите x и n: ");

scanf("%e%d", &x, &n); // С т р у к т у р а цикла:

r = 1; s = 0; // инициализация цикла – блок 1 цикла

for (k = 1; k <= n; k++) // оператор управления циклом –блок 2 цикла

{ // область (тело) цикла –блок 3 цикла

r = -r*x / k; // член ряда и сумма вычисляются по рекуррентным

s = s + r; // формулам, в которых используются предыдущие

} // значения переменных r и s

printf("Для n = %d и х = %.4f сумма ряда s = %.4e", n, x, s);

}

/* Программа 4.2, вычисление таблицы значений функции y = exp(x/2) на интервале (a, b) с шагом h. ТЕСТ: a=0, b=2.0, h=1.0, y(0)=1, y(2)=2.718 … */

#include <stdio.h>

#include <math.h>

void main()

{ float a, b, h, x, y;

< Вывод шапки результатов программы, см. программу 1 или 2 >

printf("\n Введите a, b и h: ");

scanf("%e%e%e", &a, &b, &h);

printf("\n ТАБЛИЦА ФУНКЦИИ y = exp(x/2) \n\n");

printf(" x\t\t exp(x/2) \n"); // столбцы таблицы

for (x = a; x <= b; x+=h)

printf("%6.3f %15.5f \n", x, exp(x/2));

} // В спецификации формата “ %6.3f ” число 6 – длина поля для вывода х

Вопросы и упражнения:

1. Какие формулы называют рекуррентными? Как изменится программа 4.1, если не использовать рекуррентные формулы?

2. Запишите рекуррентную формулу для вычисления (2k – 1)!, k = 1, 2, ….

3. Поясните спецификацию формата “ %15.5f ”.

4. На какие три группы делят операторы обработки данных с циклом?

5. Модифицируйте программу для вычисления таблицы значений двух функций: ln(x) и xb , вывод данных выполните в экспоненциальном формате.

6. Как в программе задаётся выравнивание данных по столбцам при выводе таблицы на экран?





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 1082 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

4353 - | 4253 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.