- •Міністерство транспорту та зв'язку україни
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1-2
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Порядок виконання лабораторної роботи
- •7 Контрольні запитання
- •Лабораторна робота № 3 Тема: "Програмування розгалужених обчислювальних процесів з використанням умовних операторів"
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Синтаксис оператора
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6-7
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 8
- •2 Постановка завдання
- •3 Приклад виконання лабораторної роботиІндивідуальне завдання
- •4 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 11-12
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 13-14
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 15
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 16
- •1 Короткі теоретичні відомості
- •Int strcmp(const chart *str1, const chart *str2);
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 17-18
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 19
- •1 Короткі теоретичні відомості
- •2 Завдання практичної роботи
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 20
- •1 Короткі теоретичні відомості
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 21
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1. Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 1-2
- •1 Короткі теоретичні відомості
- •Оператор виконує наступні дії:
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Постановка завдання
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи Завдання
- •Програма розв'язку
- •5 Контрольні запитання
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальни х завдань
- •4 Методичні вказівки
- •5 Приклад виконання практичної роботи
- •6 Контрольні запитання
- •Практична робота № 5
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Практична робота № 6
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •2 Завдання практичної роботи:
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •Програма розв'язку
- •4 Контрольні запитання
- •Список рекомендованої літератури
2 Постановка завдання
Задано рядок, що складається із слів, слова складаються з символів. Слова одне від одного відокремлюються одним або декількома пропусками. Наприкінці тексту ставиться крапка. Текст містить не більше 255 символів. Виконати ввід рядка, використовуючи функцію Gets(s) і здійснити обробку рядка у відповідності зі своїм варіантом.
3 Варіанти індивідуальних завдань
Надрукувати всі слова, кількість символів яких більша 4 або вивести на екран повідомлення про відсутність таких слів..
Перетворити рядок таким чином, щоб всі слова у ньому починалися тільки з букви “В’.
Надрукувати всі слова, кількість символів яких більша 7, або вивести на екран повідомлення про відсутність таких слів.
Надрукувати всі слова, які починаються з літери ‘a’, або вивести на екран повідомлення про відсутність таких слів.
Перетворити рядок так, щоб всі малі букви а в ньому були замінені великими буквами А.
Порахувати кількість слів в заданому тексті.
Перетворити рядок так, щоб всі букви Q в ньому були замінені великими буквами А.
Надрукувати всі слова, які починаються і закінчуються однаковими символами/
Перетворити рядок таким чином, щоб всі слова у ньому починалися тільки з букви “K’.
Перетворити рядок таким чином, щоб всі слова у ньому починалися тільки з букви “A’.
Перетворити рядок так, щоб всі малі букви y в ньому були замінені великими буквами Y.
Порахувати кількість слів в рядку.
Надрукувати всі слова, які починаються з літери ‘a’, або вивести на екран повідомлення про відсутність таких слів.
Порахувати кількість слів в рядку.
4 Методичні вказівки
При вводі та виводі символів використовувати функції getchar і putchar відповідно, а також scanf() i printf() з використанням відповідних специфікаторів формату.
Слід пам'ятати, що стрічка в пам’яті закінчується символом “\0”.
При написанні програми можна використовувати стандартні функції із бібліотеки <string.h>.
Контрольні запитання
Як здійснюється ввід символьних даних?
Як здійснюється вивід символьних даних?
Як здійснюється обробка рядків у мові СІ?
Що є ознакою кінця стрічки?
Які ви знаєте функції з бібліотеки <string.h> для обробки символів?
Практична робота № 7-8
Тема: Використання функцій прямого доступу до даних у файлах
Мета: Навчитися використовувати бібліотечні функції для організації прямого (довільного) доступу до дискових файлів
1 Короткі теоретичні відомості
З кожним відкритим файлом асоціюється вказівник позиції, який являє собою системний об’єкт, що вказує місце в файлі, в якому в даний момент виконується операція вводу-виводу. Позиція вказується в байтах від початку файлу. При відкритті файлу вказівник позиції встановлюється на початок файлу і рівний 0., так як створений файл має довжину 0 і інших позицій в ньому бути не може.
При відкритті існуючого файлу вказівник встановлюється в кінець файлу, якщо файл відкривається в режимі додавання даних і на початок файлу в усіх решту режимах.
Послідовний доступ. Операції читання і запису виконуються в текучому положенні вказівника. Після відкриття файлу для читання перших десяти байт вказівник встановлюється на 10 позиції, звідки і починається наступна позиція вводу. Тому при послідовному вводі чи виводі даних з файлу нема необхідності звертати увагу на вказівник позиції функції вводу виводу самі про це вирішать.
Прямий доступ. При повнішому контролі над операціями вводу виводу використовуються бібліотечні функції, які сприяють прямому доступу до даних у файлі, який означає, що дані у файл можна записувати в довільну позицію, так само можна з довільної позиції їх прочитати. Розглянемо бібліотечні функції для організації довільного доступу до даних файлів.
Функції ftell(). Визначає положення вказівника у файлі. Прототип знаходиться у файлі stdio.h.
long ftell(FILE *fp) ;
Аргумент fp - є вказівником на структуру FILE , який повертається з функції fopen() при відкритті файлу. Функція повертає значення типу long, яке вказує номер текучого байта у файлі від його початку (початковий номер байта у файлі = 0). У випадку помилки функція повертає -1L (cont -1 типу long).
Функції rewind Встановлює положення вказівника на початок файлу Прототип знаходиться у файлі stdio.h і має вид:
void rewind(FILE *fp) ;
Аргумент fp - є вказівником на структуру FILE , який повертається з функції fopen() при відкритті файлу. Використовується тоді, коли з файлу були вже зчитані дані і знову треба вернутися на початок.
Приклад програми використання функцій rewind(). і .ftell()..
#include <stdlib.h>
#include <stdio.h>
char msg[]="abcdefghijklmnopqrstuvwxyz"; /* присвоєння масиву msg значень*/
main(){FILE *fp; /* Опис вказівника на структуру */
char buf[6]; /* Опис масиву розмірності 6 */
fp = fopen("C:\\ff.TXT", "w")); /* Відкриття файлу для запису */
if ( (fp = =NULL) { printf( "Помилка відкриття"); exit(1); }
fputs(msg, fp); /*Запис масиву у файл */
if (fputs(msg, fp) == EOF) { printf("Помилка запису."); exit(1); }
fclose(fp); /*Закриття файлу для запису*/
fp = fopen("C:\\ff.TXT ", "r"); /*Відкриття файлу для читання. */
if ( (fp == NULL) { fprintf (".Помилка відкриття "); exit(1); }
printf("\n=положення файлового вказівника%ld", ftell(fp));
/*Результат Друк ftell(fp)=0 */
fgets(buf, 6, fp); /* Зчитування з файлу fp 5 символів. */
printf("\nAДрук 5-ти символів%s, положення вказівника = %ld", buf, ftell(fp));
rewind(fp); /* Повернення на початок потоку. */
printf("\n\n Друк позиції %ld", ftell(fp));
fclose(fp); }
Функції fseek(). Ця функція додаткові можливості керування положенням вказівника у файлі. З її допомогою можна встановити вказівник в будь-яку позицію у файлі. Прототип знаходиться у файлі stdio.h. і має вигляд
int fseek(FILE *fp, long a1, int а2);
Аргумент fp - є вказівником на структуру FILE, який повертається з функції fopen() при відкритті файлу. Відстань, на яку треба сумістити вказівник позиції задається аргументом a1, вираженого в байтах. Аргумент а2 задає точку, від якої обчислюється зміщення. Цей аргумент може мати одне з трьох значень — символічні константи, перераховані в таблиці
Таблиця. Допустимі значення аргументів а2 функції fseek()
Константа |
Значення |
Опис |
SEEK_SET |
0 |
Встановлює вказівник на байт з порядковим номером a1, починаючи з початку файлу |
SEEK_CUR |
1 |
Зміщує вказівник на a1 байт від його текучого значення |
SEEK_END |
2 |
Встановлює вказівник на відстань a1 байт, починаючи з кінця файлу |
Функція повертає 0, коли зміщення було виконано без помилок і ненульове значення у випадку помилки.