Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

CMP sum(CMP com1, CMP com2)




{CMP tmpc;

 tmpc.real=com1.real+com2.real;

 tmpc.imag=com1.imag+com2.imag;

 return tmpc;}

//файл sub.cpp

#include "complex.h"

CMP sub(CMP com1, CMP com2)

{CMP tmpc;

 tmpc.real=com1.real-com2.real;

 tmpc.imag=com1.imag-com2.imag;

 return tmpc;}

//файл test.cpp

#include <stdio.h>

#include "complex.h"

Int main()

{CMP a, b, c;

 a.real=4; a.imag=5;

 b.real=1; b.imag=3;

 c=sum(a,b);

 printf("%.2f%+.2fi\n",c.real,c.imag);

 c=sub(a,b);

 printf("%.2f%+.2fi\n",c.real,c.imag);

 return 0;}

Завдання до програми 6.1 За допомогою проекту створіть багатофайлову програму із приведених вище файлів і випробуйте його. Розробіть ще три файли для роботи з комплексними числами. Перший файл повинний містити функцію множення комплексних чисел, другий – ділення, а третій – функцію виведення на екран комплексних чисел. Додайте усі ці файли в проект та перевірте всі операції з комплексними числами. Для довідки:

, , ,

.

Програма 6.2.Створіть бібліотеку complex.lib на основі функ­цій, розроблених у попередній програмі. Розробіть тестові програми для перевірки працездатності цієї бібліотеки. Покажіть викладачеві вміння створювати бібліотеку в IDE Borland C++ і за допомогою утиліти tlib.exe.

Програма 6.3.Створіть із декількох файлів програму, користаючись способом багатофайлової компіляції.

Програма повинна обчислювати визначений інтеграл від функції на заданому інтервалі методом трапецій.

Метод трапецій:

 ,

де h=(b-a)/n; y0=f(a), y1=f(a+h), … , yn=f(b) .

Функція для інтегрування і підінтегральна функція повинні бути оформлені у вигляді окремих модулів (файлів). Прототипи підінтег­ральної функції й функції для інтегрування повинні мати вигляд:

double func(double x); // x – аргумент функції

typedef double (*PF)(double);//визначення типу покажчика на функцію

double integ(PF pf,double a,double b,int n);

де a і b – границі інтервалу [a,b]; n – кількість ділянок, на які розбива­ється інтервал [a, b]; pf – покажчик на підінтегральну функцію.

Обчисліть інтеграл від функції  f(x)=x2 на інтервалі [1.5, 4.0] при n=100. Обчисліть інтеграл від функції f(x)=3x2–0.5x+1 на інтервалі [1.0, 2.0] при n=50. Результати повірте за допомогою математичного пакета Mathcad або безпосереднім обчисленням.



Контрольні питання до лабораторної роботи № 6

1. Як створити програму з декількох файлів без використання проекту?

2. У чому призначення заголовних файлів?

3. У чому відмінність описів змінних і функцій від їхніх визначень?

4. Як у модулі (файлі) одержати доступ до змінної, визначеної в іншому модулі (файлі)?

5. Як у модулі (файлі) одержати доступ до функції, визначеної в іншому модулі (файлі)?

6. Як створити власний бібліотечний файл і використовувати його в програмі?

7. Чи можна файл із функцією main() включати в бібліотечний файл?

8. Приведіть правила та приклад використання утиліти tlib.exe.



Література

1. Подбельский В.В. Практикум по программированию на языке Си: Учебн. пособие. – М.: Финансы и статистика, 2004. – 576 с.

2. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебн. пособие. – 2-е изд.,– М.: Финансы и статистика, 2002. – 600с.

3. Павловская Т.А. С/С++. Программирование на языке высокого уровня. СПб: Питер, 2003. – 461 с.

4. Березин Б.И., Березин С.Б. Начальный курс С и С++. – М.: ДИА­ЛОГ-МИФИ, 2002. – 288 с.

5. Уильям Топп, Уильям Форд. Структуры данных в С++. / Пер. с англ. – М.: ЗАО “Издательство БИНОМ”, 1999. – 816с.: ил.

6. Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++. Практикум: Учебное пособие для вузов / А.В. Крячков, И.В. Сухинина, В.К. Томшин. – 2-е изд., исправ. – М.: Гарячая линия.-Телеком, 2000. – 344с.

7. Крупник А. Изучаем Си. – СПб.: Питер, – 2001. – 256с.

8. С/С++. Структурное программирование. Практикум / Т.А. Павлов­ская, Ю.А. Щупак. – СПб.: Питер, 2002. – 240с.

9. Культин Н.Б. С /С++ в задачах и примерах.- СПб.: БХВ: Петер­бург, 2001. – 288с.

10. Х.М. Дейтел, П.Дж. Дейтел. Как программировать на С++. – 5-е изд. / Пер. с англ. – М.: ООО "Бином-Пресс", 2008.– 1456 с.

11. Шилдт, Герберт. Полный справочник по С++. – 4-е изд. / Пер. с англ. – М.: Вильямс, 2008. – 800 с.










Последнее изменение этой страницы: 2018-04-12; просмотров: 256.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...