Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Лабораторна робота №10
на тему:
Функції мови Сі та багатофайлова
організація програми.
Назва роботи:
Функції мови Сі та багатофайлова організація програми.
Мета роботи:
Навчитися розробляти функції мови Сі, як основні елементи структурного програмування; освоїти способи обміну даними між функціями. Навчитися створювати проект багатофайлової програми з використанням бібліотек функцій.
Завдання лабораторної роботи:
У завданнях першої частини необхідно:
Розробити однофайлову програму з використанням функцій. У випадку багатофайлової програми забезпечити створення одного файлу за допомогою директив препроцесора #include. У зібраній програмі повинна бути тільки одна функція main().
На початку файла програми розмістити: 1) директиви препроцесора; 2) прототипи функцій; 3) глобальні оголошення; 4) функцію main(); 5) розроблені функції.
Усі дії (введення, перетворення, виведення даних) оформити у вигляді окремих функцій. У функції main() виконати локальні оголошення та розмістити виклики усіх потрібних для роботи програми функцій.
Передачу даних між функціями організувати за допомогою списку фактичних-формальних параметрів, або явного повернення результату функції. При необхідності у програмі бажано здійснювати глобальні оголошення типів, а не констант чи змінних.
Необхідно пам’ятати, що передача параметрів у функцію здійснюється “по значенню”, тобто у стек записуються копії фактичних параметрів. Для повернення даних з функції через список параметрів необхідно використати вказівники. Масиви та рядки завжди передаються/повертаються через вказівники.
У завданнях другої частини необхідно:
Розробити багатофайлову (не менше двох файлів) програму з використанням функцій. За допомогою ключового слова extern оголосити зовнішні глобальні дані, визначені в інших файлах. Усі функції є такими по замовчуванню.
Розробити файли включення з прототипами бібліотечних функцій та оголошеннями типів; під’єднати їх до файлів програми (де це потрібно).
Відкомпілювати файл, у якому відсутня функція main(). За допомогою програми tlib.exe утворити бібліотечний файл з розширенням .lib . Вивчити ключі програми tlib.exe.
Утворити проект програми, використавши меню інтегрованого середовища Project. У проект можна включати текстові файли програми на мові C/C++, об’єктні та бібліотечні файли. Проекти зберігаються як файли з розширеннями .prj. У проекті повинна бути тільки одна функція main().
Відкомпілювати проект програми та отримати результат. При відсутності помилок редактор зв’язків сформує з файлів проекту автономний exe-код програми.
Текст програми:
Програма 1
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define dec 10
long zvp(long int k);
void main()
{long int n;
clrscr();
printf("Введiть число:\n");
scanf("%ld",&n);
printf("Розвернене число число:\n");
printf("%ld",zvp(n));
getch();
}
long zvp(long int k)
{ int i; char s[12];
itoa(k,s,dec);
strrev(s);
k=atol(s);
return k;
}
Програма 2
#include <conio.h>
#include <stdio.h>
#include <string.h>
char *strzam(char *x, char *y, char *z);
void main()
{ char a[300], b[15],c[15], *d;
clrscr();
puts("Введiть речення:");
gets(a);
printf("Введiть слово яке потрiбно змiнити: "); gets(b);
printf("Введiть слово на яке потрiбно змiнити: "); gets(c);
d=strzam(a,b,c);
if (d==NULL)
printf("Заданого слова в реченнi немає!!!\n");
else {
printf("Модифiковане речення:\n");
printf("%s",d); }
getch();
}
Бібліотека lib
#include <stdio.h>
#include <string.h>
char *strzam(char *x, char *y, char *z)
{ char *p; int i,j;
if (strpbrk(x,y)!=NULL)
{
while(p!=NULL)
{p=strstr(x,y);
if(strlen(z)>=strlen(y))
for(i=strlen(p); i>strlen(y)-1; i--)
p[i+(strlen(z)-strlen(y))]=p[i];
else
for(i=0; i<strlen(p); i++)
p[i]=p[i+(strlen(y)-strlen(z))];
for(j=0; j<strlen(z); j++)
p[j]=z[j];
}
return x;
} else return NULL;
}
Результати виконання програми:
Програма 1
Програма 2
Висновки:
Я навчився розробляти функції мови Сі, як основні елементи структурного програмування; освоїв способи обміну даними між функціями. Навчився створювати проект багатофайлової програми з використанням бібліотек функцій.
Блок-схеми:
Програма 1
Програма 2
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!