
- •Мета Виконання лабораторних робіт
- •Порядок виконання лабораторних робіт
- •Вимоги до оформлення звітів про виконання лабораторних робіт
- •Лабораторна робота № 1
- •Порядок виконання лабораторної роботи:
- •Код програми мовою с
- •Лабораторна робота № 2 Дослідження роботи стандартних функцій вводу-виводу
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Розробка тестового прикладу
- •Результати виконання програми
- •Контрольні запитання
- •Лабораторна робота № 3 Дослідження виконання операції та обчислення виразів мови c. Перетворення та приведення типів даних
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Пріоритети операцій мови Сі
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 4 Програмування задач на розгалуження за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості.
- •If (логічний вираз) оператор1; else оператор2;
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 5 Програмування задач з використанням циклічних алгоритмів за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Вивід на екран нуля Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитаня
- •Лабораторна робота № 6 Розробка програм з використанням функцій.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання:
- •Лабораторна робота № 7 Програмування задач з використанням масивів даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 8 Опрацювання рядків тексту.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 9 Використання вказівників для роботи з масивами даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 10 Програмування задач на використання структур даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 11 Динамічні структури даних
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 12 Робота з дисковими файлами
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Література для самостійної роботи
- •Додаток а
- •Додаток б
- •Додаток в Функції стандартної бібліотеки для перетворення
- •Додаток г Функції стандартної бібліотеки роботи
- •Додаток д
- •Додаток е
Короткі теоретичні відомості
Мова програмування С дає можливість реалізувати концепцію функціональної декомпозиції задачі. Функціональної декомпозиція полягає в розбитті задачі на окремі прості підзадачі. Ці підзадачі реалізуються за допомогою функцій. Окремі функції об’єднують у спільну програму. Відкомпільована програма утворює модуль.
Розрізняють стандартні функції (scanf(), cos(), sqrt(), strlen() тощо) та функції користувача. Стандартні функції описані у бібліотеках (stdio.h, math.h, stdlib.h, string.h тощо), прототипи яких підключаються до програми за допомогою директиви передпроцесора #include. Функції користувача перед використанням необхідно оголосити або створити прототип.
Формат оголошення функції користувача. Оголошення функції розміщують перед або після головної функції main() і він складається із заголовка (без крапки з комою в кінці заголовка) і тіла функції, записаного у фігурних дужках.
<тип> назва_функції(<список формальних параметрів>)
{
<Тіло функції>;
return (назва змінної);
}
Тип задає тип результату, який функція повертає у місце виклику. Якщо функція не повертає жодного результату, то її оголошують з ключовим словом void. Якщо тип результату не вказати, то функція за замовчуванням повертає дане цілого типу – int. У тілі функції записують оператори, які задають дію функції. Результат виконання функції передається в точку виклику за допомогою оператора return. Виклик функції можна здійснити з головної або любої іншої функції програми. Приклад оголошення функції price:
float price(float c, int n)
{ float s;
s=c*n;
return (s);
}
Формат опису (створення прототипу) функці:
<типї>назва_функції(<список формальних параметрів>);
Приклади опису прототипу функцій:
int rez1(int a, int b, int c);
float price(float c, int n);
void vyvid_rez(double, char);
Ф
ормат
оператора виклику функці:
назва_функції(<список фактичних параметрів>);
ідент. = назва_функції(<список фактичних параметрів>);
Список фактичних параметрів може містити константи, змінні, вказівники, вирази, оператори виклику інших функцій. Списки фактичних і формальних параметрів повинні бути узгодженими за кількістю елементів та їх типами. Приклад виклику функції: price(2.5, sqrt(а)+7).
Приклад виконання лабораторної роботи
Постановка задачі. Написати функцію, яка забезпечить рішення квадратного рівняння. Крім цього на екран повинно виводитися прізвище та ім'я автора, номер групи та назва програми.
Граф-схема алгоритму програми
Блок 1 – початок алгоритму.
Блок 2 – введення коефіцієнтів при невідомих і вільного члена квадратного рівняння.
Блок 3 – виклик функції розв’язку квадратних рівнянь.
Блок 4 - виведення коренів квадратного рівняння на екран.
Блок 5 – закінчення алгоритму.
Код програми мовою с
#include <stdio.h>
#include <stdlib.h>
void kvadratne (int a,int b,int c);
int main(int argc, char *argv[])
{
int a,b,c;
puts("(c) Yatsunda Y.V. KI-22");
puts("Rishenja kvadratnogo rivnjanja");
puts("Vvedit koeficientu kvadratnogo rivnjanja");
scanf("%d %d %d",&a,&b,&c);
kvadratne(a,b,c);
puts(" ");
puts("Press any key to exit");
system("PAUSE");
return 0;
}
void kvadratne(int a, int b, int c)
{
float D,x1,x2;
D=b*b-4*a*c;
if (D==0)
{
x1=-b/(2*a);
x2=x1;
printf("Koreni rivjanja\n x1=%f\n x2=%f",x1,x2);
}
else if (D<0) puts("Koreni kompleksni");
else {
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf("Koreni rivnjanja x1=%f x2=%f",x1,x2);
}
}