Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
___звіт___.doc
Скачиваний:
11
Добавлен:
08.02.2016
Размер:
229.89 Кб
Скачать
    1. Створення програмного проекту

Для того, щоб створити нову програму, необхідно створити новий проект. Для нового проекту слід заздалегідь створити каталог. За допомогою вбудованого в IDE текстового редактора в каталозі проекту слід створити файли проекту з вихідним текстом з розширеннями *.срр, *.h або *.hpp. Після створення вихідних файлів треба створити файл проекту. Для цього треба вибрати в меню Project команду Open Project..., у вікні Open Project File, що з'явилося, ввести ім'я файлу проекту і натискувати кнопку [ОК].Для включення в проект файлів з розширеннями *.с/?р (у окремому випадку в проекті такий файл може бути єдиним) слід на робочому столі активізувати вікно Project, вибрати в меню Project команду Add Item..., у вікні Add to Project List, що з'явилося, "кликнути" по кожному з файлів з розширенням *.ср/7 і натискувати кнопку [Done]. В результаті цього буде створений необхідний програмний проект. Після створення програмного проекту необхідно перевірити і, при необхідності, скоректувати інформацію про місце розташування каталогів стандартних файлів, що включаються. З цією метою досить в меню Options виконати команду Directories, у вікні Directories, що з'явилося, вказати розташування каталогів стандартних файлів, що включаються, і натискувати кнопку [ОК]. Після цього програмний проект готовий до роботи. Відкриття для роботи існуючого проекту dos-додатка. Для існуючого проекту необхідно з меню Project виконати команду Open Project..., у вікні Open Project File, що з'явилося, в каталозі проекту вибрати ім'я файлу проекту і натискувати кнопку [ОК]. В результаті проект завантажується в IDE для подальшої роботи.

    1. Методика відладки програми

Всі помилки, що виявляються в програмі, можна розділити на три великі категорії.

1. Синтаксичні помилки, які автоматично виявляються на етапі компіляції. З'ясувати сенс синтаксичних помилок і усунути їх досить легко, оскільки тут як достатньо хороший помічник виступає компілятор. Залежно від мови програмування, компілятор краще або гірше виявляє такі помилки. У ряді випадків синтаксична помилка в програмі спричиняє за собою неадекватну реакцію компілятора. Наприклад, відсутність дужки частоприводить до того, що компілятор виявляє помилку через десятки рядків коду. У останньому випадку можна рекомендувати одночасний набір відкриваючої і закриваючої дужок (наприклад { }) з подальшим введенням тексту між ними.

2. Логічні (часто їх також називають алгоритмічними) помилки. Їх буває найважче виявити і виправити. Частина з них виявляється на етапі відладки, частина на етапі супроводу, а деякі приводять до тяжких наслідків.

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

  1. Формування навичок програмування з використанням алгоритмічної мови С++

    1. Програмна реалізація алгоритмів лінійної структури

Основною елементарною дією в обчислювальних алгоритмах є надання значення змінної величини. Якщо значення константи визначено видом її запису, то змінна величина отримує конкретне значення тільки в результаті присвоювання. Призначення може здійснюватися двома способами: за допомогою команди присвоювання і за допомогою команди введення. Розглянемо приклад. У шкільному підручнику математики правила поділу звичайних дробів описані так:

1. Чисельник першого дробу помножити на знаменник другого дробу. 2. Знаменник першого дробу помножити на чисельник другого дробу. 3. Записати дріб, чисельник якого є результат виконання пункту 1, а знаменник - результат виконання пункту 2. У алгебраїчній формі це виглядає так : (b)/(c/d)=(a*d)/(b*c)=m/n Побудуємо алгоритм розподілу дробів для ЕОМ. У цьому алгоритмі збережемо ті ж позначення для змінних, які використані в записаній вище формулі. Вихідними даними є цілочисельні змінні а, b, с, d. Блок-схему і текст алгоритму на навчальный алгоритмичній мовы наведені нижче (надалі для стислості позначатимемо навчальну алгоритмічну мову літерами АМ).

мал. 3.1(блок-схема алгоритму розподілу дробів для ЕОМ)

алг Ділення дробів

поч

цілі a,b,c,d,m,n

введення a , b , c ,d

m: = a*d

n:=b*c

виведення m,n

кін

Формат команди присвоювання наступний: змінна: = вираз. Знак «: =» потрібно читати як «привласнити». Команда присвоювання позначає наступні дії, що виконуються комп'ютером: 1. Обчислюється вираз. 2. Отримане значення привласнюється змінный. У наведеному вище алгоритмі присутні дві команди присвоювання. У блок-схемах команда присвоювання записується в прямокутнику. Такий блок називається обчислювальним блоком. В описах алгоритмів необов'язково дотримуватися строгих правила в запису виразів. Їх можна писати в звичайній математичній формі. Це ще не мова програмування з суворим синтаксисом. У наведеному алгоритмі присутня команда введення: введення a, b, c, d.

У блок-схемі команда введення записується в паралелограмі - блоці введення-виведення. При виконанні цієї команди процесор перериває роботу і чекає дій користувача. Користувач повинен набрати на пристрої введення (клавіатурі) значення змінних і натиснути на клавішу вводу Enter. Значення слід вводити в тому ж порядку, в якому відповідні змінні розташовані в списку введення. Звичайно за допомогою команди введення присвоюються значення вихідних даних, а команда присвоювання використовується для отримання проміжних і кінцевих величин. Отримані комп'ютером результати рішення задачі повинні бути повідомлені користувачеві. Для цих цілей призначена команда виводу: висновок m, n За допомогою цієї команди результати виводяться на екран або на пристрій друку на папір. Розглянемо один дуже корисний алгоритм, який доводиться часто використовувати при програмуванні. Дано дві величини: Х, Y. Потрібно провести між ними обмін значеннями. Наприклад, якщо спочатку було Х = 1, Y = 2, то після обміну має стати: Х = 2, У = 1.

Гарною моделлю для вирішення цього завдання є наступна ситуація: є дві склянки - одна з молоком, інша з водою. Потрібно зробити обмін їх вмістом. Кожному ясно, що в цьому випадку потрібен додатковий третій порожній стакан. Послідовність дій буде наступною: 1) перелити з першої склянки в третю; 2) перелити з другої в першу; 3) перелити з третьої до другу. Мета досягнута! За аналогією для обміну значеннями двох змінних потрібна третя додаткова змінна. Аналогія зі склянками не зовсім точна у тому сенсі, що при переливанні з однієї склянки в іншу перша стає порожньою. У результаті ж присвоювання (Х: = Y) змінна, що стоїть праворуч (У), зберігає своє значення. Алгоритм для поділу дробів має лінійну структуру. У ньому всі команди виконуються в строго однозначної послідовності, кожна по одному разу. Лінійний алгоритм складається з команд присвоювання, вводу, виводу та звернення до допоміжних алгоритмів. При описі алгоритмів в блок-схемах типи, як правило, не вказуються (але маються на увазі). В алгоритмах на АМ для всіх змінних типи вказуються явно. Опис типів змінних виконується відразу після заголовка алгоритму. У них використовуються такі позначення типів: цілий - цілий тип, дійсний - дійсний тип, літерний - символьний (літерний) тип, логічний - логічний тип. В алгоритмі для поділу дробів для всіх змінних вказаний цілий тип.

Приклад 1.

Дано тризначне число. Знайти число, отримане при перестановці другої і третьої цифр заданого числа.

#include<iostream.h>

int main()

{

int n, m;

cout<<”Введіть значення n: “;

cin>>n;

m=(n/100)*100+(n%10)*10+(n%100/10);

cout<<”Отримане число m: “<<m<<endl;

retnrno;

}

мал. 3.1.2

Приклад 2.

У тризначному числі х закреслити його останню цифру. Коли в двозначному числі, що залишилось, переставили цифри, а потім приписали до них зліва останню цифру числа х, то вийшло число n. По заданому n знайти число х (значення n вводиться з клавіатури, 1<=n<=999 і при цьому число одиниць в n не дорівнює нулю).

#include<iostream.h>

int main()

{

int n, x, a, b, c;

cout<<”Введіть значення n: “;

cin>>n;

a=n%10;

b=n/10%10;

c=/100;

x=a*100+b*10+c;

cout<<”x= “<<x<<endl;

return 0;

}

мал. 3.1.3

Приклад 3.

Обчислити вирази при заданих значеннях констант, використовуючи відповідні математичні функції.

#include<iostream.h>

#include<math.h>

int main()

{

const float a = 4.4;

const float b = 0.57;

const float c = 6;

const float z = 5.4E-2;

float x, y;

x = pow(c + pow(fabs(a-b),2) + 3, 1/3.)/(pow(a, 2) + pow(b, 2));

y = exp(fabs(a-b))*(pow(tan(z), 2) + 1);

cout<<”x = “<<x<<endl;

cout<<”y = “<<y<<endl;

return 0;

}

мал. 3.1.4

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