
- •Міністерство освіти і науки україни український державний морський технічний університет
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Робота № 4 розробка та реалізація програми з масивами
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Робота № 5 розробка та реалізація програми з викладеними циклами
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Робота № 6 розробка та реалізація програми з використанням процедур та функцій
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Робота № 7 розробка та реалізація програми з використанням рядкового типу даних
- •Короткі теоретичні відомості
- •Приклад виконання роботи
- •Робота № 8 розробка та реалізація програми з використанням файлового типу даних
- •Короткі теоретичні відомості
- •Приклад виконання роботи
Приклад виконання роботи
Завдання 7.1. Визначити дію фрагмента програми
Y:=0; Minus:=false;
if (X[1] = ’+’) or (X[1] = ’’)
then begin Minus:=(X[1] = ’’); Delete(X,1,1)
end;
for I:=1 to Length(X) do Y:=10Y+Ord(X[I])Ord(’0’);
if Minus then Y:=Y;
і обчислити значення змінних X і Y після його виконання, якщо
var X:string[18]; A:string[1]; Y:integer; X:=’1024’; Y:=512
Розв’язання:
Цей фрагмент програми перетворює значення рядкової змінної X у цілочислене і присвоює результат змінній Y. Після його виконання X=’1024’, а Y=1024.
Завдання 7.2. Скласти програму змінювання порядку слів в рядку на протилежний та виконати її у середовищі системи програмування Turbo Pascal 6.0
Розв’язання:
1. Постановка задачі
Скласти програму змінювання порядка слів в рядку на протилежний на мові Turbo Pascal.
2. Алгоритм розв’язання задачі
Алгоритм розв’язання задачі можна представити у вигляді такої послідовності дій:
2.1. Ввести рядок (OldLine);
2.2. Новому рядку (NewLine) присвоїти порожній рядок (рядок, який не містить символів, тобто ’’);
2.3. Додати пропуск до старого рядка (OldLine);
2.4. Повторювати наступні дії поки в рядку OldLine не будуть вичерпані усі слова або поки цей рядок не стане порожнім:
2.4.1. Визначити номер (Numb) позиції межи першого слова в старому рядку, тобто номер самої лівої позиції зразка ’ ’;
2.4.2. Cкопіювати з старого рядка перше слово (Word1);
2.4.3. Утворити новий рядок (NewLine) шляхом конкатенації (зчеплення) рядків: Word1 і NewLine;
2.4.4. Вилучити з старого рядка слово Word1 з урахуванням пропуску;
2.5. Надрукувати рядок NewLine після зміни порядку слів.
Остаточно представимо алгоритм на мові Turbo Pascal.
3. Текст програми
program LR7;
{змінювання порядку слів в рядку на протилежний}
uses Crt;
var NewLine, OldLine, Word1: string;
Numb: integer;
begin
ClrScr;
Writeln(’ Введіть рядок’); Readln(OldLine);
NewLine:=’’; OldLine:= Concat(OldLine,’ ’);
while OldLine <> ’’ do
begin Numb:=Pos(’ ’, OldLine);
Word1:=Copy(OldLine, 1, Numb);
NewLine:=Concat(Word1, NewLine);
Delete(OldLine, 1, Numb)
end;
Writeln(’ Рядок після зміни порядку слів’);
Writeln(NewLine)
end.
4. Результати роботи програми
Введіть рядок
Pascal Turbo
Рядок після зміни порядку слів
Turbo Pascal
Контрольні питання
1.Що таке конкатенація рядків?
2.Що робить кожна з слідуючих стандартних процедур: Delete, Insert, Str, Val?
3.Що робить кожна з слідуючих стандартних функцій: Length, Pos, Copy, Concat?
4.Як відбувається порівняння рядків?
Робота № 8 розробка та реалізація програми з використанням файлового типу даних
Ціль роботи: оволодіння навичками складання програми з використанням файлового типу даних та виконання її у середовищі системи програмування Turbo Pascal 6.0
Завдання:
1. Визначити значення змінних X, Y, Z після виконання фрагмента програми (завдання 8.1).
2. Скласти програму обчислення величин із завдання 4.2 з використанням файлів для введення-виведення даних і виконати її у середовищі системи програмування Turbo Pascal 6.0 (завдання 7.2).