Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 6
з дисципліни
“Основи програмування та алгоритмічні мови”
Тема: РЯДКИ
Варіант 28
Постановка задачі
Заданий рядок, що містить розділені пробілами слова. Відсортувати слова по зростанню їхньої довжини.
Аналітичні викладки
Відсортувати слова у рядку можна, утворивши тимчасовий масив слів рядку.Блок-схема алгоритму розв’язання задачі
Текст програми
program Lab_6;
uses crt;
Type str = string[15];
mas = array[1..127] of str;
var s : string; {Рядок}
m, r: mas; {Масиви слів}
i, k: byte; {Лічильники}
{Підготовка строки}
procedure blank(var s:string);
begin
while (s[1] = ' ') do
Delete (s, 1, 1);
while Pos (' ', s) <> 0 do
Delete (s, Pos (' ', s), 1);
if (s[Length (s)] <> ' ') then s := s + ' ';
end;
{Отримання масиву}
procedure getmas (const s:string; var m:mas; var i:byte);
var n:byte;
t:string;
begin
t := s;
i := 0;
while length(t) > 0 do
begin
i := i + 1;
n := Pos(' ', t);
m[i] := Copy(t, 1, n-1);
Delete (t, 1, n);
end;
end;
{Поміняти місцями}
procedure swap (var a,b:str);
var k:string;
begin
k:=a;
a:=b;
b:=k;
end;
{Сортування}
procedure sort (const m:mas; const i:byte; var r:mas);
var k,j:byte;
begin
r := m;
For k:=1 to i-1 do
for j := 1 to i-k do
begin
if length(r[j]) > length(r[j+1]) then swap(r[j],r[j+1]);
end;
end;
{Отримання строки}
procedure getstring(const m:mas; const i:byte; var s:string);
var j:byte;
begin
s := '';
for j:= 1 to i do
s := s + m[j] + ' ';
end;
begin
TextColor(0);
TextBackground(7);
clrscr;
writeln ('VVedite stroku:');
readln (s);
blank (s);
getmas(s, m, i);
sort(m, i, r);
getstring(r, i, s);
writeln(s);
readln
end.
Результати виконання програми
/
Висновок
Під час виконання лабораторної роботи я набув навичок роботи з текстовими рядками.
Програма працює правильно і виводить слова у порядку зростання їх довжини.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!