Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet.docx
Скачиваний:
5
Добавлен:
26.03.2015
Размер:
1.27 Mб
Скачать

ВСТУП

C++ був розвинутий з мови програмування C і за дуже малими виключеннями зберігає C як підмножину. Базова мова, C підмножина C++, спроектована так, що існує дуже близька відповідність між його типами, операціями й операторами і комп'ютерними об'єктами, з якими безпосередньо приходиться мати справу: числами, символами й адресами [5, с. 48].

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

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

1 Характеристика мови програмування

Як і більшість імперативних мов, заснованих на традиції АЛГОЛ, C++ має можливості для структурного програмування і дозволяє здійснювати рекурсії, у той час, як система статичної типізації даних запобігає виникненню багатьох непередбачуваних операцій. У С++ увесь виконуваний код міститься у функціях. Параметри функції завжди передаються за значеннями. Передача параметрів за вказівником реалізовується шляхом передачі значення вказівника. Гетерогенні сукупності типів даних (структури) дозволяють пов'язаним типам даних бути об'єднаними і маніпулювати ними, як єдиним цілим.

C++ також має такі специфічні властивості:

  • змінні можуть бути прихованими у вкладених блоках

  • слабка типізація; наприклад, символи можуть використовуватися, як цілі числа

  • низькорівневий доступ до оперативної пам'яті шляхом перетворення машинних адрес вказівники

  • вказівники на функції і дані підтримують динамічний поліморфізм

  • масив індексів як вторинне поняття, визначається у термінах арифметики вказівників

  • стандартизований препроцесор C для макроозначення, включення файлу з джерельним кодом, умовної трансляції, і т. д.

  • комплексна функціональність, як то I/O, маніпуляція рядками, і делегування математичних функцій бібліотекам

  • відносно невелика кількість зарезервованих слів (32 у С89, і 37 у C99)

  • Лексичні структури, які нагадують B більше за ALGOL, наприклад:

  • { ... } на відміну від ALGOL'івського begin ... end

  • знак рівності для призначення (копіювання), як це робиться у мові Fortran

  • два знаки рівності використовуються для перевірки рівності (подібно до .EQ. у Fortran'і або одного знаку рівності у BASIC)

  • && та || на відміну від ALGOL'івських and та or (цим вона семантично відрізняється від бітових операторів & та |).

велика кількість операторів об'єднання, на кшталт +=, ++, ……

2 ЗАВДАННЯ №1

2.1 Постановка задачі

Основною метою завдання №1 є здійснення розрахунків за допомогою персонального комп’ютера. Завдання передбачає виконання трьох видів задач

Задача 1

Обчислення функції b=f(x,y,z) за формулою (2.1)

, (2.1)

Де b – значення функції;

х – значення змінної х яка вводиться з екрану;

у – значення змінної у яка вводиться з екрану;

z – значення змінної z яка обчислюється за формулою (2.2)

, (2.2)

Отримані результати вивести на екран.

Задача 2

Скласти структурну схему алгоритму та програму обчислення функції за формулою (2.3).

, (2.3)

Де – значення функції;

x – значення змінної x яка вводиться з екрану;

Отримані результати видати на екран.

Задача 3

Скласти структурну схему алгоритму та програму обчислення значень функції y=f(x) за формулою (2.4)

, (2.4)

Де y – значення функції;

а – значення змінної а яка вводиться з екрану або задається параметром а=0,4;

b – значення змінної b яка вводиться з екрану або задається параметром b=2,57;

h – значення змінної h (яка вводиться з екрану або задається параметром h=0,15;

х – значення змінної х яка вводиться з екрану (має начальне та конечне значення) або задається параметром хЄ[0,1;0,8];

Отримані результати видати на екран.

Для реалізації завдання №1 необхідно створити проект який мав би зручний інтерфейс, де використовувалось би головне так контекстне меню з такими основними пунктами:

Розрахунок – Завдання 1 - Завдання 2 - Завдання 3

Вихід

2.2 Алгоритм розв’язання задачі

Алгоритм розв’язання задачі складається з трьох етапів:

  • алгоритм розв’язання лінійного процесу;

  • алгоритм розв’язання розгалуженого процесу;

  • алгоритм розв’язання циклічного процесу.

Алгоритм розв’язання лінійного процесу.

  1. Ввести з екрану значення змінних x і y дійсного типу.

  2. Перевірити умову, якщо y менше 0 тоді видати повідомлення «Нельзя взять логарифм отрицательного числа, введите положительный Y» і передати управління пункту першого. Якщо умова y<0 не здійснюється то переходимо до пункту три.

  3. Перевірити умову, якщо х дорівнює 0 тоді видати повідомлення «Х не

может равняться 0» і передати управління до пункту першого.

Якщо умова х дорівнює 0 не здійснюється, то переходимо до пункту чотири.

  1. Виконати розрахунок за формулою (2.2)

  2. Виконати розрахунок за формулою (2.1)

  3. Вивести значення змінної b на екран.

  4. Закінчити роботу з процесом або перейти на розв’язання іншого процесу.

Алгоритм розв’язання розгалуженого процесу

  1. Ввести з екрану значення х.

  2. Якщо Х =2 виконати перший пункт за формулою (2.3)

  3. Якщо Х >2 виконати другий пункт за формулою (2.3)

  4. Якщо Х <2 виконати третій пункт за формулою (2.3)

  5. Закінчити роботу з процесом.

Алгоритм розв’язання циклічного процесу

  1. Ввести з екрану значення змінних xn, xk, h, a та b.

  2. Перевірити умову, якщо Х начальне менш або дорівнює 0 і Х кінцеве більш або дорівнює 0 тоді видати повідомлення "Сделайте промежуток в положительном или отрицательном промежутке". Якщо умова не здійснюється переходимо до пункту три.

  3. Перевірити умову, якщо Х начальне більш або дорівнює 0 і А менш або дорівнює 0, або інакше тоді видати повідомлення "Сделайте отриуательное Х нач или положительное значение А" чи "Сделайте положительное Х нач или отрицательное значение А" . Якщо умова не здійснюється переходимо до пункту чотири.

  4. Перевірити умову, якщо В менш або дорівнює 0 і більш чи дорівнює -1.2, тоді видати повідомлення " 'В' нельзя взять в промежутке 0...-1.2" . Якщо умова не здійснюється переходимо до пункту п’ятого.

  5. Перевірити умову, якщо Х начальне менш або дорівнює 0 і В менш або дорівнює 0, тоді видати повідомлення " 'В' не может быть отриательным при отрицательной 'X' начальной или 'X'=0". Якщо умова не здійснюється виконуємо розрахунки за формулою (2.4) та видати результат на екран.

  6. Закінчити роботу з процесом або перейти на розв’язання іншого процесу.

2.3 Проектування форм

Для реалізації завдання 1 створимо діалоговий додаток який має наступні форми:

  1. Головна форма;

  2. Форма лінійних процесів;

  3. Форма реалізації розгалужених процесів;

  4. Форма реалізації циклічних процесів;

Спроектуємо головну форму у відповідності з рисунком 2.1

Рисунок 2.1 - Головна форма

Сконструюємо ресурс головне меню у відповідності з рисунками 2.5, 2.6 та контекстне меню у відповідності з рисунком 2.7.

На головній формі розташуємо об’єкти управління button та задамо властивості перелічені в таблиці 2.1.

Таблиця 2.1 – Об’єкти головної форми

Ідентифікатор об’єкта

Властивість об’єкта

Значення об’єкта

IDC_BUTTON1

Caption

Линейные процессы

IDC_BUTTON2

Caption

Разветвляющиеся процессы

IDC_BUTTON3

Caption

Циклические процессы

IDD_Fox1_DIALOG

Menu

IDR_MENU1

Спроектуємо форму лінійних процесів (див. рис 2.2)

Рисунок 2.2 – Форма лінійних процесів

На формі лінійних процесів розташувати об’єкти та задати властивості перелічені в таблиці 2.2

Таблиця 2.2 – Об’єкти форми лінійних процесів

Ідентифікатор об’єкта

Властивість об’єкта

Значення об’єкта

IDC_RADIO1

Caption

Z = =

IDC_RADIO2

Caption

F (x;y;z) = =

IDOK

Caption

В Ы Х О Д

IDB_BITMAP3

Image

Bitmap

IDC_STATIC_1

Text

Переменная X

IDC_STATIC_2

Text

Переменная Y

Спроектуємо форму процесів розгалуження (див. рис. 2.3).

Рисунок 2.3 – Форма процесів розгалуження

На формі процесів розгалуження розташувати об’єкти та задати властивості перелічені в таблиці 2.3.

Таблиця 2.3 – Об’єкти форми процесів розгалуження

Ідентифікатор об’єкта

Властивість об’єкта

Значення об’єкта

IDC_BUTTON1

Caption

Результат

IDC_BUTTON2

Caption

В Ы Х О Д

IDC_STATIC1

Text

Ввод данных

IDC_STATIC2

Text

Вывод

IDC_STATIC3

Text

Введите Х

IDB_BITMAP2

Image

Bitmap

Спроектувати форму циклічних процесів (див. рис. 2.4)

Рисунок 2.4 – Форма циклічних процесів

На формі циклічних процесів розташувати об’єкти та задати властивості перелічені в таблиці 2.4.

Таблиця 2.4– Об’єкти форми циклічних процесів

Ідентифікатор об’єкта

Властивість об’єкта

Значення об’єкта

IDC_BUTTON1

Caption

Результат цикл FOR

IDC_BUTTON2

Caption

Результат цикл WHILE

IDC_BUTTON3

Caption

Результат цикл DO WHILE

IDC_STATIC1

Text

Ввод данных

IDC_STATIC2

Text

Х начальное

IDC_STATIC3

Text

Х конечное

IDC_STATIC4

Text

Шаг

IDC_STATIC5

Text

Ввод переменных

IDC_STATIC6

Text

А

IDC_STATIC7

Text

В

IDOK

Caption

В И Х І Д

IDB_BITMAP4

Image

Bitmap

IDC_LIST1

ListBox

-

Спроектувати головне меню програми, яка представлена на рисунках 2.5, 2.6, 2.7.

Рисунок 2.5, 2.6 – Головне меню програми

Спроектувати контекстне меню програми (див. рис. 2.7)

Рисунок 2.7 – Контекстне меню

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]