Примеры написания программ

Порядок написания программы

Функции с одним результатом

Цель работы

1. Научиться:

–писать программу, состоящую из нескольких функций;

– правильно оформлять функцию пользователя с одним результатом;

– писать прототип функции пользователя;

–вызывать функцию пользователя, передавая текущие значения аргументов из функции main;

–размещать текст программы в соответствующих файлах проекта.

2. Составить, выполнить и протестировать указанную задачу с помощью компьютера.

 

 

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

2. Провести анализ характеристик функции:

Дать название функции;

Выделить список исходных данных функции, определить их типы;

Определить тип результата функции, передаваемого с помощью оператора return.

3. Написать текст функции пользователя.

4. Написать прототип функции.

5. Написать функцию main. с вызовом функции пользователя.

6. Создать проект из двух файлов с расширением cpp (для функции пользователя и main), и один заголовочный файл с расширением h. Выполнить проект.

 

 

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

Анализ решения задачи. Определим основные характеристики функции, отвечая на следующие вопросы:

ü Придумайте имя функции: AreaOfRectangle

ü Определите список параметров: придумайте имена параметров, определите их типы и порядок их следования. Следует помнить, что параметры функции – это ее исходные данные. В нашей задаче: для определения площади прямоугольника следует знать высоту и ширину прямоугольника – значит два параметра. Высота и ширина – это длины, длина может выражаться целым и дробным числом, выбираем типы параметров – double. Порядок следования – пусть сначала ширина (имя параметра a), а затем высота (имя параметра b).

ü Определить тип функции, который выражается типом результата: результат площадь, она выражается дробным числом, значит тип функции – double.

После этого мы можем написать прототип функции и функцию main, в которой и будет вызываться функция AreaOfRectangle.

 

Примечание. Вызов функции Rus перед строками-константами с русским текстом осуществляйте самостоятельно.

 

Программа будет строиться в виде проекта.

Текст функции mainбудет выглядеть так:

//содержимое файла main.cpp

#include<iostream> //подключение системных средств для

using namespace std; //возможности использовать потоки ввода-вывода

#include "Rus.h" //прототип функции русификации

double AreaOfRectangle (double a, double b); //прототип функции

int main(void)

{

double A, B, S; //данные для вызова функции, могут быть названы

//произвольно (не обязательно как параметры)

cout<<"\nВведите ширину прямоугольника ";

cin>>A;

cout<<"Введите высоту прямоугольника";

cin>>B;

S= AreaOfRectangle(A, B); //вызов функции

cout<< "Площадь прямоугольника равна "<< S<<endl;

return;

}

Текст функции пользователябудет выглядеть так:

//имя самой функции должно в точности совпадать с прототипом

double AreaOfRectangle (double a, double b)

{

double area; // объявили вспомогательные переменные

area=a*b; //параметры считаем известными величинами

return area; //завершаем функцию и передаем результат из area.

}

Контрольные вопросы и задания

 

1. По каким правилам пишется функция пользователя?

2. Какую роль для функции играют параметры?

3. Как используются параметры внутри функции?

4. Можно ли внутри функции пользователя объявлять переменные? Для каких целей?

5. Правила написания оператора return в зависимости от типа функции.

6. Как пишется прототип функции? Где в программе его следует размещать, и для чего он нужен?

7. Как и где пишется оператор вызова функции? Что такое аргументы функции, как и где они пишутся?

8. Напишите прототипы и операторы вызова функций для нескольких вариантов из задания.

9. Должны ли иметь одно имя параметры и аргументы? Как связаны между собой эти понятия?

10. Для наилучшего освоения темы выполните варианты 4, 11, 12.

 

Задание

 

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

 

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

 

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

 

Вариант 3.Написать программу с функцией, определяющей, является ли символ маленькой латинской буквой.

 

Вариант 4. Известны координаты четырех точек на плоскости, представляющие собой вершины выпуклого четырехугольника. Определить, можно ли вписать в него окружность (суммы длин противоположных сторон для этого должны быть равны). Программа должна содержать одну функцию, вычисляющую расстояние между двумя точками на плоскости.

 

Вариант 5.Написать программу с функцией, округляющей дробное число до n знаков после запятой.

 

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

 

Вариант 7.Написать программу с функцией, вычисляющей N!=1*2*3*4*…*N.

 

Вариант 8.Написать программу с функцией, определяющей является число простым.

 

Вариант 9.Написать программу с функцией, определяющей сумму цифр в целом числе.

 

Вариант 10.Написать программу с функцией, определяющей максимальную цифру в числе.

 

Вариант 11.Написать программу с функцией, определяющей наибольшее целое k, при котором для любого целого числа m, большего 1, выполняется неравенство Lk < m. Например, 43 < 65, причем 3 – наибольший показатель степени.

 

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

 

Вариант 13.Для создания финансовой пирамиды ее организатор привлекает N участников, каждый из которых в свою очередь также привлекает по N участников.

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

 

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

 

Вариант 15.Написать программу с функцией, вычисляющей sin(x)как сумму

x – x3/3! + x5/5! – x7/7! + x9/9! - …

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

 

Лабораторная работа 11