Розробка додатку "Калькулятор"

Правило перекладу цілих чисел з різних систем числення в будь-яку іншу. Правило переходу правильних десяткових дробів. Розробка інтерфейсу користувача. Алгоритмізація і програмування рішення задачі. Налагодження і тестування програми "Калькулятор".

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

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

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

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

Завдання на виконання курсової роботи

Розробити додаток «Калькулятор», що виконує зазначені операції для заданих вихідних даних. Програма повинна виконувати: введення даних, перевірку правильності введених даних, видачу відповідних повідомлень у разі виникнення помилок.

Вид даних, оброблюваних калькулятором: речові числа в різних системах числення (СЧ). Підстави систем числення взяти наступні: 2, 8, 10, 16.

Операції, що виконуються калькулятором: переклад чисел з однієї системи числення в будь-яку іншу. Зразок програми - системний калькулятор.

Реферат

Об'єктом розробки було додаток, що виконує переклад чисел з однієї системи числення в іншу.

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

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

Цей додаток розроблено в середовищі Delphi.

Програма служить для переведення чисел із систем числення з основою 2, 8, 10, 16. Для того щоб програма працювала і виконувала відповідні функції, комп'ютер повинен мати певні технічні засоби, а саме:

1) Windows 7/2000/Xp

2) Процесор не нижче PENTIUM 2400

3) ОП 64 мб

Зміст

Перелік умовних позначень, символів, одиниць, скорочень і термінів

Введення

1. Постановка завдання

2. Математичний опис задачі

2.1 Правило перекладу цілих чисел з різних СЧ в будь-яку іншу позиційну СЧ

2.2 Правило переходу правильних десяткових дробів в будь-які інші позиційні СЧ

2.3 Загальний алгоритм переведення чисел різних систем числення

3. Розробка інтерфейсу користувача

4. Алгоритмізація і програмування рішення задачі

4.1 Схема алгоритму рішення задачі

4.2 Лістинг програми

5. Налагодження і тестування програми

6. Інструкція користувача програми

Висновки та рекомендації

Список використаної літератури

система числення калькулятор програмування

Перелік умовних позначень, символів, одиниць, скорочень і термінів

Алгоритм - набір інструкцій, що описують порядок дій виконавця для досягнення результату рішення завдання за кінцеве число дій.

Система числення (СЧ) - це сукупність прийомів і правил, за якими числа записуються і читаються.

Введення

Програмування - процес створення комп'ютерних програм.

Програмування для ЕОМ грунтується на використанні мов програмування, на яких записується програма. Щоб програма могла бути зрозуміла і виконана ЕОМ, потрібен спеціальний інструмент - транслятор.

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

В основі середовища Delphi лежить однойменний мову програмування - Delphi, раніше відомий як Object Pascal. При розробці програми середу Delphi виконує свою частину роботи - створює користувальницький інтерфейс згідно вашому дизайну, а ви виконуєте свою частину - пишіть обробники подій на мові Delphi. Обсяг вашої роботи залежить від програми: чим складніше алгоритм, тим важче ваша праця. Необхідно заздалегідь засвоїти, що неможливо змусити засіб розробки робити всю роботу за вас. Деякі завдання середу Delphi дійсно повністю бере на себе, наприклад створення найпростішої програми для перегляду бази даних. Однак більшість завдань не вписуються в стандартні схеми - вам можуть знадобитися спеціалізовані компоненти, яких немає в палітрі компонентів, або для завдання може не виявитися готового рішення, і ви змушені будете вирішувати її старим дідівським способом - за допомогою операторів мови Delphi. Тому ми настійно рекомендуємо вам не ігнорувати цю главу, оскільки на практиці ви не уникнете програмування. Ми вирішили викласти мову в одній главі, не розмазуючи його по всій книзі, щоб дати вам фундаментальні знання і забезпечити швидкий доступ до потрібної інформації при використанні книги в якості довідника.

1. Постановка завдання

Необхідно реалізувати калькулятор, що дозволяє здійснювати наступні операції:

- переклад з вісімковій в двійкову, десяткову, шістнадцяткову систему числення;

- перевірка правильності введення даних;

- вивід повідомлення про відповідних помилках;

- контроль вводяться користувачем даних, тобто перевірка того, чи не перевищує розмір вихідного числа розрядної сітки;

Вихідні дані будуть являти собою число в вісімковій сс. Також користувач вибирає напрямок перекладу.

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

2. Математичний опис задачі

Система числення - символічний метод запису чисел, представлення чисел за допомогою письмових знаків.

Для початку проведемо межу між числом і цифрою:

-Число - це деяка абстрактна сутність для опису кількості.

-Цифри - це знаки, які використовуються для запису чисел

Таблиця 2.1 - Найбільш поширені СЧ і їх символи

Двійкова

0,1

Десяткова

0,1,2,3,4,5,6,7,8,9

Шістнадцяткова

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Вісімкова

0,1,2,3,4,5,6,7

Числа в різних системах числення можна представити таким чином:

А(S)=anSn+ an-1Sn-1+…+ a1S1+ a0S0 + a-1S-1 +…+ a-mSm=bkRk+ bk-1Rk-1+…+b1R1+ b0R0+ b-1R-1+…+ b-lRl=A(R)

Переклад чисел з однієї системи числення в іншу складає важливу частину машинної арифметики. Розглянемо основні правила перекладу.

2.1 Правило перекладу цілих чисел з різних СЧ в будь-яку іншу позиційну СЧ

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

Рис.2.1-Приклад перекладу числа 75 з 10 системи в 2, 8, 16:

Відповідь: 7510 = 1 001 0112 = 1138 = 4B16.

2.2 Правило перекладу правильних десяткових дробів в будь-які інші позиційні системи числення

Для перекладу правильної десятковій дpобі F в систему числення з основою P необхідно дробову частину F помножити на P, записане в тій же десятковій системі, потім дробову частину отриманого твори знову помножити на P, і т. д., до тих пір, поки дpобная частина чергового пpоизведения не стане pавной нулю, або не буде досягнута необхідна точність зображення числа F в P-ічной системі. Поданням дробової частини числа F в новій системі числення буде послідовність цілих частин отриманих творів, записаних в порядку їх отримання і зображених однієї P-ічной цифрою.

Якщо необхідна точність перекладу числа F становить k знаків після коми, то гранична абсолютна похибка при цьому дорівнює q - (k +1) / 2.

Рис 2.2 - Приклад перекладу числа 0,36 з десяткової системи в двійкову, вісімкову і шістнадцяткову:

2.3 Загальний алгоритм переведення чисел різних систем числення

1. Розбити цілу частину числа справа наліво, а дробову частину зліва направо на групи по n цифр.

2. При необхідності додати ліворуч і праворуч від числа незначущий нулі.

3. Кожне получившееся n-значне число замінити цифрою

4. Pn системи числення.

Приклад 1:

Переведемо з двійкової в 4-річно систему числення (n = 2):

101101011,100111012 = 1 01 10 10 11, 10 01 11 01=11223,21314

101101011,10000111012 = 1 0110 1011, 1000 0111 01002 = 16B,87416

Якщо навпаки, то кожну цифру шуканого числа замінити n-розрядним числом в новій системі числення

Приклад 2:

35A,1716 = 3 5 A, 1 716 = 03 11 22, 01 134

35A,1716 = 3 5 A, 1 716 = 001101011010,000101112 = 1101011010,000101112

3. Розробка інтерфейсу користувача

Будь-яка система числення, призначена для практичного використання, повинна забезпечувати:

1) можливість представлення будь-якого числа в заданому діапазоні чисел;

2) однозначність подання;

3) стислість і простоту запису чисел;

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

Для того щоб створити інтерфейс калькулятора, що дозволяє без жодних ускладнень переводити числа в різні СЧ, необхідно задіяти наступні компоненти:кнопки (Button) для введення цифр, символів шістнадцятковій системи числення, а також для видалення невірно введеної інформації;

- поле виводу (MaskEdit) для виведення результатів проведених операцій;

- список вибору (RadioGroup) для перемикання напрямку перекладу з однієї системи числення в іншу.

Полученный интерфейс показан на рисунке 3.1.

Малюнок 3.1 - Розроблений інтерфейс калькулятора

4. Алгоритмізація і програмування рішення задачі

4.1 Загальна схема алгоритму програми

Одна з основних процедур додатки - процедура переведення чисел з однієї системи числення в іншу. Алгоритм цієї процедури наведено на рис. 4.2, 4.3.

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

Малюнок 4.1 - Алгоритм рішення задачі переведення чисел з однієї СЧ в іншу

4.2 Лістинг програми

unit uMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls

,Math;

type

TfrmMain = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

edSrcBase: TEdit;

edSrcNum: TEdit;

edTrgPrecision: TEdit;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

btnTransform: TButton;

edTrgBase: TEdit;

edTrgNum: TEdit;

procedure btnTransformClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMain: TfrmMain;

implementation

uses StrUtils;

{$R *.dfm}

//Визначаєякацифравідповідаєчислу.

Продовження лістингу програми:

functionIntToDigit(aNum : Byte) : String;

const

SelfName : String = 'IntToDigit.';

begin

case aNum of

0..9 : Result := IntToStr(aNum);

10 : Result := 'A';

11 : Result := 'B';

12 : Result := 'C';

13 : Result := 'D';

14 : Result := 'E';

15 : Result := 'F';

else

Raise Exception.Create(SelfName + ' Числунезіставлена ??цифра!');

end;

end;

//Визначаєякечисловідповідаєцифрі.

function DigitToInt(aDigit : AnsiChar; aBase : Byte) : Byte;

const

SelfName : String = 'DigitToInt.';

begin

if aBase < 2 then

Raise Exception.Create(SelfName + ' Основасистемичисленнямаєбути>= 2!')

;

case aDigit of

'0'..'9' : Result := StrToInt(aDigit);

'A', 'a' : Result := 10;

'B', 'b' : Result := 11;

'C', 'c' : Result := 12;

'D', 'd' : Result := 13;

'E', 'e' : Result := 14;

'F', 'f' : Result := 15;

else

Raise Exception.Create(SelfName + ' Невідомийсимволвпредставленнічисла!');

end;

if Result > aBase - 1 then

Raise Exception.Create(SelfName + ' Уданійсистемічисленнянемаєтакоїцифри!')

;

end;

// За записом числа всистемі числення з основою aBase, визначає саме це число.

function XcimalStrToNumber(aStrXcimal : String; aBase : Byte) : Extended;

const

SelfName : String = 'XcimalStrToNumber.';

var

i, j : Integer;

StrInt : String;

StrFrac : String;

Pos1 : Integer;

Продовження лістингу програми:

IntPart : Extended;

FracPart : Extended;

begin

if Length(aStrXcimal) = 0 then

Raise Exception.Create(SelfName + ' Незаданочисло!')

;

// Шукаємо десяткову крапку. Вона у нас позначається знаком кома: ','.

Pos1 := Pos(',', aStrXcimal);

// Визначаємо підрядок із записом цілої частини числа

// і підрядок із записом дробової частини.

if Pos1 = 0 then begin

//Значить число складається тільки з цілої частини.

StrInt := aStrXcimal;

StrFrac := '';

end else begin

// Число має цілу і дробову частину.

StrInt := LeftStr(aStrXcimal, Pos1 - 1);

StrFrac := Copy(aStrXcimal, Pos1 + 1, Length(aStrXcimal) - Pos1);

end;

// Визначаємо значення цілої частини числа.

IntPart := 0;

for i := 1 to Length(StrInt) do begin

//Порядок розряду = позиції розряду при відліку від нуля в напрямку справа наліво.

j := Length(StrInt) - i;

IntPart := IntPart + DigitToInt(StrInt[i], aBase) * Power(aBase, j);

end;

// Визначаємо значення дробової частини числа.

//Напочатку обчислюємо значення аналогічно тому, як це зроблено для цілої частини:FracPart := 0;

for i := 1 to Length(StrFrac) do begin

j := Length(StrFrac) - i;

FracPart := FracPart + DigitToInt(StrFrac[i], aBase) * Power(aBase, j);

end;

// Тепер враховуємо експоненційну частина:

FracPart :=FracPart / Power(aBase, Length(StrFrac));

//Отримуємочисло, якевідповідаєзапису aStrXcimal

//В системі числення з основою aBase.

Result := IntPart + FracPart;

end;

//Перетворює запис числа в системі числення з основою aSrcBase в запис

// цього ж числа в системі числення з онованіем aTrgBase.

// Перетворення проводиться з точністю до aTrgPrecision цифр після коми

// у результуючому поданні числа.function XcimalStrToYcimalStr (

aSrcBase :Byte;

aSrcNumStr : String;

aTrgBase : Byte;

aTrgPrecision : Byte

) : String;

var

//Числовідповіднезапису aSrc NumStr всистемічисленнязосновою aSrcBase.

SrcNum : Extended;

//Цілачастина, виділеназчисла SrcNum.

IntPart : Int64;

// Дробова частина, виділена з числа SrcNum.

FracPart : Extended;

// Подання цілої частини числа SrcNum в системі числення з основою aTrgBase.

StrInt : String;

// Подання дробової частини числа SrcNum в системі числення з основою aTrgBase.

StrFrac :String;

//Лічильник.

i :Integer;

// Для проміжних обчислень.

TempNum :Extended;

begin

//Початковечисло.

SrcNum :=XcimalStrToNumber(aSrcNumStr, aSrcBase);

// Отримуємоцілуідробовучастинучисла.

IntPart := Trunc(SrcNum);

FracPart := Frac(SrcNum);

// Переводимо цілу частину.

StrInt := '';

repeat

StrInt := IntToDigit(IntPart mod aTrgBase) + StrInt;

IntPart := IntPart div aTrgBase;

until IntPart = 0;

// Якщо дробова частина = 0, то переклад закінчено.

if FracPart = 0 then begin

Result := StrInt;

exit;

end;

// Переводимо дробову частину. Точність - до aTr Precision цифр після коми.

StrFrac := '';

for i := 1 to aTrgPrecision do begin

TempNum := FracPart * aTrgBase;

StrFrac := StrFrac + IntToDigit(Trunc(TempNum));

FracPart := Frac(TempNum);

// Якщо дробова частина = 0, то переклад закінчено.

if FracPart = 0 then Break;

end;

Продовження лістингу програми:

Result :=StrInt + ',' + StrFrac;

end;

procedure TfrmMain.btnTransformClick(Sender: TObject);

begin

edTrgNum.Text := XcimalStrToYcimalStr(

StrToInt(edSrcBase.Text),

edSrcNum.Text,

StrToInt(edTrgBase.Text),

StrToInt(edTrgPrecision.Text)

);

end;

end.

5 .Налагодження і тестування програми

Для тестування програми були обрані довільні числа в діапазоні від 0 до 4294967295: 78, 232345, 4294967295.

З використанням стандартного калькулятора Windows були отримані наступні дані:

12710 = 11111112 = 1778 = 7F16

1111110 = 101011011001112 = 255478 = 2B6716

Результати, отримані при тестуванні розробленого додатка, наведені на малюнках 5.1 і свідчать про правильному функціонуванні програми.

Малюнок 5 - Приклад перекладу числа 12710 в задані СС

6. Інструкція користувача програми

При завантаженні програми, виводиться головне вікно програми (рис. 6.1). Спочатку, дані ініціалізовані 0.

Малюнок 6.1 - Вікно програми при завантаженні

Використовуючи клавіатуру, користувач має можливість ввести вихідні СЧ і число, результуюче підстави СЧ, точність перетворення.

Малюнок 6.2 - Результат перекладу числа з десяткової в двійкову СЧ

Малюнок 6.3 - Результат перекладу числа з десяткової в шістнадцяткову СЧ

Наформі містяться поля для встановлення завдання перекладу, і кнопка для здійснення переказу.

Потрібно відзначити, що калькулятор оперує з цілими 32-розрядними числами, тому діапазон даних, що вводяться обмежений кількістю розрядів. Так, автоматично блокується додавання більше 10 символів для десятковій, більше 11 для вісімковій, більше 8 для шістнадцятковій і більше 2 для двійкової СЧ.

Висновки та рекомендації

В результаті виконання курсової роботи було створено програму "Калькулятор", що виконує перетворення в різні системи числення. Програма проводить контроль за переповненням розрядної сітки чисел, з якими проводиться робота.

При наявності часу для розробки програми, можливо збільшити зовнішній вигляд програми за допомогою додаткового компонента Delphi - Alphaskins для більш приємного використання програми.

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

1) Windows 7/2000/Xp

2) Процесор не нижче PENTIUM 2400

3) ОП 64 мб

Список використаної літератури

1. Культин Н. Delphiв примерах и задачах. - Санкт - Петербург,2003. - 288с.

2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд. / Пер. с англ. - М.: Издательства Бином, СПб.: Невский диалект, 1998. - 560 с.

3. Чиртик А. Delphi.Трюки и эффекты. - М.:Питер,2007 - 400с.

4. Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 1989.

5. Галисеев Г. В. Программирование в среде Delphi 7. Самоучитель. - М.: Вильямс, 2004.

6. Гофман В. Э., Хомоненко А. Д. Работа с базами данных в Delphi. - СПб.: БХВ - Санкт-Петербург, 2003.

7. Ден Оузьер, Стив Гробман, Стив Батсон. DELPHI. "Освой самостоятельно" Перевод с англ. - М.: Восточная Книжная Компания, 1997. - 624 с.

8. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2000.

9. Тейксейра, Стив, Пачеко, Ксавье. Delphi 4. "Руководство разработчика".-СПб:Вильямс, 1999.-912с.

10. Шумаков П. В.Delphi 3.0 и создание баз данных.- Москва, 1997.

11. Осипов Д. Delphi. Профессиональное программирование - Москва,2006 - 1056с.

12. Джон Матчо, Дэвид Р. Фолкнер. «Delphi» / пер. с англ. - М.: Бином, 1995.

13. Фаронов В.В. Delphi 6: Учебный курс. - М., 2001.

14. Епанешников A. M., Епанешников В. А. Программирование в среде Delphi 2.0. - М.: Диалог-Мифи, 1997. - 235 с.

15. Delphi 6. Учебный курс. / ФароновВ. В. - М.: Издатель Молгачёва С.В., 2001.-- 672 с.

16. Ставровский А.Б. Первые шаги в программировании. Самоучитель. - М.: Вильямс, 2003.

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


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

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

    курсовая работа [57,1 K], добавлен 31.05.2013

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

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

  • Розробка програми "Калькулятор" для Windows за допомогою ітераційної моделі, при використанні якої не вимагається одразу повністю писати готову закінчену програму. Аналіз вимог. Опис системної архітектури. Етапи реалізації та тестування готової програми.

    контрольная работа [19,4 K], добавлен 24.02.2012

  • Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.

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

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

    курсовая работа [112,2 K], добавлен 23.04.2010

  • Автоматизація виконання операцій на робочих місцях. Розробка програми "Арифметичний калькулятор", що буде дозволяти обраховувати різноманітні арифметичні операцій (додавання, віднімання, ділення, множення). Тестування програми і результати її виконання.

    курсовая работа [226,1 K], добавлен 05.05.2014

  • Головні принципи візуального програмування, опис компонентів Delphi, використаних при розробці проекту. Опис програми-додатку "Психологічний тест" та список дій користувача. Алгоритм роботи програми, її форма та ієрархія. Опис графічного інтерфейсу.

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

  • Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.

    курсовая работа [991,4 K], добавлен 06.08.2013

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

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

  • Методи алгоритмiчного описаня задач, програмування на основi стандартних мовних засобiв. Переклад з однієї системи числення в іншу при програмуванні. Системи числення. Двійкові системи числення. Числа з фіксованою і плаваючою комою. Програмна реалізація.

    курсовая работа [164,1 K], добавлен 07.12.2008

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