Функції мови Сі та багато файлова організація програми

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Кафедра ІСМ Звіт Лабораторна робота №10 “Функції мови Сі та багато файлова організація програми” Львів – 2007 Мета роботи: Навчитися розробляти функції мови Сі, як основні елементи структурного програмування; освоїти способи обміну даними між функціями. Навчитися створювати проект багато файлової програми з використанням бібліотек функцій. Методичні вказівки: Кожне завдання складається із двох варіантів, розміщених у частинах 1 та 2. У завданнях першої частини необхідно: Розробити одно файлову програму з використанням функцій. У випадку багато файлової програми забезпечити створення одного файлу за допомогою директив препроцесора #include. У зібраній програмі повинна бути тільки одна функція main(). На початку файла програми розмістити: 1) директиви препроцесора; 2) прототипи функцій; 3) глобальні оголошення; 4) функцію main(); 5) розроблені функції. Усі дії (введення, перетворення, виведення даних) оформити у вигляді окремих функцій. У функції main() виконати локальні оголошення та розмістити виклики усіх потрібних для роботи програми функцій. Передачу даних між функціями організувати за допомогою списку фактичних - формальних параметрів, або явного повернення результату функції. При необхідності у програмі бажано здійснювати глобальні оголошення типів, а не констант чи змінних. Необхідно пам’ятати, що передача параметрів у функцію здійснюється “по значенню”, тобто у стек записуються копії фактичних параметрів. Для повернення даних з функції через список параметрів необхідно використати вказівники. Масиви та рядки завжди передаються/повертаються через вказівники. У завданнях другої частини необхідно: Розробити багато файлову (не менше двох файлів) програму з використанням функцій. За допомогою ключового слова extern оголосити зовнішні глобальні дані, визначені в інших файлах. Усі функції є такими по замовчуванню. Розробити файли включення з прототипами бібліотечних функцій та оголошеннями типів; під’єднати їх до файлів програми (де це потрібно). Відкомпілювати файл, у якому відсутня функція main(). За допомогою програми tlib.exe утворити бібліотечний файл з розширенням .lib . Вивчити ключі програми tlib.exe. Утворити проект програми, використавши меню інтегрованого середовища Project. У проект можна включати текстові файли програми на мові C/C++, об’єктні та бібліотечні файли. Проекти зберігаються як файли з розширеннями .prj. У проекті повинна бути тільки одна функція main(). Відкомпілювати проект програми та отримати результат. При відсутності помилок редактор зв’язків сформує з файлів проекту автономний exe-код програми. Частина 1. Функції та одно файлова організація програми Написати функцію, яка знаходить мінімальний елемент вектора дійсних чисел. Використовуючи цю функцію, виконати сортування одновимірного масиву дійсних чисел по зростанню значень елементів. Для сортування знайти мінімальний елемент та записати його на місце першого елемента масиву. Серед елементів, що залишилися, знайти наступний мінімальний елемент і записати його на друге місце і т. д. Частина 2. Функції та багато файлова організація програми Написати функцію, яка знаходить мінімальний елемент вектора дійсних чисел. Використовуючи цю функцію, виконати сортування одновимірного масиву дійсних чисел по зростанню значень елементів. Для сортування знайти мінімальний елемент та записати його на місце першого елемента масиву. Серед елементів, що залишилися, знайти наступний мінімальний елемент і записати його на друге місце і т. д. Текст програми 1 #include<stdio.h> #include<conio.h> #include<stdlib.h> #define n 10 void main() { clrscr(); int minimal(int a[]),k,z,j,b[n],a[]={5,9,12,3,2,4,6,7,8,10}; for(j=0;j<n;j++) { k=minimal(a); if(j==0) z=k; b[j]=a[k]; a[k]=100+j; printf("b[%d]=%d;\n",j,b[j]); } printf("Min element a[%d]=%d\n",z,b[0]); getch(); } int minimal(int x[]) { int i,min=100,numb; for(i=0;i<n;i++) {if(min>x[i]) {min=x[i]; numb=i;} } return numb; } Текст програми 2 10_2.cpp #include<stdio.h> #include<conio.h> #include<stdlib.h> #define n 10 void main() { clrscr(); int minimal(int a[]),k,z,j,b[n],a[]={5,9,12,3,2,4,6,7,8,10}; for(j=0;j<n;j++) { k=minimal(a); if(j==0) z=k; b[j]=a[k]; a[k]=100+j; printf("b[%d]=%d;\n",j,b[j]); } printf("Min element a[%d]=%d\n",z,b[0]); getch(); } 10_21.cpp #include<stdio.h> #define n 10 int minimal(int x[]) { int i,min=100,numb; for(i=0;i<n;i++) { if(min>x[i]) {min=x[i]; numb=i;} } return numb; } Результати роботи програми: Обидві програми виконують однакові дії, тому й результати будуть однаковими.
Антиботан аватар за замовчуванням

31.03.2013 14:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!