Программное определение математических функций
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть исходные данные называются как в условии задачи. Задание: Выполнить непредусмотренные правилами языка Си арифметические операции `х' — умножить и `:' — разделить. В качестве исходных данных вести два числа и символ — знак операции. Имена переменных выбираем… Читать ещё >
Программное определение математических функций (реферат, курсовая, диплом, контрольная)
Лабораторная работа № 1. Вычисление по формулам
Задание: Вычислить площадь правильного n-угольника (внимательно отнеситесь к выбору исходных данных).
Ход работы: Задача состоит в вычислении результата по формуле при известных данных. Напишем программу так, чтобы вычислить результат для любых возможных исходных данных. Для этого будем вводить исходные данные с клавиатуры в процессе выполнения программы.
Обсудим решение задачи по вышеуказанному плану.
В программе участвуют следующие данные: исходные — длина одной из стороны правильного n-угольника, количество сторон правильного n-угольника, радиус вписанной окружности, результирующие — площадь правильного n-угольника.
Типы данных определяем по смыслу задачи: исходные данные хотя и задаются целыми числами, в общем случае могут быть и дробными, поэтому тип данных — float (или double).
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть dlina — длина одной из стороны правильного n-угольника, storona — количество сторон правильного n-угольника, radius — радиус вписанной окружности, S — результат.
Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream.h.
Полный текст программы будет выглядеть так:
#include
#include «Rus.h»
void main (void)
{
float dlina, storona, radius, S;
cout<
cin >> dlina;
cout<
cin >> storona;
cout <
cin >> radius;
S=(dlina*storona*radius)/2;
cout <<< S << «smn» ;
return;
}
Выполнение программы: Программа выполняется правильно
Лабораторная работа № 2. Математические функции
Задание: Вычислить:
Ход работы: Задача состоит в вычислении результата по формуле при известных данных. Напишем программу так, чтобы вычислить результат для любых возможных исходных данных. Для этого будем вводить исходные данные с клавиатуры в процессе выполнения программы.
Обсудим решение задачи по вышеуказанному плану.
В программе участвуют следующие данные: исходные — аргумент функции е, результирующие — результат выражения a.
Типы данных определяем по смыслу задачи: аргумент функций и результата должен быть типа double, поэтому тип данных — double.
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть исходное данное будет е, результат — rezult.
Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream.h.
Полный текст программы будет выглядеть так:
#include
#include
#include «Rus.h»
void main (void)
{
double e, rezult;
cout << Rus («nВведите число e «);
cin >> e;
rezult=sqrt (4.2013*sqrt (0.1)+2-((e*e)/3));
cout << Rus («nЗначение выражения равно «) << rezult <
return;
}
Выполнение программы: Программа выполняется правильно
Лабораторная работа № 3. Использование оператора if
Задание: Расценки, назначаемые за коммунальные услуги, зависят от количества потребляемой энергии:
Первые 200 кВт. ч стоят 54 копейки за 1кВт.ч.
Следующие 300 кВт. ч стоят 70 копеек за 1кВт.ч.
Свыше 500 кВт. ч стоят 91 копеек за 1кВт.ч.
Вычислить стоимость энергии по ее введенному количеству. Например, для 600кВт. ч расчет будет следующим: 200*54+300*70+100*91. Результат выразить в рублях.
Ход работы: Возможны лишь один исход решения задачи, но ход решения будет разным в зависимости от введенного количества потраченной электроэнергии, поэтому используем оператор if-else. Напишем программу так, чтобы вычислить результат для любых возможных исходных данных. Для этого будем вводить исходные данные с клавиатуры в процессе выполнения программы.
Обсудим решение задачи по вышеуказанному плану.
В программе участвуют следующие данные: исходные — количество потраченной электроэнергии (а) и n, результат не выражен значением, им будет сообщение о стоимости потраченной электроэнергии.
Типы данных определяем по смыслу задачи: из условия задачи следует, что исходные числа целые — тип int.
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть исходные данные называются как в условии задачи.
Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream.h.
Полный текст программы будет выглядеть так:
#include
#include" Rus. h"
void main (void)
{
int a, n;
cout <
cin >> a;
if (a>=500)
{
n=(200*54+300*70+(a-500)*91)/100;
cout << Rus («nСтоимость энергии в рублях: «) << n << endl;
}
if (a>=200&&a<500)
{
n=(200*54+(a-200)*70)/100;
cout << Rus («nСтоимость энергии в рублях: «) << n <
}
If (a<200)
{
n=a*54/100;
cout << Rus («nСтоимость энергии в рублях: «) << n << endl;
}
return;
}
Выполнение программы: Программа выполняется правильно
Лабораторная работа № 4. Использование оператора switch
Задание: Выполнить непредусмотренные правилами языка Си арифметические операции `х' - умножить и `:' - разделить. В качестве исходных данных вести два числа и символ — знак операции.
Ход работы: В программе участвуют следующие данные: исходные — два числа и символ-знак операции, результат выражается в произведении или в разности чисел.
Типы данных определяем по смыслу задачи: из условия задачи следует, что исходное данное — два числа и знак операции. Определяем тип как int (можно unsigned).
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть два числа будут а, b, а результат произведения или разности — с, знак операции — znak.
Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream.h.
Полный текст программы будет выглядеть так:
#include
#include «Rus.h»
#include
void main (void)
{
int a, b, c;
char znak;
cout << endl << Rus («nВведите 2 числа через пробел «);
cin >> a >> b;
cout << Rus («nВведите знак операции (: или x) «)<< flush;
znak=getche ();
switch (znak)
{
case ':':
{
c=a/b;
cout << endl << Rus («nОтвет: «) << c << endl;
}
break;
case 'x':
{
c=a*b;
cout << endl << Rus («nОтвет: «) << c << endl;
}
break;
default:
cout <<< endl;
cout <<< endl;
}
return;
}
Выполнение программы: Программа выполняется правильно
Лабораторная работа № 5. Циклы
Задание: Вычислить:
,где n≠1*2*3*…*n;
Ход работы: В программе участвуют следующие данные: исходные — промежуточное — переменная цикла, результат — сумма ряда чисел.
Типы данных определяем по смыслу задачи: из условия задачи следует, что исходное данное — целое число небольшого диапазона. Определяем тип как int (можно unsigned). Результат — сумма дробей — double. Переменная цикла — int.
Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были «говорящими» (для лучшего понимания текста программы). Пусть результат — summa, переменная цикла i.
Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream.h.
Алгоритм накопления суммы можно описать так:
summa=0;
Пока условие цикла истинно:
Вычислить очередную дробь.
Добавить дробь к сумме.
В качестве оператора цикла выбираем оператор for.
Полный текст программы будет выглядеть так:
#include
#include «Rus.h»
#include
void main (void)
{
int i, j;
double summa=0.0;
double f=1.0;
cout << Rus («nВычисление ряда суммы чисел 1/1!+1/3!+1/5!+1/7!+1/9!n»);
summa=1/f;
for (i=1; i<5; i++)
{
f=1.0;
for (j=1; j<=(i*2+1); j++) f*=j;
summa=summa+1/f;
cout << summa << endl;
}
cout << Rus («nСумма = «) << summa <
return;
}
Выполнение программы: Программа выполняется правильно