Програмування функцій.Взаємодія формальних і фактичних параметрів

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

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

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

Рік:
2020
Тип роботи:
Лабораторна робота
Предмет:
Інформаційні технології

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра автоматизованих систем управління
Лабораторна роботи 2 Тема: «Програмування функцій.Взаємодія формальних і фактичних параметрів»
Львів 2020
Лабораторна робота 2
Тема роботи: Програмування функцій.Взаємодія формальних і фактичних параметрів Мета роботи:
Навчитисьрозробляти функції,які реалізують задані дії та повертають необхідні значення; Практично засвоїти способи передавння у функції значень різних типів та повернення із функцій результатів їхнього виконання; Завдання лабораторної роботи 1. Уважно прочитати умову задачі індивідуального завдання, де вказано, яка саме функція має бути розроблена в програмі. Ця функція обов'язкова, але можна (і здебільшого доцільно) створити й інші функції, які сприятимуть кращій структуризації програми (наприклад, для введення або виведення даних, перевірки певних умов, обчислення необхідних зпачень тощо).
2. Продумати склад параметрів кожної функції і тип значення, яке
вона повертає. У випадках, коли функція повинна повертати декілька різних значень, то один з них можна передати як результуюче значення функції, а всі інші треба записати за адресами, які функція має отримати через свої параметри-вказівники. Якщо ж у функцію треба передати адресу вказівника, в який буде записано адресу певного об'єкта, то відповідний параметр має бути вказівником на вказівник, тобто зберігати адресу цього вказівника.
3. Особливу увагу слід звертати на параметри функцій, які є масивами або символьними рядками, враховуючи, що відповідний формальний параметр розглядається у функції як змінна-вказівник на початок масиву (символьного рядка).
4. Треба обов'язково пам'ятати, що масиви і символьні рядки, які створюються у функціях як їхні внутрішні змінні, стають недоступними після завершення роботи функції і можуть бути затерті іншими функціями. Тому звертатись до них із зовнішніх функцій програми пе можна. Якщо потрібно повернути з функції масив або символьний рядок, то місце для цього масиву (рядка) має бути виділене в тій частині програми, в якій надалі він буде використовуватись. У функцію, яка створює масив (рядок), через відповідний параметр необхідно передати адресу, за якою мають бути записані елементи створеного масиву (рядка).
5. Оскільки в мові С функції є самостійними програмними одиницями, то кожну створену функцію (групу функцій) можна ввести та відкомпілювати автономно, щоб перевірити її синтаксичну правильність.
6. Узагальній програмі допільно першою записати функцію таїп(),а всі інші розроблені функції розташувати за нею. В заголовній частині програми необхідно оголосити прототипи всіх користувацьких функцій.
7. Виконуючи звертання до функцій, треба (перевіряти, чи типи і порядок запису фактичних параметрівстрого узгоджені з формальними параметрами відповідних функцій, а також, чи правильно застосовується значення, яко повертає функція.
8. Оформити звіт з лабораторної роботи, в якому вказати: " задачу індивідуального завдання; " текст розробленої програми з усіма функціями та коментарями; " результати виконання програми для різних значень вхідних висновок.
Індивідуальне завдання:
Варіант 31 Розробити функцію, яка шукає у заданому символьному рядку всі числа (відомо, що в рядку крім тексту є тільки цілі числа), перетворює їх у формат int та заносить у вказаний масив цілих чисел. З клавіатури ввести послідовність символьних рядків, в яких крім слів є цілі числа. Використовуючи розроблену функцію, заповнити цілочислову матрицю числами з введених рядків .Надрукувати створену матрицю.
include
include
include
define LEN 100 define KST 5
char* FindNumber(char* s); long GetNumber(char* pn, char** next);
int main() {
char strings[LEN][LEN];
int i = 0;
int p = 0;
int k = 0;
while (k < KST) {
printf("Enter a string:n");
gets_s(strings[i], LEN);
i++;
k++;
}
int j = 0;
printf("nn%d",k);
while (k != 0) {
char* pnum = strings[j];
while ((pnum = FindNumber(pnum)) != NULL) {
printf("%dt", GetNumber(pnum, &pnum));
if (*pnum == '0') break;
}
j++;
k--;
puts("n");
}
system("pause");
return 0;
}
char* FindNumber(char* s) {
while (!isdigit(*s) && *s != '0')
s++;
if (*s == '0') return NULL;
else return s; }
long GetNumber(char* pn, char** next) {
long numb = 0;
while (isdigit(*pn)) {
numb = numb * 10 + (*pn - 48);
pn++;
}
*next = pn;
return numb;
} Висновок: Виконавши завдання даної лабораторної роботи я Навчилась розробляти функції,які реалізують задані дії та повертають необхідні значення; Також практично засвоїтла способи передавння у функції значень різних типів та повернення із функцій результатів їхнього виконання
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини