Перегрузка функций и указатель на функцию

В С++ допустимо использование нескольких функций с одинаковым именем, но различным числом или типами параметров. Такое свойство называется перегрузкой функций. Перегруженные функции различаются компилятором по типам и числу параметров.

Так как имя функции является указателем на начало функции в оперативной памяти, то можно объявлять указатели на функции для последующего их

использования в программе.

При объявлении указатель должен возвращать тот же тип и иметь такие же аргументы, как и функция, на которую он будет указывать. Например, указатель на функцию

 

Double y(double x, int n);

будет иметь вид:

double (*fun)(double, int);

 

Пример выполнения работы

Задача. Создать функцию sign для определения знака числа

#include<iostream>

#include<windows>

Using namespace std;

int sign(double x){

if(x>0) return 1;

if(x<0) return -1;

if(x==0) return 0;

}

main(){

Double x;

char rule='y';

system("chcp 1251");

do{

cout<<endl<<"x=";

cin>>x;

if(sign(x)==1) cout<<"x>0";

if(sign(x)==-1) cout<<"x<0";

if(sign(x)==0) cout<<"x=0";

cout<<endl<< "Еще раз?";

cin>>rule;

}while(rule=='Y'||rule=='y');

}

Задания для самостоятельной работы

Вариант 1

1. Дано натуральное число п. Выведите на экран число, которое получится после записи цифр числа п в обратном порядке. Для получения нового числа составьте функцию.

2. Напишите программу, в которой использовалась бы функция Volume,вычисляющая объем цилиндра. Параметрами функции должны быть радиус и высота цилиндра.

 

Вариант 2

1. Напишите программу, которая вычисляет количество сочетаний по формуле:

2.

Вычисление факториала оформить в виде функции.

2. Напишите программу, в которой использовалась бы функция Procent,возвращающая про­цент от заданного числа. В качестве аргументов функции передаются число и значение про­цента, который нужно вычислить.

 

Вариант 3

1. Напишите программу перевода двоичных цифр в эквивалентное целое десятичное число. Сам перевод числа оформите в виде функции.

2. Напишите программу, в которой использовалась бы функция Dohod,вычисляющая доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка (годовых) и срок вклада (количество дней).

Вариант 4

1. Напишите программу перевода шестнадцатеричных цифр в эквивалентное целое десятичное число. Перевод числа оформите в виде функции.

2. Напишите программу, в которой будет использоваться функция Sogl.Эта функция должна возвращать 1, если символ, полученный функцией в качестве аргумента, является согласной буквой английского алфавита, и 0 в противном случае.

 

Вариант 5

1. Напишите программу для подсчета количества цифр в числе (не обязательно целом). Подсчет цифр оформите в виде функции.

2. Напишите программу, в которой использовалась бы функция преобразования Preobrбукв английского алфавита: из прописной буквы — в строчную и наоборот.

 

Вариант 6

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

2. Напишите программу, в которой использовалась бы функция Output, выводящая на экран строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами функции.

 

Вариант 7

1. Напишите программу для решения выражения:

Вычисление факториала оформите в виде функции.

3. Напишите программу, в которой производилось бы вычисление объема и площади поверхности параллелепипеда с помощью соответствующих функций Volume и Square.

 

Вариант 8

1. Напишите программу, которая по заданному натуральному числу определяет количество цифр в нем и их сумму. Определение количества цифр в числе и их сумму оформите в виде функции.

2. Напишите программу, в которой использовалась бы функция Days, выводящая на экран количество дней между двумя датами. В качестве параметров функции должны передаваться две даты.

 

Вариант 9

1. Напишите программу, определяющую наибольший общий делитель (НОД) двух заданных натуральных чисел. Нахождение НОД оформите в виде функции, используя алгоритм Евклида, известный из школьной программы.

2. Напишите программу, в которой использовалась бы функция Chislo, обеспечивающая ввод с клавиатуры символа без его отображения на экране. При нажатии клавиши Enter соответствующий символ должен появляться на экране только в том случае, если этот символ — цифра от 1 до 9.

 

Вариант 10

1. Напишите программу, которая по заданному натуральному числу определяет его первую и последнюю цифры. Определение и вывод цифр оформите в виде функции.

2. Напишите программу с использованием функции Perim. В эту функцию из программы передаются координаты вершин треугольника А(х1, у1), В(х2, у2), С(х3, у3), а она возвращает периметр треугольника. Если такой треугольник не существует, то выдается соответствующее сообщение.

 

Вариант 11

1. Даны натуральные числа n и m. Напишите программу, вычисляющую результат операции сложения двух чисел, образованных k младшими цифрами числа n, и k старшими цифрами числа m.

2. Напишите программу с использованием функции Vistrel, которая, получая из программы координаты точки (х, у), определяла бы, попадает ли точка в заданную на следующем рисунке область.

 

Результат должен выводиться в виде текстового сообщения.

 

Вариант 12

1. Напишите программу для вычисления значения

для n от 12 до 24 с шагом 4. Вычисление факториала оформите в виде функции.

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

Значения х, а, b, с передаются из программы в функцию.

 

Вариант 13

1. Даны натуральные числа n, m и k. Напишите программу, вычисляющую результат сложения двух чисел, образованных к младшими цифрами числа n, и k младшими цифрами числа m.

2. Напишите программу, в которой использовалась бы функция Glasn. Эта функция должна возвращать 1, если символ, полученный функцией в качестве аргумента, является гласной буквой английского алфавита, и 0 в противном случае.

 

Вариант 14

1. Напишите программу, вычисляющую количество простых чисел в заданном интервале. Программу оформите в виде функции.

2. Напишите программу, в которой использовалась бы функция Number. Эта функция должна определить сколько раз целое число m делится на целое n без остатка.

 









Дата добавления: 2015-07-30; просмотров: 1750;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.