Программное определение математических функций

Лабораторная работа №1. Вычисление по формулам

Задание: Вычислить площадь правильного n-угольника (внимательно отнеситесь к выбору исходных данных).

Ход работы: Задача состоит в вычислении результата по формуле при известных данных. Напишем программу так, чтобы вычислить результат для любых возможных исходных данных. Для этого будем вводить исходные данные с клавиатуры в процессе выполнения программы.

Обсудим решение задачи по вышеуказанному плану.

В программе участвуют следующие данные: исходные – длина одной из стороны правильного n-угольника, количество сторон правильного n-угольника, радиус вписанной окружности, результирующие – площадь правильного n-угольника.

Типы данных определяем по смыслу задачи: исходные данные хотя и задаются целыми числами, в общем случае могут быть и дробными, поэтому тип данных – float (или double).

Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были “говорящими” (для лучшего понимания текста программы). Пусть dlina – длина одной из стороны правильного n-угольника, storona – количество сторон правильного n-угольника, radius – радиус вписанной окружности, S – результат.

Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream. h.

Полный текст программы будет выглядеть так:

#include<iostream. h>

#include “Rus. h”

Void main(void)

{

Float dlina, storona, radius, S;

Cout<<Rus(“\nВведите длину одной из сторон правильного n-угольника “);

Cin >> dlina;

Cout<<Rus(“\nВведите количество сторон “);

Cin >> storona;

Cout <<Rus(“\nВведите радиус вписанной окружности “);

Cin >> radius;

S=(dlina*storona*radius)/2;

Cout <<Rus(“\nПлощадь правильного n-угольника “) << S << ” sm\n”;

Return;

}

Выполнение программы: Программа выполняется правильно

Лабораторная работа №2. Математические функции

Задание: Вычислить:

Ход работы: Задача состоит в вычислении результата по формуле при известных данных. Напишем программу так, чтобы вычислить результат для любых возможных исходных данных. Для этого будем вводить исходные данные с клавиатуры в процессе выполнения программы.

Обсудим решение задачи по вышеуказанному плану.

В программе участвуют следующие данные: исходные – аргумент функции е, результирующие – результат выражения a.

Типы данных определяем по смыслу задачи: аргумент функций и результата должен быть типа double, поэтому тип данных – double.

Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были “говорящими” (для лучшего понимания текста программы). Пусть исходное данное будет е, результат – rezult.

Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream. h.

Полный текст программы будет выглядеть так:

#include<iostream. h>

#include<math. h>

#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 <<endl;

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 <iostream. h>

#include”Rus. h”

Void main(void)

{

Int a, n;

Cout <<Rus(“\n Введите количество потребляемой энергии: “);

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 <<endl;

}

If(a<200)

{

N=a*54/100;

Cout << Rus(“\nСтоимость энергии в рублях: “) << n << endl;

}

Return;

}

Выполнение программы: Программа выполняется правильно

Лабораторная работа №4. Использование оператора switch

Задание: Выполнить непредусмотренные правилами языка Си арифметические операции ‘х’ – умножить и ‘:’ – разделить. В качестве исходных данных вести два числа и символ – знак операции.

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

Типы данных определяем по смыслу задачи: из условия задачи следует, что исходное данное – два числа и знак операции. Определяем тип как int (можно unsigned).

Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были “говорящими” (для лучшего понимания текста программы). Пусть два числа будут а, b, а результат произведения или разности – с, знак операции – znak.

Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream. h.

Полный текст программы будет выглядеть так:

#include <iostream. h>

#include “Rus. h”

#include<conio. h>

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 <<Rus(“\nЗнак введен не правильно”)<< endl;

Cout <<Rus(“\nПопробуйте еще раз!”)<< endl;

}

Return;

}

Выполнение программы: Программа выполняется правильно

Лабораторная работа №5. Циклы

Задание: Вычислить:

, где n!=1*2*3*…*n;

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

Типы данных определяем по смыслу задачи: из условия задачи следует, что исходное данное – целое число небольшого диапазона. Определяем тип как int (можно unsigned). Результат – сумма дробей – double. Переменная цикла – int.

Имена переменных выбираем произвольно, заботясь лишь о том, чтобы они были “говорящими” (для лучшего понимания текста программы). Пусть результат – summa, переменная цикла i.

Используем потоки ввода-вывода поэтому необходимо подключить заголовочный файл iostream. h.

Алгоритм накопления суммы можно описать так:

Summa=0;

Пока условие цикла истинно:

Вычислить очередную дробь.

Добавить дробь к сумме.

В качестве оператора цикла выбираем оператор for.

Полный текст программы будет выглядеть так:

#include<iostream. h>

#include “Rus. h”

#include<conio. h>

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 <<endl;

Return;

}

Выполнение программы: Программа выполняется правильно


Программное определение математических функций