Цель. Получить практические навыки работы с функциями. Научиться создавать и вызывать функции. Понять связь формальных и фактических аргументов функций.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Задача 1. Создайте функцию, которая принимает в качестве аргумента натуральное число и возвращает строку, представляющую его двоичную запись.
#include <string>
#include <iostream>
using namespace std;
string getBinary(int n) {
int t=n;
string result="";
while (t>0) {
if (t%2==1) {
result = '1' + result;
} else {
result = '0' + result;
}
t/=2;
}
return result;
}
int main() {
cout << getBinary(10) << endl;
cout << getBinary(100) << endl;
cout << getBinary(15) << endl;
cout << getBinary(64) << endl;
system("pause");
return 0;
}
Задача 2. Создайте функцию, которая принимает в качестве аргумента строку и возвращает количество латинских гласных букв в ней.
#include <string>
#include <iostream>
using namespace std;
int nGlas(string s) {
int result = 0;
for (int i=0; i<s.length(); i++) {
if (s[i]=='a' || s[i]=='e' || s[i]=='i' ||
s[i]=='o' || s[i]=='u' || s[i]=='y') {
result++;
}
}
return result;
}
int main() {
string str;
cin >> str;
cout << nGlas(str) << endl;
system("pause");
return 0;
}
Задача 3. Создайте функцию, которая принимает в качестве аргумента три вещественных числа, представляющих собой координаты точки в трехмерном пространстве и расстояние от этой точки до начала координат.
|
|
#include <string>
#include <iostream>
using namespace std;
float distance(float x, float y, float z) {
return sqrt(x*x+y*y+z*z);
}
int main() {
cout << distance(1,2,3) << endl;
cout << distance(0,0,0) << endl;
cout << distance(1,1,1) << endl;
system("pause");
return 0;
}
Задача 4. Создайте функцию, которая принимает в качестве аргумента вещественное число x и возвращает значение функции f(x) = 2x3+4x+7sin2(x) от этого числа.
#include <string>
#include <iostream>
using namespace std;
float f(float x) {
return 2*x*x*x+4*x+7*sin(x)*sin(x);
}
int main() {
cout << f(3) << endl;
cout << f(0.1) << endl;
system("pause");
return 0;
}
Задача 5. Создайте функцию, которая принимает два целочисленных аргумента и возвращает их наименьшее общее кратное.
#include <string>
#include <iostream>
using namespace std;
int nok(int a, int b) {
for (int i=a; i<a*b; i++) {
if (i%a==0 && i%b==0) {
return i;
}
}
return a*b;
}
int main() {
cout << nok(3,9) << endl;
cout << nok(12,18) << endl;
system("pause");
return 0;
}
ЗАДАЧИ
1. Создайте функцию, которая принимает в качестве аргумента число и возвращает квадрат этого числа.
2. Создайте функцию, которая принимает в качестве аргумента радиус круга и возвращает его площадь.
3. Создайте функцию, которая принимает в качестве аргумента радиус шара и возвращает его объем.
4. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает остаток от деления этого числа на 7.
5. Создайте функцию, которая принимает в качестве аргументов три числа и возвращает их среднее арифметическое.
6. Создайте функцию, которая принимает в качестве аргумента число и возвращает куб этого числа.
|
|
7. Создайте функцию, которая принимает в качестве аргументов длины трех сторон треугольника и возвращает площадь этого треугольника. Воспользуйтесь формулой Герона.
8. Создайте функцию, которая принимает в качестве аргументов коэффициенты квадратного уравнения и возвращает его дискриминант.
9. Создайте функцию, которая принимает в качестве аргументов коэффициенты квадратного уравнения и возвращает количество корней этого уравнения.
10. Создайте функцию, которая принимает в качестве аргументов длины двух катетов прямоугольного треугольника и возвращает длину гипотенузы.
11. Создайте функцию, которая принимает в качестве аргументов длины гипотенузы и одного катета прямоугольного треугольника и возвращает длину другого катета.
12. Создайте функцию, которая принимает в качестве аргументов координаты вектора в двумерном пространстве и возвращает проекцию этого вектора на ось ординат.
13. Создайте функцию, которая принимает в качестве аргументов координаты вектора в двумерном пространстве и возвращает проекцию этого вектора на ось абсцисс.
14. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает количество цифр в нем.
15. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает сумму его цифр.
16. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает его вес Хэмминга.
17. Создайте функцию, которая принимает два целочисленных аргумента и возвращает их наибольший общий делитель.
18. Создайте функцию, которая принимает два целочисленных аргумента и возвращает их наименьшее общее кратное.
19. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает факториал этого числа.
20. Создайте функцию, которая принимает целое число в качестве аргумента и возвращает элемент последовательности Фибоначчи, имеющий номер равный этому числу.
21. Создайте функцию, которая принимает в качестве аргумента строку и возвращает количество латинских гласных букв в ней.
22. Создайте функцию, которая принимает в качестве аргумента строку и возвращает количество цифр в ней.
23. Создайте функцию, которая принимает в качестве аргумента строку и возвращает строку, являющуюся записью принятой строки наоборот (сервиз - зиврес).
24. Создайте функцию, которая принимает в качестве аргумента число N и возвращает сумму 1+2+…+N.
25. Создайте функцию, которая принимает в качестве аргумента число N и возвращает сумму 1/1+1/2+…+1/N.
26. Создайте функцию, которая принимает в качестве аргумента число N и возвращает сумму 1/2+1/4+1/8…+1/2N.
27. Создайте функцию, которая принимает в качестве аргументов строку и целое число и возвращает символ этой строки, расположенный на позиции, равной этому числу.
28. Создайте функцию, которая принимает в качестве аргумента латинскую букву и возвращает букву, расположенную следом за ней по алфавиту. Считайте, что за последней следует первая.
29. Создайте функцию, которая принимает в качестве аргумента русскую букву и возвращает букву, расположенную перед ней по алфавиту. Считайте, что перед первой находится последняя.
30. Создайте функцию, которая принимает в качестве аргумента вещественное число x и возвращает sin2(x) + cos(x) + sin2(x-5).