Лабораторная работа 3.2. Функции

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

ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ

Задача 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).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: