Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Шаблоны функций

Цель работы

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

–писать шаблоны функций;

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

– знать особенности составления проекта при использовании шаблонов;

–вызывать функцию пользователя из функции main;

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

 

Выполняем задание с использованием готового текста проекта по теме «Функции и матрицы».

 

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

2. Для каждой функции:

Понять, какое данное мы хотим обобщить;

Меняем конкретный тип на параметризованный;

Определить, какие данные в функции связаны с параметризованным данным по типу и у них также заменить тип на параметризованный.

Замечание. В функции можно, при необходимости, вводить несколько параметризованных типов.

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

4. Правильно оформить прототипы функций.

5. Написать функцию main с вызовом функций пользователя для матриц целого и вещественного типа (убедиться в правильности работы шаблона).

6. Создать проект, учитывая его особенности с использованием шаблонов. Выполнить проект.

 

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

 

Задача. Написать функцию-шаблон для вывода двумерного массива на экран.

 

Функция должна выводить двумерный массив любого типа, следовательно, параметризованный тип выражает тип массива

 

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

 

Текст заголовочного файла shablon.h будет выглядеть так:

 

#ifndef SHABLON_H

#define SHABLON_H

 

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

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

#include <iomanip>

 

template <class T> // пишем у каждой параметризованной функции

void OutMas(T*p, int n,int m) {

int i,j;

for (i=0; i<n;i++) {

for (j=0; j<m;j++) {

cout << setw(5) << *(p+i*m+j);

}

cout << endl;

}

return;

}

 

#endif

 

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

 

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

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

#include "shablon.h"

 

int main (void)

{

int A[2][3] = {1,2,3,4,5,6};

double B[3][3] = {1.5,2.6,3.7,4.8};

cout << "\n Целый массив:\n";

OutMas(A[0],2,3);

cout << "\n Дробный массив:\n";

OutMas(B[0],3,3);

return 0;

}

 

 

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

 

1. Что такое шаблон функции?

2. Как определить, какое данное должно выражаться параметризованным типом?

3. Сколько параметризованных типов может быть у шаблона функции?

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

5. Как в таком случае вызывается функция?

6. Как компилятор обрабатывает шаблон функции?

7. Как размещаются шаблоны функций в файлах проекта?

Задание

 

Взять за основу проект по теме «Функции и матрицы». Каждую функцию превратить в шаблон, построить проект и выполнить его для целого и вещественного типа.

 




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


Дата добавления: 2014-11-06; Просмотров: 336; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.