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

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

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

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

Інтегровані структури даних, запису

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

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

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

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Алгоритми і структури даних
Група:
КН
Коротко про документ

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

У цій лабораторній роботі досліджуються інтегровані структури даних та записи на мові програмування C++. Розроблено програму для введення, збереження та сортування даних працівників відділу кадрів.

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

  • Структури даних
  • Записи
  • Модульне програмування
  • Сортування масивів
  • Мова програмування C++
  • Обробка файлів
  • Алгоритмізація

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

  1. Мета роботи
  2. Постановка завдання
  3. Варіант індивідуального завдання
  4. Хід виконання роботи
  5. Текст програми на мові С++
  6. Результати комп'ютерної реалізації програми
  7. Висновки
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають алгоритми та структури даних.
Викладачі:Не вказано

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

інтегровані структури данихзаписимодульне програмуваннябазові операціїсортування масивуклас workerчитання з файлуфайловий ввід-вивідпрізвищеоклад

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

Міністерство освіти і науки України Національний університет "Львівська політехніка" Кафедра "Інформаційні системи та мережі"    Лабораторна робота № 3 з предмету: Алгоритми і Структури Даних на тему: Інтегровані структури даних, запису.          ЛЬВІВ-2008  Тема: Інтегровані структури даних, запису. Мета роботи: Придбання і закріплення навиків в роботі із записами, в інтеграції даних, в модульному програмуванні. Постановка завдання Для заданої прикладної області розробити опис об'єктів цієї області. Розробити процедури, що реалізуюють базові операції над цими об'єктами, зокрема: текстове введення-виведення (консольний і файловий); присвоювання; задання константних значень; порівняння (не менше 2-х типів). Підготувати файл початкових даних, що містять не менше 10 значень конкретних об'єктів. Використовуючи процедури і описи модуля типу даних, розробити програму, що забезпечує введення початкових даних з першого файлу даних в пам'ять і зберігання їх в масиві, сортування масиву по алфавітному і по числовому параметру. Варіанти індивідуальних завдань Для кожної області перераховані параметри об'єкту. Серед параметрів обов'язково є ключове алфавітне поле (наприклад, прізвище), яке ідентифікує об'єкт, у кожного об'єкту є також одне або декілька числових полів, по яким вірогідні звернення до об'єкту. Набір характеристик може бути розширений і ускладнений по розсуду виконавця. Варіант індивідуального завданя: Прикладна область: Відділ кадрів, Атрибути інформації: прізвище співробітника, ім'я, по батькові, посада, стаж роботи, оклад Перевірити, чи всі нульові елементи розміщені в лівій частині матриці (варіант №1). Хід виконання роботи: текстове введення-виведення (консольний і файловий); присвоювання; 2 типи порівняння. Використовуючи процедури і описи модуля типу даних, розробити програму, що забезпечує введення початкових даних з файлу даних в пам'ять і зберігання їх в масиві, сортування масиву по алфавітному і по параметру зарплати. Текст програми на мові С++: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> class Worker { public: char name[20]; char surname[20]; char status[10]; int celery; int stag; public: Worker(char *n=NULL, char *sn=NULL, char *s=NULL, int c=0, int st=0) { if(n) strcpy(name, n); else *name='\n'; if(sn)strcpy(surname, sn);else *surname='\n'; if(s) strcpy(status, s); else *status='\n'; celery=c; stag=st; } void operator()(char *n, char *sn, char s, int c, int st) { *name='\0'; *surname='\0'; *status='\0'; celery=c; stag=st; } int read(FILE *in=NULL) { if(!in)in=stdin; return fscanf(in, "%s%s%s%d%d\n", name, surname, status, &celery, &stag)==5?1:0; } int write(FILE *out=NULL) { if(!out)out=stdout; return fprintf(out, "%-20s%-20s%-10s%4d%2d\n", name, surname, status, celery, stag)==5?1:0; } int operator<(Worker w) { int c; c=strcmp(name, w.name); if(c) return c<0?1:0; c=strcmp(surname, w.surname); return c<0?1:0; } int operator>(Worker w) { int c; c=strcmp(name, w.name); if(c) return c>0?1:0; c=strcmp(surname, w.surname); return c>0?1:0; } int operator<<(Worker w) { return celery<w.celery?1:0; } int operator>>(Worker w) { return celery>w.celery?1:0; } }; int readall(Worker w[], int maxn, char *fname) { int i; if(fname) { FILE *f=fopen(fname, "r"); if(!f){ puts("ERROR 1"); exit(1); } for(i=0; i<maxn; i++) if(!w[i].read(f)) return i; if(*fname)fclose(f); return i+1; }else{ for(i=0; i<maxn; i++) if(!w[i].read(stdin)) return i; return i-1; } } writeall(Worker w[], int maxn, char *fname) { int i; if(fname) { FILE *f=fopen(fname, "w"); if(!f){ puts("ERROR 2"); exit(1); } for(i=0; i<maxn; i++) w[i].write(f); if(*fname)fclose(f); }else{ for(i=0; i<maxn; i++) w[i].write(stdout); } } void sortns(Worker w[], int wn) { for(int i=0; i<wn-1; i++) for(int j=i+1; j<wn; j++) if(w[i]>w[j]) { Worker t=w[i]; w[i]=w[j]; w[j]=t; } } void sorts(Worker w[], int wn) { for(int i=0; i<wn-1; i++) for(int j=i+1; j<wn; j++) if(w[i]>>w[j]) { Worker t=w[i]; w[i]=w[j]; w[j]=t; } } void main() { Worker w[20]; int wn=0; char fname[80]; clrscr(); puts("Enter data file name(blank line for console)\n"); gets(fname); wn=readall(w, 20, fname); printf("\nRecords read: %d\n", wn); writeall(w, wn, NULL); getch(); sortns(w, wn); puts("\nSorted by name and surname\n"); writeall(w, wn, NULL); getch(); sorts(w, wn); puts("\nSorted by selery\n"); writeall(w, wn, NULL); getch(); return; } Результати компютерної реалізації програми: Результати компютерної реалізації програми виправдали очікування і підтвардили правильність її складання. Нижче наведено скріншот, який демонструє це:  Висновки Під час виконання роботи я придбав і закріпив навики в роботі із записами, в інтергациі даних, в модульному програмуванні.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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