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

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

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

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Вступ до програмної інженерії
Група:
ПІ

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

Міністерство науки і освіти України Національний університет “Львівська Політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ Звіт З лабораторної роботи №3 з курсу «Вступ до програмної інженерії» Виконано Студент групи ПІ-1 Львів 2008 Тема: Основні фази життєвого циклу програмного забезпечення. Мета: Засвоїти на практиці основні фази ЖЦ програмного забезпечення на прикладі опису створення власної програми. Завдання Сформувати технічне завдання згідно поданого плану та розробити документи з пункту №6 згідно індивідуального варіанту лабораторної роботи з курсу «Основи програмування та алгоритмічні мови»(Лабораторна робота №7) . Хід виконання роботи Технічне завдання 1. Найменування роботи: Лабораторна робота №3.(Умовне позначення – lab_3) Замовник – Левус Євгенія Василівна, розробник – Вандич Андрій Володимирович. Дата початку роботи – 18.03.2008, дата закінчення роботи – 8.04.2008. 2. Програма призначена для виявлення студентів, що вчаться на відмінно. Основне завдання програми досягнуте. 3. За допомогою цього програмного засобу мають оброблятися структури даних, що містять ім’я, прізвище, дату народження та 5 оцінок студента. 4. Для ефективної роботи ПЗ потрібно комп’ютер з характеристиками: частота процесора – 100 Гц, 8 Мб оперативної пам’яті, відеокарта – 1 Мб та ОС Windows 95/98 і вище. 5. Було розроблено документи: Блок-схема алгоритму, схематичне зображення структури даних, текст програми, опис тестів, інструкція до користування. 6. Для виконання роботи було використано літературу: Конспекти лекцій з предмету ВПІ – Левус Є.В. Конспекти лекцій з предмету Основи програмування – Семотюк В.М. Інструкція до користування Шановний користувач – ця програма створена для обробки даних про студентів. Ви вводите інформацію про студента у форматі <Прізвище> <ім’я> <дата народження> <п’ять оцінок>, а проограма виводить на екран інформацію лише про тих студентів в яких є оцінка 5. Запускаємо программу на виконання. Після запуску на екрані появляєть ся вікно для введення інформації. Щоб ввести інформацію про студента вводимо у натискаємо клавішу Enter, після цього вводимо інформацію. Увага інформація має вводитись у заданому фпрматі. Між буквами прізвища та імені немає бути пробілів. Не можна вводити забагато даних, так як це призведе до некоректної роботи програми. Для завершення вводу введіть символ n та натисніть Enter. Після цього на екран виведеться інформація про студентів в яких є оцінка 5. Якщо виникли проблеми з експлуатації програми звертайтеся до розробника!!! Опис тестів Програма може видавати некоректні розв’язки у випадках: Якщо будуть введені дані, які перевищують діапазони введених даних, то програма дасть збій і здійснить «Аварійне завершення програми» або «зависне»; Якщо буде введено забагато даних то дані, які не будуть зчитані при проході циклу залишаться у потоці вводу і при наступному проході циклу вони будуть занесені замість потрібних нам даних. Потім повториться та ж ситуація і програма видасть нам некоректний розв’язок;  Між символами в прізвищі та імені не повинно стояти пробілів так як виникне ситуація, яку я розглянув у другому випадку; У всіх інших випадках програма має працювати коректно.У випадку збоїв у роботі звертатися до автора.  Текст програми з коментарями #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> struct student// Оголошення структури даних student з полями {char surname[20];//для імені,прізвища,дати народження та оцінок char name[20]; long birth; int marks[5]; struct student *next; } *head=NULL,*nw,*buf,*current=NULL,*current1=NULL; void add(void)// Ф-я для додавання нового елементу у список {nw=(struct student*)malloc(sizeof(struct student));//створення нового елементу nw->next=NULL;//Присвоєння вказівнику на наступний елемент нульового значення //так, як наступного ще не існує buf=head;//Присвоєння змінній для проходження значення вершини списку //Зчитування даних з клавіатури scanf("%s%s%ld%d%d%d%d%d",nw->surname,nw->name,&(nw->birth),&(nw->marks[0]),&(nw->marks[1]),&(nw->marks[2]),&(nw->marks[3]),&(nw->marks[4])); //Пошук місця де вставити елемент if (head==NULL)//Якщо список пустий то зробити елемент вершиною списка head=nw; else { //Якщо список не пустий, то пошук місця вставки (першого елемента молодшого від //даного) while(nw->birth<buf->birth && buf->next!=NULL) buf=buf->next; if (buf==head)//Якщо вставляєм в початок списку: {nw->next=head; head=nw; } еlse//Якщо всавляєм в середину списку: { if(buf->next!=NULL) nw->next=buf->next; buf->next=nw; } } } void main (void) {char m,n='n'; clrscr(); puts("Vvedit dani u formati:Prizvyshche Imja data nar. 5 ocinok"); while (1)//Введення даних {puts("Vvedit 'y' dla vvednnia studentiv ta 'n' dlia zavershennia"); scanf("%s",&m); if (m==n) break; add(); }; buf=head;//Видалення зі списку студентів що не мають оцінки 5 if (head !=NULL) do {if ((buf->marks[0]!=5) && (buf->marks[1]!=5) && (buf->marks[2]!=5) && (buf->marks[3]!=5) && (buf->marks[4]!=5)) {if (current==NULL)//Якщо це перший елемент то видаляєм { current=buf->next; free(buf); buf=current; current=NULL; head=buf; } else {if (buf->next!=NULL)//Якшо це не останній у списку {current->next=buf->next;//Видаляєм і змінній проходження присвоюєм //наступний елемент free(buf); buf=current->next; } //Якщо елемент останній, то видаляєм else {free(buf);current->next=NULL;buf=NULL; } } } еlse// Якшо елемент має 5 то переходим до наступного { current=buf; buf=buf->next; } }while (buf!=NULL); if (head != NULL)puts("Studenty yaki mayut` ocinky 5");//Якщо список не пустий buf=head; while (buf!=NULL)//Вивід по спаданню віку студентів {printf("%s %s %ld %d %d %d %d %d",buf->surname,buf->name,buf->birth,buf->marks[0],buf->marks[1],buf->marks[2],buf->marks[3],buf->marks[4]); buf=buf->next; printf("\n"); }; getch(); } Блок-схема алгоритму  EMBED Visio.Drawing.11   EMBED Visio.Drawing.11  Графічне зображення структури даних  EMBED Visio.Drawing.11  Мій трафарет  EMBED Visio.Drawing.11  Висновок: Під час виконання даної лабораторної роботи я здобув основні навики для створення власного програмного проекту та його документування. Також я здобув навики роботи з програмою Visio, створюючи блок-схему алгоритму та свою структуру даних.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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