Розробка програми в С++

Розробка сигналу y(t) на N інтервалів, визначення власної частоти в текстовій формі. Блок-схема завдання. Опис змінних та функцій програми. Інструкція користувачу. Програма: текст та лістинг. Результат роботи програми, його оцінка та методи впливу.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 19.04.2011
Размер файла 22,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

20

Размещено на http://www.allbest.ru/

Завдання

Задано функцію , l=1, T=2,3, f=3.

1. Розбити сигнал y(t) на N інтервалів, визначаючи y(t) на кожнім інтервалі.

2. Визначити власну частоту. Максимальне число гармонік .

3. Для кожного обчислити , .

4. Згідно , обчислити С, ?. Дані записати в текстовий файл.

5. Змінити k на 1: k=k+1 Перейти до пункту 3.

Вимоги до виконання роботи

1. Побудувати у початковий момент і після перетворень Фур'є.

2. У програмі необхідно передбачити виконання операцій за допомогою функцій, що приймають як параметри масиви даних.

3. Дані повинні заноситися в текстові файли.

Вступ

Історія мови С++

Розроблювач мови С++ Берн Страуструп працював над його створенням майже 20 років. Перші роботи з мови С з класами попередникові С++ з'явилися в 1979 році. Основні роботи велися в дослідницькому центрі компанії Bell Labs. Там же був розроблений перший компілятор мови - Cfront. У роботі над мовою брали участь ведучі практики і теоретики програмування. Спочатку мова існувала як академічна, експериментальна, але поступово еволюціонувала у повномасштабну розвинуту мову промислового програмування. У 1997 році був прийнятий міжнародний стандарт С++, що фактично підвів підсумки 20-літнього розвитку.

Нижче приведена коротка хронологія найважливіших етапів розвитку мови.

1979 р. Перша реалізація компілятора мови С з класами - раннього

варіанта С++.

1982 р. Перша публікація по мові С з класами.

1983 р. Поява назви С++. Перша реалізація компілятора Сі++.

1984 р. Перший довідник по мові С++.

1985 р. Компілятор Cfront фірми AT&T версія 1.0 (перша комерційна версія). Вихід книги «The C++ Programming Language» Берна Страуструпа.

1966 р. Перша конференція OOPSLA, що стала головною конференцією по об'єктивно-орієнтовному програмуванню у світі. Перший комерційний перенос компілятора Cfront на персональний комп'ютер.

1987 р. Компілятор Cfront версія 1.2. Перша конференція USENIX, спеціально присвячена мові С++. Поява компілятора GNU C++ (версія 1.13).

1988 р. Випуск компілятора С++ фірмою Oregon Software.

Випуск компілятора С++ фірмою Zortech. Конференція USENIX по реалізації мови С++.

1989 р. Версія 2.0 компілятора Cfront. Організаційні збори комітету ANSI X3J16 по стандартизації мови С++ - початок процесу стандартизації.

1990 р. Випуск компілятора С++ фірмою Borland. Вихід книги «The Annotated C++ Reference Manual» Маларет Элліс і Берна Страуструпа - до появи офіційного стандарту фактичний стандарт мови. Часто її називали просто «Книга» (The Book) або ARM.

1991 р. Вихід другого видання книги «The C++ Programming Language». Перше засідання комітету ISO WG21 по стандартизації мови С++ - перехід від американського національного стандарту до міжнародної стандартизації.

Версія 3.0 компілятора Cfront, у якій реалізовані шаблони.

1992 р. Випуск компілятора С++ фірмою DEC. Випуск компілятора С++ фірмою Microsoft. Випуск компілятора С++ фірмою IBM.

1993 р. Зареєстрований проект стандарту ANSI/ISO.

1994 р. Стандартна бібліотека шаблонів STL включена в проект стандарту мови.

1997 р. Прийнятий стандарт ANSI/ISO мови С++.

Вихід третього видання книги «The C++ Programming Language».

Призначення С++ і області використання мови

Мова С++ - це універсальна мова програмування. ЇЇ попередником була мова Сі, створений Денісом Річі насамперед для операційної системи Unix. Поступово С здобула широке визнання, з'явилися її реалізації для практично всіх операційних систем, і вона стала стандартною мовою системного і багато в чому прикладного програмування. Від Сі мова С++ успадкувала ефективність, необхідну для системного програмування, починаючи від написання драйверів зовнішніх пристроїв до розробки компіляторів і систем керування базами даних.

Сумісність із С обумовили ще одну важливу область застосування С++ - програмування складних графічних користувальних інтерфейсів. Інтерфейс прикладних програм з такими графічними середовищами, як X Window і Microsoft Windows були розроблені, насамперед, для С. З розвитком і поширенням С++ розробка графічних користувальних інтерфейсів перейшла до нього.

До дійсного часу ситуація з використанням різних мов продовжує мінятися. Засобу швидкої розробки графічних інтерфейсів типу Visual Basic, Powerbuilder і т. п. задовольнили істотну частину потреби в розробці простих інтерфейсів. Мова Java останнім часом стала усе більш широко вживатися для розробки інтерфейсів. Проте, С++ дозволяє розробляти найбільш складні програми, оскільки з її допомогою можна використовувати всю міць базового графічного середовища.

Обробка складних структур даних - тексту, бізнес-інформації, графічних образів - ще одна область застосування С++, обумовлена її об'єктно-орієнтовними властивостями. Об'єкти мови відмінно підходять для представлення складних структур даних і маніпуляцій з ними. Для збереження складних структур даних можна використовувати об'єктно-орієнтовані системи керування базами даних, інтерфейси яких знов-таки розраховані на С++.

Побудова розподілених систем, мереж, сполучення різних програм за допомогою таких стандартів, як COM/DCOM, CORBA, ідеально підходить для С++.

Загалом, скрізь, де потрібна високоефективна програма, що працює зі складними структурами даних, природно вибрати мову С++.

Крім ефективності, потужності і виразності мови, перевагою С++ є можливість багаторазового використання програм і модулів. Для кожної з перерахованих областей і багатьох інших, не згаданих тут, мовою С++ можна створити класи і бібліотеки класів, що реалізують функціональність об'єктів даної області.

Наприклад, для обробки текстів можна створити класи для роботи з рядками, словами, параграфами, шрифтами і т.д. Для графічних систем - бібліотеки різних форм, вікон, рухів і т. п. Об'єктна модель обумовлює зручність створення багаторазово використовуваних елементів і, що ще більш істотно, легкість їхньої адаптації до конкретної задачі.

Сказане не означає, що інші мови не мають права на існування. По-перше, існує великий клас задач, для яких саме головне - швидкість розробки, а ефективність, а іноді і навіть надійність, не грають великої ролі. Для їхнього рішення мається велика кількість засобів швидкої розробки графічних інтерфейсів). По-друге, існують спеціалізовані мови у визначених предметних областях. По-третє, для складання програм, що повинні працювати на різних машинах без перекомпіляції (особливо для Інтернету) усе більше використовується Java.

Щоб не витрачати занадто багато місця, скажемо, що існує маса мов програмування, і майже кожна, з яких здатна вирішити поставлену задачу. Вибір залежить від самої задачі, кваліфікації і знань програмістів, інших програм, з якими дана програма взаємодіє й інших факторів.

Опис змінних та функцій програми

Функція main

Кожен файл системи, що виконується С, повинен містити функцію main. Код, що задає тіло функції main, покладається у фігурні дужки {і}.

Загальна структура функції main така:

main()

{

/* Код, що реалізує main */

}

Коментарі

Текст на С, заключений у дужки /* і */, компілятором ігнорується. Коментарі служать двом цілям: документувати код і полегшити налагодження. Якщо програма працює не так, як треба, то іноді виявляється корисним коментувати частина коду, заново скомпілювати програму і виконати її

Директиви Include

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

Використані в програмі директиви:

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<stdlib.h>

Поява директив

#include <файл_1>

#include <файл_2>

#include <файл_n>

приводить до того, що препроцесор підставляє на місце цих директив тексти файлів файл_1, файл_2,…, файл_n відповідно.

Якщо ім'я файлу укладене в кутові дужки <…>, то пошук файлу робиться в спеціальному розділі підставних файлів. На відміну від багатьох інших операторів С директива Include не повинна закінчуватися крапкою з комою.

Типи даних

У С змінні повинні бути описані, а їхній тип специфікований до того, як ці змінні будуть використані.

При описі змінних застосовується префіксний запис, при якому спочатку вказується тип, а потім - ім'я змінної.

Наприклад:

int i=0, j=0;

float a[10], dobutok=1, summa=0, buf;

char v;

і, j - індекси елементів масиву;

dobutok, summa - добуток та сума елементів масиву відповідно, що потрібно знайти;

v - варіант відповіді на поставлене запитання у програмі;

buf - проміжне значення, яке необхідне для розрахунків.

З типом даних пов'язують і набір визначених значень, набір операцій, які можна виконувати над змінною даного типу. Змінні можна ініціалізувати у місці їхніх описів.

Оператор printf

Функцію printf можна використовувати для виведення будь-якої комбінації символів, цілих і дійсних чисел, рядків, без знакових цілих, довгих цілих і без знакових довгих цілих.

Приклад:

printf («\n Summa=%.2f», summa);

Послідовність символів «\n» переводить курсор на новий рядок.

Послідовність символів «Summa=» буде виведена з початку нового рядка. Символи%.2f - це специфікація для дійсного змінного summa, а також вказівка формату для виведення тільки двох цифр після десяткової крапки.

Оператор scanf

Оператор scanf є однією з багатьох функцій введення, що є в зовнішніх бібліотеках.

Кожній функції, що вводиться, змінної в рядку scanf повинна відповідати специфікація. Перед іменами змінних необхідно залишити символ &. Цей символ означає «взяти адресу».

Приклад:

scanf («%f»,&a[i]);

Функція getch() використовується для введення с клавіатури одиночного символу без відображення його на екрані. В даній програмі - це введення варіанту відповіді на питання

Прийнято групувати всі оператори в наступні класи: присвоювання, виклик функції, розгалуження і циклу.

Операції присвоювання

До операцій присвоювання відносяться =, +=, -=, *= і /=. Всі операції присвоювання привласнюють змінній результат обчислення виразу. Якщо тип лівої частини присвоювання відрізняється від типу правої частини, то тип правої частини приводиться до типу лівої. В одному операторі операція присвоювання може зустрічатися кілька разів.

Операції ++ і - використовують для збільшення (інкремент) і зменшення (декремент) на одиницю значення змінної.

Оператори розгалуження

До операторів розгалуження відносяться if, if else,?, switch і go to. Загальний вид операторів розгалуження наступний:

if (логічне вираз)

оператор;

або

if (логічне вираз)

оператор1;

else

оператор2;

Якщо значення логічного виразу є істиною, то обчислюється оператор 1, у противному випадку обчислюється оператор 2.

Оператор циклу

У С маються наступні конструкції, що дозволяють програмувати цикли: while, do while і for. Їхню структуру можна описати таким способом:

while (логічний вираз)

оператор;

Цикл із перевіркою умови вгорі.

do

оператор;

while (логічний вираз);

Цикл із перевіркою умови внизу.

for (ініціалізація, перевірка, нове значення)

оператор;

Масиви - це набір об'єктів однакового типу, доступ до яких здійснюється прямо по індексу в масиві. Звертання до масивів у С здійснюється за допомогою покажчиків.

Масиви можна описувати таким способом:

Тип даних ім'я масиву [розмір масиву];

або float a[10];

Використовуючи ім'я масиву й індекс, можна адресуватися до елементів масиву:

ім'я масиву [значення індексу]

Значення індексу повинно лежати в діапазоні від нуля до величини, на одиницю меншої, ніж розмір масиву, зазначений при його описі.

Інструкція користувачу

Для того, щоб запустити мову програмування С++, потрібно в програмній папці С++ відшукати папку bin, а потім запустити файл exe для C++.

Для виклику головного меню варто натиснути ALT - пробіл. При виклику цього меню відображаються команди:

Меню File (ALT+F)

Це меню дозволяє відкривати у вікнах EDIT і створювати вихідні файли програм, зберігати внесені зміни, виконувати інші дії над файлами, виходити в оболонку DOS і завершувати роботу з C++.

Open(F3)

Команда FILE OPEN відображає блок діалогу, у якому вибирається вихідний файл програми, що буде відкритий у вікні.

Цей блок діалогу містить блок уведення, список файлів, і кнопки OPEN, REPLACE, CANCEL і HELP, а також інформаційну панель.

Тут можна виконати одну з дій:

1) Ввести повне ім'я файлу і вибрати покажчик REPLACE або OPEN.

У результаті вибору Open файл завантажується в нове вікно Edit. Для вибору Replace повинне матися активне вікно Edit; у результаті виконання Replace уміст вікна заміняється обраним файлом.

2) Ввести ім'я файлу з метасимволами. Це дозволяє відфільтрувати список файлів у відповідності зі специфікацією.

Натиснути (, щоб вибрати специфікацію файлу зі списку передісторії, що містить введені раніше специфікації файлів.

3) Переглянути вміст інших каталогів, вибравши ім'я каталогу зі списку файлів.

Блок введення дозволяє явно ввести ім'я файлу або ввести ім'я файлу з метасимволами DOS (* і?). Якщо ввести ім'я цілком і натиснути Enter, C++ відкриє зазначений файл. (Якщо ввести ім'я файлу, що система C++ не може знайти, вона автоматично створить і відкриє новий файл із таким ім'ям.)

Для того, щоб відкрити дану програму необхідно вибрати файл з ім'ям: ODZ_48.CPP.

New

Команда File New дозволяє відкривати нове вікно Edit зі стандартним ім'ям NONAMExx. З (де замість букв хх задається число в діапазоні від 00 до 99). Файли з ім'ям NONAME використовуються як тимчасовий буфер для редагування; коли файл із подібним ім'ям зберігається на диску, C++ запитує дійсне ім'я файлу.

Save (F2)

Команда File Save записує на диск файл, що знаходиться в активному вікні Edit (якщо активно вікно Edit у даний момент, якщо ні, те даним елементом меню не можна скористатися.) Якщо файл має використане за замовчуванням ім'я (NONAMEOO.C і т. п.) С++ відкриє блок діалогу Save Editor File, що дозволяє перейменувати даний файл і зберігати його в іншому каталозі.

Копіювати програму на дискету потрібно тільки через Windows або Far, і ні в якому разі не через С++.

Save As

Команда File Save As дозволяє зберегти файл в активному вікні Edit під іншим ім'ям, в іншому каталозі.

Print

Команда File Print друкує вміст активного вікна Edit C++ «розкриває» символи табуляції (заміняє їхнім відповідним числом пробілів), а потім посилає файл на пристрій печатки, заданий у DOS. Дана команда буде «заборонена», якщо вміст активного вікна не може бути виведене на печатку. Для виводу на печатку тільки виділеного тексту варто використовувати Ctrl-K P.

Quit (Alt-x)

Команда File Quit здійснює вихід із системи C++, видаляє неї з пам'яті і передає керування DOS. Якщо внесені зміни, що ще не були збережені, то перед виходом C++ видасть запит на їхнє збереження.

Меню Edit (Alt-E)

Дозволяє виконувати видалення, копіювання і вставку тексту у вікнах Edit. Можна також відкрити вікно текстового буфера для перегляду або редагування його вмісту. Вибрати текст це значить виділити його кольором:

Меню Search (Alt-S)

Меню Search виконує пошук тексту, оголошень функцій, а також місце розташування помилок у файлах. Команда Search Find відображає блок діалогу Find, що дозволяє ввести зразок пошуку і задати параметри, що впливають на процес пошуку. Ця команда може бути також викликана за допомогою (Ctrl Q F).

Меню Run (Alt-R)

Команди цього меню виконують програму, а також ініціюють і завершують сеанс налагодження.

Run (Ctrl-F9)

Команда Run виконує програму, використовуючи ті аргументи, що передані програмі за допомогою команди Run Arguments.

Для того., щоб переглянути результат виконаної програми необхідно натиснути Alt+F5.

Тrace Into(F7)

Ця команда виконує програму по операторах. По досягненню виклику функції буде виконуватися кожен її оператор замість того, щоб виконати цю функцію за один крок. Цією командою варто користуватися для переміщення виконання у функцію, що викликається з відлажованої функції.

Program Reset (Ctrl-F2)

Команда Run Program Reset припиняє поточний сеанс налагодження, звільняє пам'ять програми і закриває усі відкриті файли, що використовувалися в програмі.

Over

Команда Run Step Over виконує наступний оператор у поточній функції без входження у функції більш низького рівня, навіть якщо ці функції доступні відладчику. Командою Step Over варто користуватися у випадках, коли необхідно налагодити функцію в пооператорному режимі виконання без входження в інші функції.

Arguments

Команда Run Arguments дозволяє задати виконуваній програмі аргументи командного рядка точно так само, як якби вони вводилися в командному рядку DOS. Команди перепризначення введення / висновку DOS будуть ігноруватися.

Compile (C)

Команди з меню Compile використовуються для компіляції програми в активному вікні, а також для повної або виборчої компіляції проекту:

EXE File

Команда Compile Make EXE File викликає Менеджер проектів для створення EXE-файлу.

Меню Options (Alt-O)

Меню Oрtions містить команди, що дозволяють переглядати і модифікувати стандартні параметри, що визначають функціонування C++.

Програма

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<stdlib.h>

void main()

{

randomize();

clrscr();

int i=0, j=0; /*Opisivanie peremennih v programme*/

float a[10], dobutok=1, summa=0, buf;

char v;

/*Nachalo vvedeniya elementov massiva*/

printf («\n Viberite sposob vvedeniya elementov massiva:»);

printf («\n1-Vruchnuu»);

printf («\n2-Avtomatichno»);

while (v!='1' && v!='2')

{

v=getch();

}

printf («\n\n Nachalniy massiv:»);

for (i=0; i<10; i++)

{

if (v=='1')

{

printf («\n Vvedite element masiva a[%i]=», i+1);

scanf («%f»,&a[i]); /*Vvod elementov massiva polzovatelem*/

}

else

{

a[i]=random(201) - 100.25; /*Vvod elementov massiva programmoy avtomatichno*/

printf («%.f», a[i]);

}

}

/*Nahogdenie dobutka elementov massiva po zadaniyu*/

for (i=1; i<10; i++)

{

dobutok=dobutok*a[i];

i=i+1;

}

/*Nahogdenie summy elementov massiva po zadaniyu*/

for (i=0; i<10; i++)

{

if (a[i]==0)

do

{

summa=summa+a[i];

i=i+1;

if (a[i]==0) goto m1;

}

while (i<10);

}

/*Otsortirovka massiva po zadaniyu*/

m1: for (i=8; i>=0; i-)

{

for (j=i; j<9; j++)

{

if (a[j]<a [j+1])

{

buf=a[j]; a[j]=a [j+1]; a [j+1]=buf;

}

}

}

/*Vivod rezultatov*/

printf («\n\n -»);

printf («\n\n\n Otvet:»);

printf («\n Summa=%.2f», summa);

printf («\n Dobutok=%.2f», dobutok);

printf («\n Otsortirovaniy massiv:»);

for (i=0; i<10; i++)

printf («%.f», a[i]);

getch();

}

Результат роботи програми

Viberite sposob vvedeniya elementov massiva:

1 - Vruchnuu

2 - Avtomatichno

1

Vvedite element massiva a[1]=2.89

Vvedite element massiva a[2]=-56.45

Vvedite element massiva a[3]=0

Vvedite element massiva a[4]=5456

Vvedite element massiva a[5]=33.4

Vvedite element massiva a[6]=-46

Vvedite element massiva a[7]=0

Vvedite element massiva a[8]=1.1

Vvedite element massiva a[9]=5.45

Vvedite element massiva a[10]=-9.1

-

Otvet:

Summa=5443.40

Dobutok=-141817648.00

Otsortirovaniy massiv: 5456 33.4 5.45 2.89 1.1 0 0 -9.1 -46 -56.45

2

Nachalniy massiv: 55.75 16.75 70.75 -64.25 11.75 89.75 -32.25 -68.25 -90.25 -42.25

-

Otvet:

Summa=0.00

Dobutok=-278517056.00

Otsortirovaniy massiv: 89.75 70.75 55.75 16.75 11.75 -32.25 -42.25 -64.25

-68.25 -90.25

Висновок по роботі

На практичній роботі я більш детально познайомився з мовою програмування С++ та її користувальницьким середовищем. Опрацював основні оператори та функції мови С++. Свої досягнення у вивченні цього я застосував до своєї програми.

За допомогою моєї програми можна обчислити добуток елементів одновимірного масиву з парними індексами, а також суму елементів масиву, які знаходяться між першим та останнім нульовими елементами.

Програма також може відсортувати масив таким чином, щоб спочатку містилися всі позитивні елементи, а потім - всі негативні.

Список використаних джерел

програма лістинг частота інтервал

М. Уейт, С. Прата, Д. Мартін Мова Сі: Пер. з англ.-М.: Мир, 1988. - 463 с.

Уїнер Р. Мова Турбо Сі: Пер. з англ.-М.: Мир, 1991. - 384 с.

Беррі Р., Мікінз Б. Мова Сі: введення для програмістів: Пер. з англ.-М.:Фінанси і статистика, 1988.

TURBO C++. Borland International. Inc. 1990.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [1,8 M], добавлен 24.02.2014

  • Побудування блок-схеми рішення завдання зі знайдення центра ваги однорідної усіченої призми. Розробка програми за допомогою язика програмування C++, опис змінних та функцій програми та загальної математичної моделі. Розробка інструкції користувача.

    курсовая работа [1,1 M], добавлен 04.01.2012

  • Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.

    курсовая работа [3,4 M], добавлен 17.11.2014

  • Розробка та схема алгоритму проектованої гри. Особливості мови програмування та середовища "Microsoft Visual Studio C++ 2008 Express Edition". Лістинг програми та загальний опис її роботи, аналіз отриманих результатів та оцінка практичної ефективності.

    курсовая работа [762,8 K], добавлен 03.05.2015

  • Призначення драйверів та порядок роботи з драйверами в MS-DOS. Розробка драйверів консолі. Структура драйвера та призначення компонентів. Розробка структури алгоритму, програми налагодження драйвера. Опис змінних програми та роботи модулів програми.

    курсовая работа [1,0 M], добавлен 22.06.2012

  • Теоретичні відомості про язик С++. Розробка програми, що виконує основні арифметичні дії над простими та складними числами на язику С++. Опис алгоритму програми та її код. Інструкція по користуванню. Обгрунтовування вибору та складу технічних засобів.

    курсовая работа [852,8 K], добавлен 30.11.2011

  • Аналіз теоретичної бази методів інтерполювання функцій. Розробка алгоритмів та вибір оптимального. Приклад програми інтерполювання функції за допомогою інтерполяційного многочлена Лагранжа: інструкція користувача, опис, тестування та лістинг програми.

    курсовая работа [1,0 M], добавлен 19.09.2013

  • Розробка інтерфейсу програми "Автоматизована інформаційна система автошколи". Вибір архітектури, характеристика користувача. Генерація, проектування схеми бази даних, детальне програмування. Розробка структури таблиць. Лістинг програми, результат роботи.

    курсовая работа [2,7 M], добавлен 11.09.2015

  • Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Варіантний аналіз та вибір методів розв’язування, основні поняття та визначення, особливості розробки баз даних. Описовий алгоритм головної програми та її структури, опис авторської заставки. Структура модулів та опис функцій, лістинг програми.

    курсовая работа [2,6 M], добавлен 30.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.