Лабораторная работа №3
.docx
Министерство образования и науки Российской федерации
Томский государственный университет систем управления и
радиоэлектроники (ТУСУР)
Лабораторная работа по информационным технологиям:
Лабораторная работа № 4. Подпрограммы.
Вариант 23
Выполнил
Студент заочного
отделения гр. З-66
Шерстюк П.В.
_________
Проверил
Старший преподаватель
кафедры ПРЭ
Савин Д.А.
_________
Томск 2017
Цель работы
Научиться создавать подпрограммы и вызывать их из тела основной функции. Освоить применение оператора return, возвращающего значение функции. Научиться передавать параметры в функцию и корректно возвращать значения – результаты вычислений из функции. Освоить передачу параметров в функцию по значению, по ссылке и по указателю. Научиться создавать прототипы функций, освоить перегрузку функций. Изучить функции библиотеки math.h. Научиться пользоваться средствами пошаговой трассировки кода и просмотра текущих значений переменных.
Задание на лабораторную работу
1. Написать подпрограмму в соответствии со своим вариантом индивидуального задания. Реализовать вызов функции из главной программы и вывод результатов вычисления на экран. Отладить и протестировать программу. В процессе отладки пользоваться средствами пошаговой трассировки кода и окнами просмотра текущих значений переменных (Watch и Locals).
2. Написать прототип функции. Передачу параметров в функцию реализовать тремя изученными методами: по значению, по ссылке и по указателю. Вывести в окно Watch адреса указателей, ссылок и значений переменных, используемых для обращения к параметрам функции.
3. Продемонстрировать в работе использование оператора return, использование прототипа функции и перегрузку функций.
4. В отчете отразить процесс трассировки кода, результаты работы программы, листинг программного кода с комментариями, блок-схему программы.
Вариант индивидуального задания: 23
Написать функцию int f(int h, int m, int s), которая принимает три целых аргумента (часы h, минуты m и секунды s) и возвращает количество секунд, прошедших с начала дня.
Исходный код программы:
// Лабораторная работа №4.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
int f(int h, int m, int s){
return h*3600+m*60+s;}
int f1(int (*h), int (*m), int (*s))
{
return (*h)*3600+(*m)*60+(*s);}
int f2(int (&h), int (&m), int (&s))
{
return h*3600+m*60+s;}
void _tmain(int argc, _TCHAR* argv[])
{
int h,m,s;
cout << "Vvedite h,m,s"<<endl;
cin >> h >> m >> s;
cout<<"Rezultat: " << f(h,m,s)<<endl;
cout << "Vvedite h,m,s"<<endl;
cin >> h >> m >> s;
cout<<"Rezultat: " << f1(&h,&m,&s)<<endl;
cout << "Vvedite h,m,s"<<endl;
cin >> h >> m >> s;
cout<<"Rezultat: " << f2(h,m,s)<<endl;
system ("pause");
}
Результат работы программы
Вывод:
Мы научились передавать параметры в функцию по значению, по указателю и по ссылке.
Научились выводить в окно Watch адреса указателей, ссылок и значений переменных, используемых для обращения к параметрам функции. Отразили процесс трассировки кода, результаты работы программы, листинг программного кода