Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторные работы по "Информатике"

Автор:   •  Октябрь 2, 2022  •  Лабораторная работа  •  9,031 Слов (37 Страниц)  •  178 Просмотры

Страница 1 из 37

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

ПРОФЕССИОНАЛЬНОГО ОБРАЗОАВНИЯ

«ПЕРМСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬССКИЙ

ПОЛИТЕХНИЧЕСКИЙ УНИВЕРССИТЕТ»

Кафедра «Информационных технологий и автоматизированных систем»

Лабораторные работы по информатике

(2 семестр)

Вариант 2

Пермь 2017

Лабораторная работа №7

1. Постановка задачи:

1. Написать перегруженные функции и основную программу, которая их вызывает.

а) для сложения вещественных чисел;

б) для сложения комплексных чисел.

2. Написать функцию mult с переменным числом параметров, которая находит произведение чисел типа float. Написать вызывающую функцию main, которая обращается к функции mult не менее трёх раз с количеством параметров 3, 7, 11.

2. Выполнение задачи.

Текст программы № 1.

#include <iostream> /*)*/

//#include <cstdlib> //  заголовок для работы с функцией system()

#include <conio.h>  // библиотека для работы оператора getch ();

#include <clocale>  // заголовок для правильногоотображения языка

#include <math.h>

using namespace std;

double summa_el (double a, double b, double c, double d) {

        a+=b+c+d;

        cout << "\n Произведение вещественных чисел = "<< a << "\n" ;

        return 0;

}

int summa_el(int a, int b, int c, int d) {

        int Z1, Z2;

        Z1=a+c;

        Z2=b+d;

        cout << "\n Произведение комплексных чисел = "<< Z1 <<" + "<< Z2 << "\n";

        return 0;

}

int main() {

        setlocale(LC_CTYPE, "rus"); // вызов функции настройки clocale на русский

        summa_el(1.3432, 3.86806, -4.5447, 4.175468);

        summa_el(14, -78, -120, 25);

        getch(); // Команда задержки экрана

    return 0;

}

Текст программы № 2.

#include <iostream> /

#include <conio.h>  // библиотека для работы оператора getch ();

#include <clocale>  // заголовок для правильногоотображения языка

using namespace std;

//------------- функция с переменным числом параметров -----------------

double mult (double a, ...) {

        double *p = &a; //настройка указателя на параметр "а"

        double b=1;                // определение переменной для хранения произведения

        for (; a!=0; a--) //цикл получения произведения

                b*= *(++p);

        return b;

}

//------------ основная программа ----------------------

int main() {

        setlocale(LC_CTYPE, "rus");

        cout << "\n Функция произведения чисел с переменным числом параметров" << endl;

        cout << "\n 3 чисел (1.5255, 445.444, 0.01) ="

        << mult (3, 1.5255, 445.444, 0.01); // определяем количество параметров "3" и парпраметры

        cout << "\n 7 чисел (5.1, 21.7, 3.2, 0.004, 1.1, 6.1, 9.2) = "

        << mult(7, 5.1, 21.7, 3.2, 0.004, 1.1, 6.1, 9.2);

        cout << "\n 11 чисел (1.2, 2.4, 3.5, 0.5, 6.2, 2.5, 9.02, 0.1, 1.2, 2.2, 11.5) = "

        << mult(11, 1.2, 2.4, 3.5, 0.5, 6.2, 2.5, 9.02, 0.1, 1.2, 2.2, 11.5);

        cout << endl << endl;

        getch(); // Команда задержки экрана

    return 0;

}

4. Результаты работы программы.

5. Объяснение результатов.

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

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

...

Скачать:   txt (36.4 Kb)   pdf (140.5 Kb)   docx (30.6 Kb)  
Продолжить читать еще 36 страниц(ы) »
Доступно только на Essays.club