DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи № 9.2: Текстові файли

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
ООП
Факультет:
Факультет інформатики та обчислювальної техніки
Кафедра:
Кафедра обчислювальної техніки

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Основи програмування та алгоритмічні мови
Група:
К
Коротко про документ

Про що ця робота

У звіті розглядається створення та обробка текстових файлів мовою Паскаль. Наведено код програми для сортування слів за довжиною.

У роботі розглядаються

  • Програмування
  • Текстові файли
  • Алгоритмічні мови
  • Сортування масивів
  • Мова Pascal
  • Обробка рядків

Зміст і розділи

  1. Постановка задачі
  2. Аналітичні викладки
  3. Блок-схема алгоритму розв’язання задачі
  4. Текст програми
  5. Результати виконання програми
  6. Висновок
Для кого:Студенти технічних спеціальностей та викладачі
Викладачі:Викладач кафедри

Ключові поняття

текстовий файлмасивсортуваннярядокпроцедураалгоритмпрограмафайлсимволфільтрація

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний технічний університет України “Київський політехнічний інститут” Кафедра ОТ ЗВІТ про виконання лабораторної роботи № 9.2 з дисципліни “Основи програмування та алгоритмічні мови” Тема: ТЕКСТОВІ ФАЙЛИ Варіант 28 Постановка задачі Створити текстовий файл, вводячи рядки з клавіатури. Сформувати новий файл, що складається зі слів вхідного файлу, які зустрічаються у ньому більше N раз. Розмістити ці слова в новому файлі в порядку зростання їхньої довжини. Вивести вміст вхідного і створеного файлів. Аналітичні викладки Створити текстовий файл, зчитати слова з нього в масив, відсортувати масив за довжиною і алфавітом, записати слова, що повторюються більше N раз у новий файл. Блок-схема алгоритму розв’язання задачі   Текст програми program lab_9_2; uses crt; const max = 100; type str = string[15]; mas = array[1..max] of str; var m,r:mas; {Масиви даних} _N, {параметр N} n,v:word; {лічильники слів} a,b:string; k:char; {Створення} procedure create(const a:string); var st:string; s1, s2:char; f : text; begin Assign (f, a); Rewrite (f); Writeln ('input text (right arrow to end): '); REPEAT s1 := readkey; s2 := readkey; if (s1 = #0) and (s2 = #77) then break; write (s1, s2); ReadLn (st); st := s1 + s2 + st; Writeln (f, st); UNTIL False; Close (f); end; 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 form(var m:mas; st:string; var n:word); begin while Pos (' ', st) <> 0 do begin n := n + 1; m[n] := Copy (st, 1, Pos (' ', st) - 1); Delete (st, 1, Pos (' ', st)); end; end; {Зчитування файлу} procedure readf(const a:string; var m:mas; var n:word); var f:text; st:string; begin Assign (f, a); reset (f); n := 1; while not Eof(f) do begin readln(f,st); blank(st); form(m, st, n); end; close (f); end; {Запис файлу} procedure writef(const a:string; const m:mas; n:word); var i:word; f:text; begin Assign (f, a); rewrite (f); for i := 1 to n do writeln (f, m[i], ' '); close(f); end; {Виведення файлу} procedure outf(const a:string); var st:string; f:text; begin Assign(f, a); reset(f); writeln ('This is ',a); while not Eof(f) do begin readln(f, st); writeln(st); end; close(f); end; procedure swap (var a,b:str); var k:string; begin k:=a; a:=b; b:=k; end; {Сортування масиву} procedure sort (var m:mas; i:word); var k,j,l:word; begin For k:=1 to i-1 do for j := 1 to i-k do if (length(m[j]) > length(m[j+1])) or ((length(m[j]) = length(m[j+1])) and (m[j] > m[j+1])) then swap(m[j],m[j+1]); end; {Створення масиву слів, що задовольняють умові} procedure filter (const m:mas; n:word; var r:mas; var v:word); var i, k:word; begin i := 1; k := 1; v := 1; for i := 1 to n do if m[i+1] = m[i] then k := k + 1 else if k >= _N then begin r[v] := m[i]; v := v + 1; k := 1; end; v := v - 1; end; begin TextColor(0); TextBackGround(7); clrscr; a := '9_2in.txt'; b := '9_2out.txt'; create(a); outf(a); Write ('Vvedite N: '); Readln(_N); readf(a, m, n); sort(m, n); filter(m,n,r,v); writef(b, r, v); outf(b); readkey; end. Результати виконання програми / Висновок Під час виконання лабораторної роботи я вивчив особливості створення і обробки текстових файлів. Програма працює правильно: записує в файл ті слова, що зустрічаються в даному файлі більше N раз.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!