
- •1 Загальні відомості
- •1.1 Топологія локальних мереж
- •1.2 Середовище передачі даних в локальних мережах
- •1.3 Пряме кабельне з’єднання
- •1.4 Способи з'єднання двох комп'ютерів для спільного використання файлів
- •1.5 Базові мережеві топології
- •1.6 Технологія клієнт-сервер
- •1.7 Корпоративні мережі
- •1.8 Маршрутизатори
- •2 Функціональне призначення
- •3 Аналіз та обгрунтування вибору метода вирішення задачі
- •4 Обгрунтування та опис структур даних, вхідних та вихідних форм
- •7 Опис логічної структури програми
- •6 Керівництво оператора
- •Додатки
2 Функціональне призначення
Метою курсової роботи: є формування професійного вміння та навичок, самостійності в прийнятті рішень на конкретній роботі в реальних умовах шляхом виконання різних завдань, властивих майбутній професійній діяльності та поглибити теоретичні та практичні знання та сформувати вміння і навики необхідні для раціонального використання мови програмування C/С++.
Розроблена в курсовій роботі програмне забезпечення призначена для видалення з даного рядка, що складається зі слів, слова розділені між собою пропусками, видаляти з рядка всі слова, що починаються з цифри. Програма зручна у використанні. При роботі не повинно виникати питань, так як детально розписано покрокове введення даних. Програма доступна для використання осіб будь-якого віку.
3 Аналіз та обгрунтування вибору метода вирішення задачі
Символьний рядок у мові C/C++ представляється в пам'яті як масив символів, наприкінці якого знаходиться байт із кодом 0 - ознака кінця рядка. Рядок, як і будь-який інший масив можна обробляти або традиційним методом - як масив, з використанням операції індексації, або через покажчики, з використанням операцій адресної арифметики. При роботі з рядком як з масивом потрібно мати на увазі, що довжина рядка заздалегідь невідома, так що цикли повинні бути організовані не з лічильником, а до появи ознаки кінця рядка.
Функція повинна реалізовувати поставлену задачу - і нічого більше. Це означає, що функцію можна буде, наприклад, перенести без змін у будь-яку іншу програму, якщо специфікації функції задовольняють умовам задачі. Це також означає, що при помилковому заданні параметрів або при якихось особливих випадках у їхніх значеннях функція не повинна аварійно завершувати програму або виводити якісь повідомлення на екран, але повинна повертати прогнозоване значення, по якому та функція, що викликала нашу, може зробити висновок про помилку або про особливий випадок.
4 Обгрунтування та опис структур даних, вхідних та вихідних форм
Програма складається з одного програмного модуля - файл kursova.с. До складу модуля входять дві функції - main, znaku. Глобальних змінних у програмі немає.
Функція main є головною функцією програми, вона призначена для уведення вихідних даних, виклику інших функцій і виводу результатів. У функції використовується змінна:
h – змінна, яка має цілий тип даних, і початкове значення h=2.
Функція main містить цикл з умовою while(h==2) при запуску програми, так як змінна h має початкове значення, то викликається функція znaku.
Функція znaku видаляє з рядка всі слова, що починаються з цифри. У функції визначені змінні:
m – довжина введеного рядка, цілий тип даних.
n=100 – максимальна кількість символів введеного рядка.
k=0, i=0 – змінні циклу, цілий тип даних та мають початкові значення.
j – змінна циклу, цілий тип даних.
str[100] – масив, символьний тип даних, має обмежену кількість символів.
B[100] – масив, символьний тип даних, має обмежену кількість символів.
У функції znaku виконуються наступні дії:
-
fgets (str,n,stdin) – вводиться строка через пробіл (максимальна кількість символів не повинна перевищувати 100)
-
m=strlen(str) – визначає кількість введених символів користувачем програми
-
в циклі з умовою while(i!=m) виконуються наступні дії:
-
if(str[i]==' ') – якщо даний символ являється пробілом то переходимо до наступної перевірки.
-
if((str[i+1]=='1')||(str[i+1]=='2')||(str[i+1]=='3')||(str[i+1]=='4')||(str[i+1]=='5')||(str[i+1]=='6')||(str[i+1]=='7')||(str[i+1]=='8')||(str[i+1]=='9')||(str[i+1]=='0')) – якщо даний символ дорівнює 1, або 2, або 3, або 4, або 5, або 6, або 7, або 8, або 9, або 0. То переходимо до наступної перевірки.
-
for(;i<m;i++) – поки «і» менше числу символів у строці виконується оператор вибору if(str[i+1]==' ') знаходимо кінець слова та переходимо, збільшуючи «і» на одиницю, на початок циклу while(i!=m).
Якщо оператор вибору if(str[i]==' ') є твердження не вірним то повертається збільшуючи на і++ на початок циклу while(i!=m).
При вірному твердженні оператору вибору if(str[i+1]==' ') та не вірному твердженні оператору вибору if((str[i+1]=='1')||(str[i+1]=='2')||(str[i+1]=='3')| |(str[i+1]=='4')||(str[i+1]=='5')||(str[i+1]=='6')||(str[i+1]=='7')||(str[i+1]=='8')||(str[i+1]=='9')||(str[i+1]=='0')) переходимо до того що записуємо у масив B[k+1] символ масиву str[i+1] збільшуючи k+1 та i+1 до наступного пробілу коли і=m переходимо до циклу for(i=0;i<k+1;i++) який має початкове значення і=0, поки і<k+1 виконується тіло функції: printf("%c", B[i]); - виводимо на екран монітору слова, які не починаються з цифри, при виконанні тіла функції і збільшується на одиницю, при закінченні роботи циклу for(i=0;i<k+1;i++) користувач програми може бачити результат на екрані монітора.