
- •Лабораторна робота № 1.
- •Теоретичні відомості
- •Система меню Turbo Pascal 7.0.
- •Меню роботи з файлами file.
- •Меню редагування edit.
- •Меню пошуку інформації search.
- •Меню використання програми run.
- •Меню компіляції compile.
- •Меню наладки debug
- •Меню вікон window
- •Меню інформаційної допомоги help.
- •Редактор тексту середовища Turbo Pascal
- •Команди управління рухом курсора.
- •Контрольні запитання.
- •Лабораторна робота № 2. Лінійні програми. Арифметичні вирази.
- •Теоретичні відомості(Pascal)
- •Значення вбудованих функцій:
- •Процедури введення-виведення:
- •Теоретичні відомості (с) Дві прості програми
- •В цій програмі порівняно з першою використано декілька нових речей
- •Приклад програми
- •Завдання
- •Контрольні запитання.
- •Лабораторна робота № 3 Процеси розгалуження.
- •Теоретичні відомості.(pascal)
- •If логічний вираз then оператор1 else оператор 2;
- •If логічний вираз then
- •If умова1 then if умова2 then оператор1 else оператор 2
- •Теоретичні відомості.(c) Операції відношення і логічні операції.
- •Умовний оператор if.
- •If (умова) оператор;
- •If (умова) оператор;
- •Приклад програми
- •Блок-схема алгоритму
- •Варіанти завдань
- •Контрольні запитання:
- •Лабораторна робота № 4. Розв’язування на еом задач з циклічним обчислювальним процесом.
- •Теоретичні відомості (Pascal).
- •Теоретичні відомості (“с”)
- •Цикли While і do-While
- •Контрольні запитання.
- •Лабораторна робота № 5,6. Одновимірні масиви. Двовимірні масиви.
- •Теоретичні відомості.(Pascal)
- •Теоретичні відомості.(c)
- •Двовимірні масиви
- •Ініціалізація масивів.
- •Масиви вказівників
- •Лабораторна робота №7 Складання блок-схем і програм з використанням процедур і функцій.
- •Теоретичні відомості.(Pascal)
- •1. Процедури
- •Теоретичні відомості.(«с») Функції в мові Сі.
- •Оголошення функції.
- •Прототипи функцій.
- •Область дії і область видимості змінних.
- •Параметри і аргументи функції.
- •Void sort (int arr[ ],int n ) /*можна ще писати void sort(int arr[10], int n), або void sort(int *arr, int n)*/
- •Програма мовою с
- •Лабораторна робота №8. Обробка текстів.
- •Теоретичні відомості.(Pascal)
- •Процедури для роботи з рядками
- •Функції для роботи з рядками.
- •Теоретичні відомості.(с) Масиви символів . Рядки.
- •Функції для роботи з рядками.
- •Приклад виконання завдання.
- •Блок-схема
- •Програма мовою Pascal
- •Програма мовою с
- •Контрольні запитання.
- •Завдання .
- •Лабораторна робота № 9. Записи з фіксованою частиною.
- •Теоретичні відомості
- •Приклад програми
- •Варіанти завдань
- •Процедури та функції тільки для типізованих файлів
- •Теоретичні відомості (с) Вказівник на файлову змінну.
- •Текст програми (Pascal)
- •Блок-схема.
- •Завдання.
- •Лабораторна робота №11. Графіка.
- •Деякі графічні функції
- •Приклад програми.
- •Варіанти завдань.
- •Контрольні запитання.
Лабораторна робота №8. Обробка текстів.
Мета роботи:
Оволодіти правилами опису рядкового типу даних.
Вивчити операції та стандартні функції і процедури, які застосовуються до рядків.
Здобути навички роботи з рядками символів.
Теоретичні відомості.(Pascal)
Рядок – це послідовність символів. При використанні у виразах рядок береться в лапки. Довжина рядка може змінюватися в межах від 0 до 255.
Рядок можна описати таким чином:
var <ідентифікатор,…>: string [максимальна довжина рядка];
Приклад: var St, St1, St2: string[50];
Доступ до кожного окремого символу рядка відбувається з допомогою його номера (індексу), наприклад, St[3], St[i], St[i+j].
Над рядками можна виконувати операцію конкатенації (+), яка зчеплює рядки в один рядок, і операції відношення (=, <>, >, >=, <, <=). Порівняння рядків відбувається зліва направо до першого символу, який не співпадає. Результатом порівняння є TRUE або FALSE.
Процедури для роботи з рядками
Delete (Str, Pos, N )—вилучення N символів у рядку Str, починаючи з позиції Pos.
Insert (Str1, Str2, Pos) – вставка рядка Str1 у рядок Str2, починаючи з позиції Pos.
Str (IBR, Str) – перетворення числового значення IBR у рядок Str.
Val (Str, IBR, Code) – перетворення рядка Str у величину цілого або дійсного типу IBR (Code <>0, якщо виявилась помилка).
Функції для роботи з рядками.
Copy (Str, Pos, N) – виділяє із рядка Str підрядок довжиною N символів, починаючи з позиції Pos.
Concat (Str1, Str2, …,Str N) – виконує зчеплення в один рядок рядків Str1, Str2, …,Str N.
Lenght (Str) – обчислює довжину рядка Str.
Pos (Str1, str2) – виявляє перше входження підрядка Str1 у рядок Str2. Результат дорівнює номеру першої позиції входження (або 0, якщо підрядок Str1 не знайдено
UpCase (Ch) – перетворює малу літеру у велику. Параметр і результат мають символьний тип.
Теоретичні відомості.(с) Масиви символів . Рядки.
В мові C немає типу string ( як у Pascal ). Для роботи з рядками використовують одновимірні масиви символів типу char. У мові С символьний рядок – це одновимірний масив типу char, який закінчується нульовим байтом ’\0’. Тому, якщо рядок містить n символів, то відповідний масив повинен мати n +1 елемент .
Є два способи ввести рядок з клавіатури
Використовувати scanf( ) зі специфікацією %s. Треба пам’ятати, що scanf вводить символи до першого пробільного символу .
Скористатись функцією gets( ) , яка дозволяє вводити рядки , що містять пропуски. Ввід закінчується натисканням клавіші Enter. Обидві функції автоматично ставлять в кінці рядка нульовий байт. Вивід рядків здійснюється функціями printf() або puts(). Обидві функції виводять вмістиме масиву до нульового байта. Функція puts() додає в кінець рядка символ переходу на новий рядок.
Функції для роботи з рядками.
Для роботи з рядками існує спеціальна бібліотека опис якої знаходиться в файлі String.h.
Найчастійше використовуються функції:
Strcpy(), strcat(), strlen(), strcmp().
Виклик функції Strcpy() має вигляд Strcpy(S1,S2);
Використовується для копіювання рядка S2 в рядок S1. Рядок S1 повинен бути достатньо великим, щоб у нього помістився рядок S2. Якщо місця мало, помилка не видається, але це може привести до псування інших даних або програми.
Виклик функції StrCat() має вигляд:
StrCat(S1,S2);
Приєднує рядок S2 до рядка S1 і поміщає його в масив, де був рядок S1, при цьому рядок S2 не змінюється.
Наприклад:
#include <Stdio.h>
#include <String.h>
main()
{ char s1[20], s2[20];
strcpy(s1,”hello,”);
strcpy(s2 ,” Привіт ”);
puts(s1);
puts(s2);
strcat(s1,s2);
puts(s1);
puts(s2);
}
Виклик функції strcmp( ) має вигляд :
Strcmp(s1,s2)
Функція порівнює рядки s1 i s2 i повертає значення 0, якщо рядки рівні (містять одинакові символи ). Функція повертає додатнє значення , якщо s1 більше від s2 і від’ємне , якщо s1 менше від s2.
Виклик функції strlen( ) має вигляд :
Strlen( s )
Функція повертає довжину рядка s (нульовий байт не враховується )
Виклик strlen( “ hello “ ) поверне значення 5.