Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська Політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи № 8
з курсу „Основи алгоритмізації та програмування”
Тема: Робота з даними рядкового типу.
Оголошення та використання процедур і функцій.
Виконано:
стдент групи КІ-14
Сорокевич М.І.
Перевірено:
Ногаль М.В.
Львів – 2003
МЕТА РОБОТИ:Навчитися використовувати у програмах данi рядкового типу та пiдпрограми (процедури і функції).
ТЕОРЕТИЧНІ ВІДОМОСТІ
Рядковий тип.
Рядковий тип у Паскалі використовується для обробки текстів. Для його оголошення використовується ключове слово string:
var ім'я_змінної: string[N];
де ім'я_змінної - правильний ідентифікатор, а N - ціле число або нетипована константа цілого типу зі значенням в діапазоні від 1 до 255. Якщо N не вказано, то довжина рядка приймається рівною 255 символів. Оголошення стрінга подібне на оголошення одномірного масиву символів var ім'я_змінної: array[0..N] of char;
Такий масив символів називається рядком фіксованої довжини. На відміну від нього, рядок типу string може містити різну кількість символів в межах від 0 до N.
Доступ до окремих символів стрінгу здійснюється так як до елементів одномірнрго масиву.
В пам'яті під рядок символів відводиться N+1 байт, причому нульовий байт містить динамічну довжину рядка. Якщо стрінгу присвоюється значення, кількість символів якого менша N, то реальна довжина рядка запамятовується в нульовому байті. Якщо кількість символів більша від N, то рядок відсікається зправа до визначеної довжини.
Над стрінгами допускається виконання операції конкатенації , яка позначається символом '+'. На відміну від рядків фіксованої довжини результат конкатенації рядків можна присвоїти іншому стрінгу. Операція конкатенації допускається над стрінгом та іншим стрінгом, рядком символів фіксованої довжини або окремим символом.
Для стрингів, рядків символів та окремих символів допускаються наступні операці відношення: =,<>,<,>,<=,>= . Операції відношення виконуються посимвольно зліва направо. При виконанні операцій відношення порівнюються ASCII-коди символів. Відповідність по довжині операндів не обов'язкова. Порівняння здійснюється до вичерпання довжини коротшого рядка. Результатом порівняння двох рядків є значення константи булівського типу true або false.
Ввід стрингів здійснюється по їх імені за допомогою процедури Read, а вивід за допомогою процедури Write. Ввід рядка здійснюється до натискання клавіші Enter або до вичерпання його оголошеної довжини.
Ввід рядка за допомогою процедури Read залишає у буфері вводу два символи #13#10, які виникають при натисканні клавіші Enter. Тому при наступному вводі рядків символів, наприклад, у циклі, буде прочитаний пустий рядок. Символи #13#10 будуть прочитані токаж наступною процедурою вводу символів, що приведе до неправильного вводу даних. Тому для вводу рядків та символів краще користуватися процедурою Readln, яка не залишає у буфері вводу вказаних символів. При вводі рядків у циклі необхідно обов'язково використовувати процедуру Readln. Наступна програма здійснює у циклі ввід рядків символів та записує їх у зворотньому порядку.
Для роботи з рядками використовується ряд бібліотечних процедур та функцій.
ЗАВДАННЯ
Варіант 7. Для заданих оголошень
type word_ = packed array [1..5] of char;
str = array [1..60] of word_;
var C: str;
надрукувати слово iз списку С, яке по алфавiту передує всiм iншим словам цього списку.
program lab8;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
n=5;
type
word_=packed array [1..5] of char;
str = array [1..n] of word_;
var
c: str;
x: word_;
i: integer;
begin
c[1]:='doors';
c[2]:='knife';
c[3]:='blade';
c[4]:='paste';
c[5]:='apple';
x:=c[1];
for i:=2 to n do
if x>c[i] then x:=c[i];
writeln('Pershe za alfavitom slovo zi spysku: ',x);
readln
end.
Результатом виконання програми буде виведення на дисплей наступного:
Pershe za alfavitom slovo zi spysku: apple
Висновок: На цій лабораторній роботі я навчився використовувати у програмах данi рядкового типу та процедури і функції, склав програму, яка виводить слово iз списку, яке по алфавiту передує всiм iншим словам цього списку.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!