
- •Завдання (інструкційна картка) для лабораторної роботи
- •Інструкційна картка лабораторного заняття № 9
- •Загальні відомості з теми
- •1. Процедура видалення
- •2. Процедура вставки
- •3. Процедура перетворення числового значення в рядкове
- •4. Процедура перетворення рядкового значення в числове
- •Зміст роботи
- •Індивідуальні завдання
- •Приклади розв’язання задач по організації програм, для роботи з рядковими змінними
- •Лістинг програми:
- •Результат роботи програми:
- •Блок-схема алгоритму
- •Лістинг програми:
- •Контрольні питання
Лістинг програми:
Program rjadok;
uses crt;
var
st: string;
w: string;
p: integer;
begin
writeln ('введiть текст, розділяючи слова пропуском: ');
readln (st);
writeln ('заданий текст: ');
writeln (st);
p: =pos (' ', st); { Знаходження позиції 1-го пропуску }
writeln;
writeln ('в текст входять слова: ');
while p>0 do
begin w: =copy (st, 1, p-1); { Виділення слова }
delete (st, 1, p); {Видалення цього слова із тексту разом з пропуском}
writeln (w); { Друк виділеного слова }
p: =pos (' ', st) { Знаходження позиції чергового пропуску }
end; writeln (st) { Друк останнього слова }
end.
Результат роботи програми:
заданий текст: це програма обробки рядків на Pascal.
в текст входять слова:
це
програма
обробки
рядків
на
Pascal
Блок-схема алгоритму
Дано рядок із 100 символів. Визначити кількість входжень у цей рядок сполучення 'abc'.
Лістинг програми:
program Stroka;
const n=100;
type STR=array[1..n] of char;
var b: STR; m, i: integer;
begin
writeln (' Введіть строку');
for i:=1 to n do
read (b[i]);
for i:=1 to n-2 do
if ((b[i]='a') and (b[i+1]='b') and (b[i+2]='c')) then Inc(m);
writeln (' Кількість входжень 'abc' у вхідний рядок m=', m);
readln; end.
Вилучити з фрази а пропуски, коми і крапки, інші символи продублювати. Вивести результат.
Нехай задано рядок ‘Я люблю інформатику’. Визначити довжину рядка. Вивести на екран друге слово цього рядка.
Контрольні питання
Що таке рядок на Pascal?
Як задається рядковий тип даних?
Яка максимально допустима довжина рядка? Чи можна задати довжину рядка меншою максимально допустимого? Якщо можна, тоді як?
Як можна звернутися до окремих символів рядка?
Як визначити поточну довжину рядка, не використовуючи відповідну функцію?
Що таке рядковий вислів? Чи допускається в рядковому вислові змішування операндів рядкового і лiтерного типів?
Перерахувати операції, допустимі над рядковими даними.
Які стандартні функції процедури використовуються для обробки рядкових даних?
Чи можна рядкові дані застосовувати у вигляді <виразу> в операторі case?
Викладач ____________ М. О. Пашко