Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Програма Практичні ОП 11-12 І семестр.doc
Скачиваний:
13
Добавлен:
22.11.2018
Размер:
763.9 Кб
Скачать

Міністерство освіти і науки України

Житомирський технологічний коледж

Затверджую

Заступник директора з

навчальної роботи

___________І.І. Бондар

“___”____________2011р.

Основи програмування та

Алгоритмічні мови

Завдання практичних робіт

Для підготовки молодших спеціалістів

спеціальності: 5.05010301 “Розробка програмного забезпечення”

Житомир

2011 р.

Укладач: Шляжинська С. Г. – викладач програмування

Житомирського технологічного коледжу.

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

Протокол № від “ 2011 р.

Голова циклової комісії М. О. Максименко

Зміст:

І семестр

Практична робота №1 Знайомство з інтегрованим середовищем Borland С++3.1.

Практична робота №2Програмування лінійних обчислювальних процесів.

Практична робота №3 Програмування розгалужениих обчислювальних процесів. Оператори if, if else.

Практична робота №4 Програмування розгалужених обчислювальних процесів. Оператор switch.

Практична робота №5 Програмування розгалужених обчислювальних процесів. Оператор switch.

Практична робота №6 Програмування циклічнихниих обчислювальних процесів. Використання оператора циклу з передумовою while. Таблиця мір.

Практична робота №7 Програмування циклічних обчислювальних процесів. Обчислення скінченних сум і добутків. Використання оператора циклу з післяумовою do while.

Практична робота №8 Програмування циклічних обчислювальних процесів. Табулювання функції і пошук даних. Використання оператора циклу з параметром for.

Практична робота №9 Програмування циклічних обчислювальних процесів. Узагальнення.

Практична робота №10Програмування операцій з одновимірними масивами.

Практична робота №11 Методи сортування масивів.

Практична робота №12 Бінарний пошук у впорядкованих масивах.

Практична робота №1

Тема: Знайомство з інтегрованим середовищем Borland С++3.1.

Мета: Ознайомитись з оболонкою IDE Borland С++ 3.1. Сформувати початкові навички підготовки, виконання і тестування програм у вибраному середовищі.

План виконання роботи:

1. Ознайомитися з головним меню програми.

2. Вивчити основні клавіші керування.

3. Створити файл вихідного коду тестового прикладу, запустити та протестувати програму.

4. Згідно до індивідуального варіанту формалізувати поставлене завдання методом покрокової деталізації, розробити блок-схему алгоритму, файл вихідного коду програми і виконати програму, задавши вхідні дані самостійно. Розв’язати задачу трьома способами:

  1. задати вхідні дані під час об’яви змінних: int a=10;

  2. задати вхідні дані командами присвоєння: int a; a=10;

  3. вхідні дані ввести з клавіатури: int a; cout<<”\nEnter a:”; cin>>a;

Методичні вказівки:

Запуск IDE

Для запуску IDE Borland С++ 3.1 треба відкрити каталог (папку), у якому розташований файл bc.exe (звичайно це ...\BORLANDC\BIN), потім запустити цей файл на виконання або натисканням лівої кнопки миші, або натисканням клавіші Enter в оболонці типу Far чи Norton Commander.

Після запуску з'являється робочий екран BC, що містить чотири основних частини:

  • рядок меню,

  • вікно редагування,

  • вікно повідомлень,

  • рядок стану.

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

Вікно редагування призначене для введення і редагування тексту в одному з вихідних (source) файлів програми. Система BC дозволяє одночасно тримати в пам'яті кілька відкритих вікон, при цьому активним є тільки одне вікно, на яке встановлений так називаний фокус уведення. Кожне вікно має рамку, у верхній частині якої розташовані заголовок вікна (ім'я файлу, можливо з указівкою шляху до нього) і номер вікна (вікна нумеруються з 1 по 9, у цю нумерацію включається також вікно повідомлень (Message). Переключення фокуса введення з одного вікна на інше здійснюється натисканням клавіші F6.

Приведемо короткий опис призначення кожного елемента меню:

  • ? — системне меню;

  • File — завантаження і створення файлів, збереження внесених у програму змін, вихід із системи;

  • Edit — реалізація різних режимів редагування тексту в активному вікні;

  • Search — пошук фрагментів тексту, контекстна заміна й інші операції;

  • Run — компіляція, компонування і запуск програми на виконання (Команда Run з меню Run відноситься або до активного вікна — у випадку однофайлової програми, або до всього проекту в цілому — у випадку багатофайлових програм, що мають у своєму складі проектний файл.);

  • Compile — компіляція програми (Те ж — для команди Compile з меню Compile);

  • Debug — керування можливостями відлагоджувача;

  • Project — організація проектів (багатофайлових програм);

  • Options — установка параметрів компіляції, компонування й інших настроювань інтегрованого середовища;

  • Window — керування вікнами;

  • Help — звертання до системи оперативної підказки.

Користування підказкою

Система програмування Borland C++ має могутню систему онлайнової підказки, яка дуже корисна, особливо для початківця програміста.

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

Перша можливість звернення до підказки - через Головне Меню -> Help. У тому меню, яке випливає потім, найкориснішими є пункти Contents і Index.

Пункт Contents виводить на екран тематичний список розділів, по яких можна отримати підказку. Зі всіх цих розділів перш за все рекомендуються:

How to Use Help - як користуватися підказкою;

Menus and Hot Keys - меню і гарячі клавіші;

Editor Commands - команди редактора;

Borland C++ Language - мова Borland C++;

Error Messages - повідомлення про помилки;

Functions - функції;

Header Files - файли заголовків.

Вибір будь-якого з цих розділів приводить до появи списку підрозділів і так далі.

Пункт Index виводить на екран алфавітний список всіх ключових слів і імен функцій мови і системи програмування Borland C++. Вибираючи пункт цього списку, можна отримати докладну підказку по ньому.

Інша можливість звернення до підказки - через клавіші F1 і комбінацію клавіш Ctrl+F1. Ця підказка - контекстно-залежна, тобто, підказка, яка з'являється на екрані, відноситься саме до того стану системи програмування, в якому вона зараз знаходиться.

По клавіші F1 Ви отримуєте підказку по активному на даний момент меню або вікну.

Комбінацією Ctrl+F1 можна користуватися тільки в активному вікні редактора. Якщо при натисненні цієї комбінації курсор знаходиться на якомусь ключовому слові або на функції, то на екран виводиться докладна підказка по цьому ключовому слову або функції. Інакше дія цієї комбінації аналогічна Головне Меню -> Help -> Index.

Створення, редагування і збереження програми

Виберіть Головне Меню -> File -> New. У вас на екрані відкриється порожнє вікно редактора із заголовком NONAME00.CPP. У цьому вікні наберіть текст програми, приведений нижче (нумерацію рядків, яка дана зліва, набирати не треба).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

/*******************************************************/

/* Test Example LabRab#4 */

/*******************************************************/

#include <iostream.h>

#include <conio.h>

int main() {

clrscr();

int a,b,c;

cout<<"\nZnachennya neinitsializovanoyi zminnoyi a="<<a;

a=10;

cout<<"\nZnachennya pislya init zminnoyi a="<<a;

b=20;

c=a+b;

cout<<"\n\tRezultat u zminniy c="<<c;

getch();

return 0;

}

/*

//-----------Var#2-Compiler errors-------------

int main() {

clrscr();

int a,b,c,d=4;

cout<<"\nZnachennya neinitsializovanoyi zminnoyi a="<<a;

a=10;

cout<<"\nZnachennya pislya init zminnoyi a="<<a;

b=20;

c=a+b1;

cout<<"\n\tRezultat u zminniy c: "<<a<<"+"<<b<<"="<<c; f123

getch();

return 0;

//}

*/

При наборі і подальшому редагуванні тексту ширше використовуйте спеціальні клавіші і комбінації клавіш, такі як: Home, End, Ctrl-<, Ctrl->, Ctrl+Y і ін. Також корисними можуть бути блокові команди: Ctrl+K B (виділити початок блоку), Ctrl+K K (виділити кінець блоку), Ctrl+K C (копіювати блок), Ctrl+K V (перемістити блок), Ctrl+K H (відмінити виділення). Докладну підказку по спеціальних клавішах і комбінаціях можна отримати по Головне Меню -> Help -> Contents -> Editor Commands.

Текст, який Ви набираєте, зберігається в оперативній пам'яті, тому якщо під час набору виникне якась аварія (наприклад, виключення живлення), все, що Ви набрали, буде втрачено. Щоб уникнути такої небезпеки, потрібно зберегти текст у файлі на зовнішній пам'яті. Набравши декілька перших рядків, збережіть текст. Для цього виконайте: Головне Меню -> File -> Save as... . При цьому у Вас на екрані з'являється вікно Save File As. У верхньому полі цього вікна наберіть ім'я, під яким Ви хочете зберегти текст програми. Якщо Ви наберете тільки ім'я (без розширення) система автоматично додасть до імені Вашої програми розширення CPP - стандартне розширення для програм, написаних на мові C++. Набравши ім'я, натисніть на клавішу Enter або "натисніть" на кнопку OK.

При першому збереженні програми Ви дали їй ім'я (зверніть увагу - це ім'я тепер є заголовком вікна редактора). Далі після кожного додавання декількох рядків або при внесенні деякої кількості змін до тексту зберігайте програму під тим же ім'ям. Для цього досить виконати: Головне Меню -> File -> Save або натиснути клавішу F2.

Згодом, якщо Вам потрібно буде знову завантажити в редактор текст тієї ж програми, виконайте: Головне Меню -> File -> Open (або натисніть клавішу F3). Ви отримаєте вікно Open а File, яке дуже схоже на вікно Save File As. У верхньому полі цього вікна виводиться маска для файлів, з яких можна вибирати файл для відкриття, в нижньому - список файлів, імена яких відповідають цій масці. Міняючи маску у верхньому полі, Ви змінюєте склад списку в нижньому. Досягнувши того, що у нижньому полі буде саме той список, який Вам потрібний, перейдіть в нижнє поле. Виберіть потрібний файл і натисніть на клавішу Enter або "натисніть" на кнопку OK. Файл, який Ви вибрали, відкриється у вікні редактора.

Компіляція і виконання програми

Закінчивши набір тексту і зберігши файл програми на диску, виконайте компіляцію програми. Для цього виконайте: Головне Меню -> Compile -> Compile або натисніть комбінацію клавіш Alt+F9. На екрані з'являється вікно Compiling, в якому відображається хід компіляції. При нормальному завершенні компіляції в нижньому рядку цього вікна повинно бути виведено:

Success: Press any key

Якщо там виводиться:

Errors: Press any key

або:

Warnings: Press any key

- ваша програма вимагає корекції.

Після того, як Ви відкомпілювали програму без помилок, запустите її на виконання. Для цього виконайте: Головне Меню -> Run -> Run або натисніть комбінацію клавіш Ctrl+F9. На екрані з'являється вікно Linking, в якому відображається хід компоновки. При нормальному завершенні компоновки це вікно пропадає само собою і виконується програма.

Якщо ж в цьому вікні виводиться:

Errors: Press any key

- ваша програма вимагає корекції.

Якщо Ваша програма не вимагає введення даних (а саме така та програма, з якою ми зараз працюємо), Ви навіть не встигнете відмітити, як ця програма виконується. Щоб подивитися результати, які програма видала на екран, виконаєте: Головне Меню -> Window -> User screen або натисніть комбінацію клавіш Alt+F5. Ви побачите чорний екран з тим, що вивела Ваша програма (у нашому випадку це повинно бути: 200 100). Щоб вийти з режиму проглядання результатів, натисніть будь-яку клавішу.

Перевірте зміст Вашого робочого каталога. Якщо текст Вашої програми був збережений у файлі myfile.cрр, то після компіляції в каталозі винен з'явиться файл myfile.obj, а після виконання - ще і myfile.exe

Діагностика помилок і попередження компілятора

Закоментуйте з 8 до 21 рядки програми, використайте /* */. Розкоментуйте рядки 24-39.

Запустіть програму на компіляцію (Ctrl+F9). Ви отримаєте:

Errors: Press any key

у вікні Compiling. Коли Ви натиснете будь-яку клавішу, внизу екрану відкриється вікно Message з таким вмістом:

Compiling E:\practice C++\TestExampleLR4\TestExampleLR4.CPP

Error: TestExampleLR4.CPP(34,9):Undefined symbol 'b1'

Error: TestExampleLR4.CPP(36,7):Undefined symbol 'f123'

Error: TestExampleLR4.CPP(36,7):Statement missing ;

Error: TestExampleLR4.CPP(37,1):Compound statement missing }

Warning : TestExampleLR4.CPP(30,58):Possible use of 'a' before definition

Warning : TestExampleLR4.CPP(35,56):Possible use of 'c' before definition

Warning : TestExampleLR4.CPP(37,1):'d' is assigned a value that is never used

Це повідомлення компілятора про помилки і попередження компілятора. Перший рядок - заголовок. У наступних рядках: ознака помилки, ім'я файлу, в якому знайдена помилка, номер рядка тексту програми, в якій була виявлена помилка, діагностика помилки.

Повідомлення до рядка 34 - "Невизначений символ 'b1'". У цьому операторі використовується змінна з таким ім'ям, якого немає серед оголошених змінних.

Перше повідомлення до рядка 36 - "Невизначений символ 'f123'". Текст f123 схожий на ім.‘я змінної, але така змінна не оголошена. Інше повідомлення до рядка 36 - "В операторі відсутній ;" . Текст f123 може бути окремим оператором, але в ньому немає ознаки кінця оператора. Зверніть увагу на те, що хоча помилку ми внесли до рядка 35, повідомлення видається до рядка 36, оскільки помилка була виявлена тільки при обробці цього рядка.

Повідомлення до рядка 37 - "В складеному операторові відсутній }" - компілятор виявив непарність операторних дужок - { }. Де б не була пропущена закриваюча операторна дужка, її відсутність може бути виявлене тільки на останньому операторі програми.

Коли Ви переміщуєтесь за списком повідомлень про помилки у вікні Message, у вікні редактора те місце тексту програми, до якого відноситься поточне повідомлення, виділяється кольором. Коли Ви перемикаєтеся у вікно редактора (клавіша F6), курсор встановлюється на це саме місце.

Попередження до рядка 30 - "Можливе використання 'а' до визначення". У цьому операторові виводиться значення змінної а, але яке значення має а на цей момент виконання програми - невідомо.

Попередження до рядка 37: "Змінній 'd' привласнюється значення, яке ніде не використовується". У операторові 29 ми дали змінній d початкове значення 4. Але далі в програмі значення d ніде нічому не привласнюється і ні з чим не порівнюється.

Ви можете отримати не всі попередження з тих, які тут перераховані. При настройці середовища можна відмінити або відновити видачу тих або інших попереджень. Це робиться через: Головне Меню -> Options -> Compiler -> Messages.

Відладка програми

У системі програмування є відладчик, який працює на рівні текстового коду. Використовуючи його, Ви можете виконувати програму в покроковому режимі, встановлювати точки останову виконання і стежити за поточними значеннями змінних програми.

Відкрийте в текстовому редакторі файл myfile.cрр.

Виконайте: Головне Меню -> Debug -> Watches -> Add watch (або натисніть комбінацію клавіш Ctrl+F7). У вікні Add Watch, яке з'явиться на екрані, введіть в поле Watch Expression ім'я змінної а. "Натисніть" кнопку OK. У нижній частині екрану з'явиться вікно Watch, а в нім - "а: Undefined symbol 'a'".

Повторите ці дії кілька разів, вводячи в поле Watch Expression імена b, с, d. У вікні Watch додаватимуться аналогічні повідомлення. Цими діями ми даємо системі програмування інструкцію відстежувати і відображати у вікні Watch поточні значення вибраних змінних програми. Оскільки програма ще не виконується, ці змінні поки що "невідомі" системі програмування, про що і свідчать повідомлення.

Зробіть активним вікно редактора і натисніть клавішу F8. Це відладка нашої програми в покроковому режимі. Ще раз натисніть клавішу F8. Виділення зміститься на наступний рядок, а у вікні відображатимуться якісь значення змінних. Виконання програми почалося і ці змінні вже "відомі", але їх значення ще не встановлені, тому вони - якісь випадкові числа. З наступним натисненням клавіші F8 значення змінної а зміниться на 10. Кожне наступне натиснення клавіші F8 просуватиме виконання програми на оператора вперед, і відповідно до виконання операторів програми мінятимуться значення змінних.

Закінчивши виконання програми, встановите курсор на рядок 13 і виконаєте: Головне Меню -> Debug -> Toggle breakpoint (або натисніть комбінацію клавіш (Ctrl+F8). Рядок 13 виділиться кольором (швидше за все - червоним). Цим ми задали точку останову програми. Зараз запустіть програму на виконання (F9). Виконання зупиниться на рядку 13. При цьому у вікні Watch відображатимуться поточні значення змінних. Ви можете продовжити виконання в покроковому (F8) або в автоматичному режимі (F9).

Те меню, яке "випадає" Головне Меню -> Debug, дає можливість повністю керувати стеженням за значеннями і точками останову.