- •Мета Виконання лабораторних робіт
- •Порядок виконання лабораторних робіт
- •Вимоги до оформлення звітів про виконання лабораторних робіт
- •Лабораторна робота № 1
- •Порядок виконання лабораторної роботи:
- •Код програми мовою с
- •Лабораторна робота № 2 Дослідження роботи стандартних функцій вводу-виводу
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Розробка тестового прикладу
- •Результати виконання програми
- •Контрольні запитання
- •Лабораторна робота № 3 Дослідження виконання операції та обчислення виразів мови c. Перетворення та приведення типів даних
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Пріоритети операцій мови Сі
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 4 Програмування задач на розгалуження за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості.
- •If (логічний вираз) оператор1; else оператор2;
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 5 Програмування задач з використанням циклічних алгоритмів за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Вивід на екран нуля Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитаня
- •Лабораторна робота № 6 Розробка програм з використанням функцій.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання:
- •Лабораторна робота № 7 Програмування задач з використанням масивів даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 8 Опрацювання рядків тексту.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 9 Використання вказівників для роботи з масивами даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 10 Програмування задач на використання структур даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 11 Динамічні структури даних
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 12 Робота з дисковими файлами
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Література для самостійної роботи
- •Додаток а
- •Додаток б
- •Додаток в Функції стандартної бібліотеки для перетворення
- •Додаток г Функції стандартної бібліотеки роботи
- •Додаток д
- •Додаток е
Короткі теоретичні відомості
Рядком називають будь-яку послідовність символів. В рядках зберігається інформація, яка складається з букв, цифр, розділових знаків та інших символів.
Для зберігання символів в мові С використовується тип даних char. Для роботи з рядками мова С не має спеціального типу даних, тому рядок символів представляється як одновимірний масив елементів символьного типу, який закінчується нуль-символом – ‘\0’, що є ознакою кінця рядка.
Формат рядка (масиву символів):
char імя_масиву [кількість елементів масиву];
При оголошенні рядка треба враховувати те, що фактична довжина рядка буде на один символ менша ніж оголошена, бо в останнім елементом масиву буде нуль-символ.
Наступним кроком роботи з рядком є ініціалізація масиву – присвоєння початкових значень елементам масиву. Якщо масив оголошується та ініціалізується одночасно, то довжину рядка можна не зазначати.
Приклад варіантів оголошення та ініціалізації рядка:
char name[12]={‘U’,’n’,’i’,’v’,’e’,’r’,’s’,’i’,’t’,’y’, ‘\0’};
char name[12]=”University”;
char name[]=”University”;
Для роботи з масивами символів мова С має набір функцій, прототипи яких описані в модулі string.h. Для використання цих функцій до програми потрібно за допомогою директиви передпроцесора підключити файл заголовків #include string.h. Деякі з стандартних функцій приведено в додатку Б.
Приклад виконання лабораторної роботи
Постановка задачі. Написати програму, яка введений з клавіатури рядок перетворює наступним чином: всі великі букви повинні стати маленькими. Крім цього на екран повинно виводитися прізвище та ім'я автора, номер групи та назва програми.
Граф-схема алгоритму програми
Блок 1 – початок алгоритму.
Блок 2 – введення рядка символів
Блок 3 - оператор циклу в якому здійснюється заміна великих букв на малі
Блок 4 – перевірка чи ASCII – код символу лежить в межах від 65 до 90 – велика буква латинської абетки. Якщо так, то до ASCII – коду символу додаємо число 32 – і отримуємо малу букву (блок 5), якщо результат перевірки негативний, то здійснюється перехід на наступну ітерацію циклу – блок 6.
Блок 7 – виведення рядка символів.
Блок 8 – закінчення алгоритму.
Код програми мовою с
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char rjadok[35];
int i, dovg;
puts("Kuznetsova K. KI-22");
puts("Peretvorenja velukuh liter y malenki");
puts("");
puts("Vvedit rjadok");
gets(rjadok);
dovg = strlen(rjadok);
for(i=0; i<dovg; i++)
{
if (rjadok[i]>=65)
if (rjadok[i]<=90)
rjadok[i]=rjadok[i]+32;
}
printf("Otrumanuj rjadok\n %s\n",rjadok);
system("PAUSE");
return 0;
}
Тестовий приклад
Нехай введений рядок
IujhYTRgThIkLPjk
На екрані маємо отримати наступне повідомлення:
iujhytrgthiklpjk
Результати виконання
Контрольні запитання
Який тип даних використовується у мові СІ для роботи з рядками?
Яку максимальну кількість символів можна записати в наступний масив символів char vox[10]?
Для чого потрібний нульовий символ?
В якому випадку при оголошенні рядка можна не зазначати його довжину?
Яку стандартну бібліотеку потрібно підключити до програми, щоб використовувати функції роботи з рядками?
Яку помилку допущено при оголошені та ініціалізації символьного масиву: char city[4]=”Lviv”?
Яка різниця між масивом символів і рядком?
Які функції, призначені для введення рядків Ви знаєте?
Які специфікатори потрібно застосувати у функції scanf() при введені рядка і при введені символу?
В яких випадках нуль-символ дописується автоматично, а в яких випадках його потрібно дописувати вручну?