DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Основні

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Вступ до програмної інженерії
Група:
ПІ-11

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

Міністерство науки і освіти України Національний університет “Львівська Політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ Звіт З лабораторної роботи №3 з курсу «Вступ до програмної інженерії» Виконано Студент групи ПІ-11 Вандич А.В. Зараховано Левус Є.В. Львів 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(); } Блок-схема алгоритму  Графічне зображення структури даних  Мій трафарет  Висновок: Під час виконання даної лабораторної роботи я здобув основні навики для створення власного програмного проекту та його документування. Також я здобув навики роботи з програмою Visio, створюючи блок-схему алгоритму та свою структуру даних.
Антиботан аватар за замовчуванням

28.01.2013 14:41

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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