- •Лабораторна робота №10
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Int len (char e[ ])
- •Int len (char *s)
- •Void invert(char e[ ])
- •Void main( )
- •Int index(char [ ], char [ ]);
- •Int row(char c1[ ], char c2[ ])
- •Void cone(char *c1, char *c2)
- •Void substr(char *c1, char *c2, int n, int k)
- •3. Приклад розв’язання задачі на еом (варіант 3, завдання №7)
- •Void ChangeStr(char **s1,int m)
- •3.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №11
- •Тема: Особливості роботи з одномірними динамічними масивами
- •Мета роботи: Отримання практичних навиків у роботі з одномірними динамічними масивами в мові c
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Void main()
- •3. Приклад розв’язання задачі на еом (варіант №30)
- •3.2. Визначення змінних програми
- •3.3. Розробка тексту програми Крім файлів:
- •Int main(void) {
- •3.4. Налагодження програми
- •3.5. Результати роботи програми
- •Контрольні запитання
- •2. Теоретичні відомості
- •Int**array;
- •Void quart(int n, float * х)
- •Void main()
- •Void quart (int n, float X [ ])
- •3. Приклад розв’язання задачі на еом (варіант №30)
- •3.1. Розробка алгоритму вирішення
- •3.2. Представлення матриці в пам'яті
- •3.3. Визначення змінних програми (варіант 1)
- •Int size;
- •3.4. Розробка тексту програми (варіант 1)
- •Void fill(int *, int);
- •Void fill(int *a, int s) {
- •3.5. Відмінності для варіанту реалізації 3
- •Void fill(int far **, int);
- •Void fill(int far **a, int s) {
- •3.6. Налагодження програми
- •3.7. Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №13
- •Порядок виконання роботи
- •1. Варіанти завдання Завдання 1
- •2. Теоретичні відомості
- •Void main( )
- •Void main( )
- •Void main( )
- •3.Стандартні функції для роботи зі стрічками (бібліотека string.H)
- •4. Приклади використання стандартних функцій для роботи зі стрічками
- •Функція аналогічна до stpcpy, strcpy, strncat
- •Функція аналогічна до strcspn, strrchr, strspn, strstr
- •Int far _fstrcmp(const char far *s1, const char far *s2);
- •Функція аналогічна до stpcpy, strncpy
- •- Size _t maxlen - максимальне число символів, які копіюємо з вихідної стрічки в результуючу.
- •Приклад: /*strncpy/cpp*/
- •5. Приклад розв’язання задачі на еом (варіант 2)
- •5.1. Розробка алгоритму вирішення
- •5.2 Розробка тексту програми
- •Int main()
- •4.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №14
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Void main( )
- •Приклади розробки функцій для обробки текстової інформації
- •Int len (char e[ ])
- •Int len (char *s)
- •Void invert(char e[ ])
- •Void main( )
- •Int index(char [ ], char [ ]);
- •Int row(char c1[ ], char c2[ ])
- •Void cone(char *c1, char *c2)
- •Void substr(char *c1, char *c2, int n, int k)
- •3. Приклад розв’язання задачі на еом (завдання 2, варіант 7)
- •Void ChangeStr(char **s1,int m)
- •4.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №15
- •Порядок виконання роботи
- •Варіанти завдання
- •Теоретичні відомості
- •Int pole2 ;
- •Приклад розв’язання задачі на еом (варіант №30)
- •Розробка алгоритму розв’язання задачі
- •Визначення змінних програми
- •Розробка тексту програми Текст програми починаємо з підключення файлу stdio.H.
- •Int main(void) {
- •If (!strcmp(mm[n].Name,"***")) break;
- •Контрольні запитання
- •Лабораторна робота №16
- •Порядок виконання роботи
- •1. Варіанти завдання
- •Теоретичні відомості Читання і запис текстових файлів
- •Int main ()
- •Приклад розв’язання задачі на еом (варіант 6)
- •Контрольні запитання
- •Лабораторна робота №17
- •Порядок виконання роботи
- •Варіанти завдання
- •Теоретичні відомості Читання і запис двійкових файлів
- •Відкриття двійкових фалів
- •Файли з послідовним доступом
- •Запис даних у файл c послідовним доступом
- •Int main()
- •If ( ! outf)
- •Int array[100];
- •Int main()
- •If ( ! inpf)
- •Int array[100];
- •Файли з довільним доступом
- •Int main()
- •If ( ! inpf)
- •Int main()
- •If ( ! outf)
- •Передача файлів між комп’ютерами.
- •Програмне підтвердження зв’язку
- •Перекачування файлу
- •Void send_file(fname)
- •Void wait(port)
- •Int port;
- •Прийом файлу
- •Void rec_file()
- •If(ferror(fp)) {
- •Void get_file_name(f)
- •Приклад розв’язання задачі на еом (варіант 10)
- •Контрольні питання
- •Література
Void fill(int far **a, int s) {
short l, r; /* рядок і стовпець */
short k=1; /* поточний член ЛП */
for (l=0; l<s; l++) /* перебір рядків */
for (r=0; r<s; r++) /* перебір стовпців */
/* умова нульового значення */
if ((r>=max(l,s-l-1))||(r<=min(l,s-l-1)))
A[l][r]=0;
else A[l][r]=k++;
/* кінець переборові стрічок */
/* кінець переборові стовпців */
}
3.6. Налагодження програми
При налагодженні програми рекомендується робити пошук помилок на основі аналізу виведених програмою даних, але при бажанні можна використовувати і покроковий режим.
3.7. Результати роботи програми
Нижче наведено два приклади результатів роботи програми: для парного і непарного значень розмірності.
S=10
0 1 2 3 4 5 6 7 8 0
0 0 9 10 11 12 13 14 0 0
0 0 0 15 16 17 18 0 0 0
0 0 0 0 19 20 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 21 22 0 0 0 0
0 0 0 23 24 25 26 0 0 0
0 0 27 28 29 30 31 32 0 0
0 33 34 35 36 37 38 39 40 0
S=9
0 1 2 3 4 5 6 7 0
0 0 8 9 10 11 12 0 0
0 0 0 13 14 15 0 0 0
0 0 0 0 16 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 17 0 0 0 0
0 0 0 18 19 20 0 0 0
0 0 21 22 23 24 25 0 0
0 26 27 28 29 30 31 32 0
Контрольні запитання
-
Що таке динамічний масив?
-
Що таке одномірний динамічний масив?
-
Які оператори необхідно використовувати для формування одномірного динамічного масиву в мові С?
-
Які оператори необхідно використовувати для формування двомірного динамічного масиву в мові С?
-
Як описується одномірний динамічний масив?
-
Як описується двомірний динамічний масив?
-
Чим відрізняється одномірний динамічний масив від двомірного масиву?
-
Як розподіляється пам'ять під масив вказівників, які вказують на масив стрічок?
-
Як розподіляється пам'ять під масив стрічок?
-
Основні функції, за допомогою яких можна працювати з динамічними масивами.
-
Які є способи передачі інформації з викликаючої програми в функцію?
-
За допомогою якої функції звільняється виділена раніше пам'ять?
-
Як описати масив, якщо він використовується як параметр функції?
-
Наведіть приклад функції, параметром якої є одномірний динамічний масив.
-
Наведіть приклад функції, параметром якої є двомірний динамічний масив.
Лабораторна робота №13
Тема: Особливості роботи зі стрічками в алгоритмічній мові Сі
Мета: набуття навичок роботи зі стрічками та масивами стрічок
Порядок виконання роботи
-
Ознайомитись з теоретичними відомостями.
-
Розробити описовий алгоритм, схему алгоритму та програму обробки стрічок з використанням стандартних функцій бібліотеки string.h відповідно завдання 1.
-
Розробити описовий алгоритм, схему алгоритму та програму обробки стрічок без використання стандартних функцій бібліотеки string.h відповідно завдання 1.
-
Для правильної роботи програм розробити 4-6 тестів.
-
Скласти звіт за результатами лабораторної роботи.
-
Зробити висновки.