DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи №8 з курсу: «Засоби системного програмування» на тему «Створення багатомодульних програм»

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2011
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Засоби системного програмування
Група:
КІ
Коротко про документ

Про що ця робота

У звіті наведено результати виконання лабораторної роботи з розробки багатомодульних програм на мові C. Метою роботи є закріплення навичок створення багатомодульного програмного забезпечення та передачі даних через параметри.

У роботі розглядаються

  • Системне програмування
  • Багатомодульні програми
  • Мова програмування C
  • Динамічний розподіл пам'яті
  • Структури даних
  • Передача параметрів у функції

Зміст і розділи

  1. Тема та мета роботи
  2. Завдання на лабораторну роботу
  3. Текст програми
  4. Результати виконання роботи
  5. Висновок
Для кого:Студенти технічних спеціальностей та викладачі дисциплін системного програмування.
Викладачі:Не вказано

Ключові поняття

багатомодульна програмаструктурадинамічна пам'ятьфункція mainаргументизаголовний файлмодульалгоритм сортуваннявказівник

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

Міністерство освіти і науки України НУ ”Львівська політехніка” Кафедра ЕОМ Звіт про виконання лабораторної роботи №8 з курсу: „Засоби системного програмування” на тему Створення багатомодульних програм Тема роботи: Створення багатомодульних програм. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками створення багатомодульних програм. Засвоїти техніку передавання даних функціям через параметри. Завдання на лабораторну роботу Розробити багатомодульне програмне забезпечення для опрацювання структурованих даних відповідно до заданого варіанту. Для створення багатомодульного програмного забезпечення використовувати файл проекту. У вигляді окремої функції (оформляється як окремий модуль) реалізувати підкреслену частину варіанту завдання. Даними з підпрограмами (функціями) обмінюватися через параметри функцій. Функції, що реалізовані в окремих модулях, повинні описуватися в файлах заголовків. Для внутрішнього представлення даних, що опрацьовуються, розробити відповідні структури даних. Під зберігання символьних рядків виділяти тільки мінімальні об’єми пам’яті. Прямокутники (у межах даних задач) однозначно представляються координатами верхнього лівого та нижнього правого кутів. Кількість записів передавати програмі через аргументи функції main(). Дані вводити зі стандартного пристрою вводу а результати виводити на стандартний пристрій виводу. Забезпечити коректне звільнення динамічно виділеної пам’яті при завершенні використання даних під які вона виділена. Звернути особливу увагу на обробку помилок, які користувач може зробити при використанні програми. При вирішенні задач забезпечити дружній інтерфейс з користувачем. Індивідуальне завдання: Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники в алфавітному порядку за іменами та вивести результати Результати виконання роботи. При запуску програми поряд з іменем .exe файлу потрібно ввести кількість Текст програми: void sort(void); struct Cub { char name[20]; int x1,y1; int x2,y2; }; # include <stdlib.h> # include <stdio.h> # include <conio.h> # include <string.h> # include <ctype.h> # include "labst_8.h" int n,i,j,byte; struct Cub *box[100]; int main(int argc, char *argv[]) { clrscr(); if( *argv[1]==NULL) {printf("Eror..."); return 0;} sscanf(argv[1],"%d",&n); for(i=0;i<100;i++) if ((box[i]=(struct Cub*)malloc((sizeof(char[20])+4*sizeof(int))) )==NULL) { printf("Not enought memory!!!"); return 1; } for(i=0;i<n;i++) { printf("Enter name of cub%d..",i); scanf("%s",&box[i]->name); printf("Enter koordunatu X1,Y1.."); scanf("%d %d",&(*box[i]).x1,&box[i]->y1); printf("Enter koordunatu X2,Y2.."); scanf("%d %d",&box[i]->x2,&box[i]->y2); } sort(); for(i=0;i<n;i++) printf("\nName of %d is %s.Koop.(%d,%d),(%d,%d)",i,box[i]->name,box[i]->x1,box[i]->y1,box[i]->x2,box[i]->y2); getchar(); return 0; } # include "labst_8.h" # include "string.h" extern struct Cub *box[100]; extern int n; void sort() { int k,i,j,tmp1,tmp2,tmp3,tmp4,byte; char tmp[20]; for(i=0;i<n;i++) { strcpy(tmp,box[i]->name); for(j=i;j<n;j++) if(strcmp(tmp,box[j]->name)>=0) { strcpy(tmp,box[j]->name); k=j; } if(strcmp(tmp,box[i]->name)<0) { tmp1=box[i]->x1;tmp2=box[i]->y1;tmp3=box[i]->x2;tmp4=box[i]->y2; strcpy(box[k]->name,box[i]->name); box[i]->x1=box[k]->x1;box[i]->y1=box[k]->y1; box[i]->x2=box[k]->x2;box[i]->y2=box[k]->y2; strcpy(box[i]->name,tmp); box[k]->x1=tmp1;box[k]->y1=tmp2;box[k]->x2=tmp3;box[k]->y2=tmp4; } } } Внаслідок виконання програми на екрані отримаємо: ..\labst_8.exe 3 Enter name of cub 0 ..abc Enter kordunatu X1,Y1..3 4 Enter kordunatu X2,Y2..4 3 Enter name of cub 1 ..bca Enter kordunatu X1,Y1..1 2 Enter kordunatu X2,Y2..2 1 Enter name of cub 2 ..acb Enter kordunatu X1,Y1..4 5 Enter kordunatu X2,Y2..5 4 Name of 0 is abc.koop.(3,4),(4,3) Name of 1 is acb.koop.(4,5),(5,4) Name of 2 is bca.koop.(1,2),(2,1) Висновок: на даній лабораторній роботі я оволодів практичними навиками створення багатомодульних програм на мові Сі.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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