- •1. Краткие теоретические сведения
- •1.1. Понятие циклического вычислительного процесса
- •1.2. Типовая блок-схема организация цвп
- •1.3. Классификация цвп
- •Повторений и специальной переменной - счетчиком циклов
- •1.4. Общие сведения об операторах цикла
- •1. Оператор while:
- •2. Оператор do…while:
- •3. Оператор for:
- •1.5. Оператор цикла типа "прогрессия" for
- •1.6. Основные правила и порядок выполнения оператора цикла for:
- •Оператор цикла со спецификацией, заданной скалярным выражением
- •1.7. Оператор цикла while
- •1.5.4.1. Оператор цикла while
- •1.5.4.3. Оператор цикла while
- •1.5.5.4. Оператор цикла while
- •1. Цикл с предусловием:
- •1.5.5.5. Основные правила использования и порядок выполнения оператора цикла while:
- •1.5.5.6. Пример № 1
- •1.8. Оператор цикла do...While
- •1.5.5.1. Оператор цикла do while
- •1.5.5.2. Оператор цикла с постусловием do
- •1.5.5.3. Оператор цикла do while
- •1.5.5.4. Оператор цикла do-while
- •2. Цикл с постусловием:
- •1.9. Табулирование функций
- •1.10. Вычисление конечных сумм и произведений
- •1.11. Правила организации циклических алгоритмов
- •1.12. Операторы перехода и их использование в циклах
- •1.12.1. Оператор прерывания циклов break
- •1.Break – оператор прерывания цикла.
- •1.12.2. Оператор перехода к следующей итерации цикла continue
- •Оператор продолжения continue для циклов do, while, for
- •1.12.3. Оператор перехода goto
- •1.12.4. Оператор возврата из функции return
- •Замечание:
- •2. Задание
- •2.1. Изучить теоретические сведения
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1. Табуляция неразветвляющейся функции
- •2.4.1.1. Условие задания
- •Варианты заданий
- •2.4.2. Задание 2. Табулирование разветвляющейся функции
- •2.4.2.1. Условие задания
- •2.4.3. Задание 3. Табулирование разветвляющейся функции
- •2.4.3.1. Условие задания
- •2.5. Задания для дома
- •2.5.1. Задание 1. Табулирование неразветвляющейся функции в равноотстоящих точках
- •2.5.1.1. Условие задания
- •2.5.2. Задание 2. Табулирование разветвляющейся функции в равноотстоящих точках
- •2.5.2.1. Условие задания
- •2.5.2.2.Пример программы табулирования функции
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Понятие циклического вычислительного процесса 2
1.9. Табулирование функций
Наиболее наглядным примером цикла с известным числом повторений является задача табулирования функции.
Табулирование функции – вычисление таблицы значений функции для аргумента x, изменяющегося от начального значения х0 до конечного хn с постоянным шагом h. В таблице 3 приведен пример табулирования функции y(x)=x2 на отрезке [0; 10] с шагом 2.
Таблица 3
Табулирование функции y(x)=x2
x |
y(x)=x2 |
0 |
0 |
2 |
4 |
4 |
16 |
6 |
36 |
8 |
64 |
10 |
100 |
Пример 7.43
Табулирование непрерывной функции.
Протабулируем функцию y(x)=x2 на отрезке [х0; хn] с шагом h с использованием операторов for, while, do while.
Таблица 4
Табулирование функции
for |
while |
do while |
|
|
|
Таблица 5
Сравнение операторов цикла при табулировании функции
for |
while |
do while |
for(x=x0;x<=xn;x+=h) { y=x*x; printf("%f %f\n",x,y); } |
x=x0; while (x<=xn) { y=x*x; printf("%f %f\n",x,y); x+=h; } |
x=x0; do { y=x*x; printf("%f %f\n",x,y); x+=h; } while (x<=xn); |
Тестирование: при х0=0, хn=10, h=2 получаем
Первый столбец содержит значения переменной x, второй столбец – значения функции y(x)=x2.
Задание 2
На основе примера 2 составьте программу табулирования функции y(x)=x3 на отрезке [х0; хn] с шагом h.
Пример 7.44.
Табулирование сложной функции
Напишем программу табулирования сложной функции
График функции приведен на рис. 7.41.
Рис. 7.41
Реализация в С++:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x0,xn,h,x,y;
printf("xo="); scanf("%f",&x0);
printf("xn="); scanf("%f",&xn);
printf("h="); scanf("%f",&h);
for(x=x0;x<=xn;x+=h)
{
if (x<=0) y=0;
else
if (x>0 & x<1) y=x;
else y=1;
printf("%f %f\n",x,y);
}
getch();
return 0;
}
Тестирование:
Задание 3
Выполните программу примера 3 и на ее основе составьте программу табулирования функции:
1.10. Вычисление конечных сумм и произведений
Другим наглядным примером цикла с известным числом повторений (циклом с параметром) о вычислении сумм и произведений.
Пример 7.45
Вычисление суммы
Напишем программу вычисления суммы
,
где х изменяется с шагом 1.
Реализация в С/С++:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,s;
int i;
printf("x="),scanf("%f",&x);
s=0;
for (i=1; i<=10; i++) s=s+(x+i);
printf("s=%f\n",s);
getch();
return 0;
}
Тестирование:
Задание 4
Выполните программу примера 4 и на ее основе напишите программу вычисления суммы:
#include "stdafx.h"
#include <stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,p;
int i;
printf("x="),scanf("%f",&x);
p=1;
for (i=1; i<=10; i++) p=p*(x+i);
printf("p=%f\n",p);
getch();
return 0;
}
Задание 5
Выполните программу примера 4 и на ее основе напишите программы вычисления факториала числа (факториал числа n – это произведение n!=1*2*…*n)и произведения p=2*4*8*…*(2n).