Курсовик ЯВУ (1021667), страница 3
Текст из файла (страница 3)
Количество слов в тексте равно : 4
| Номер теста | Проверяемый случай | Данные | Результат |
| 1 | В строке записано одно слово | Text: ‘Borland’ | num = 1 |
| 2 | В строке записано 3 слова | Text: ‘Borland Turbo Pascal’ | num = 3 |
5.2. Проверка баланса открывающих и закрывающих скобок
| program bal; |
| {$APPTYPE CONSOLE} |
| function rus(s:string):string; |
| var i:integer; |
| begin |
| for i:=1 to length(s) do |
| case s[i] of |
| 'A'..'п': s[i]:=chr(ord(s[i])-64); |
| 'р'..'я': s[i]:=chr(ord(s[i])-16); |
| end; |
| rus:=s; |
| end; |
| var |
| s : string; |
| dlina, flag, i : Integer; |
| begin |
| write (rus('Введите строку, содержащую скобки : ')); |
| readln(s); |
| i:=1; |
| flag:=0; |
| dlina:=length(s); |
| while (flag>=0) and (i<=dlina) do |
| begin |
| If s[i] = '(' then flag:=flag + 1; |
| If s[i] = ')' then flag:=flag - 1; |
| i:=i+1 |
| end; |
| writeln (rus('О т в е т')); |
| If flag=0 then write (rus('Есть баланс ')) else write (rus('Нет баланса ')); |
| writeln (rus('открывающих и закрывающих скобок')); |
| readln; |
| end. |
-----------------------------------------------------------------------
Введите строку, содержащую скобки : borland(turbo)pascal)
О т в е т
Нет баланса открывающих и закрывающих скобок
| № | Проверяемый случай | Данные | Результат |
| 1 | При просмотре линейной записи слева направо первой встречается закрывающая скобка | a)b+1( | Нет баланса |
| 2 | Первой встречается открывающая скобка, но число открывающих и закрывающих скобок не совпадает | (a+b)) | Нет баланса |
| 3 | Есть баланс скобок | (a+b/(c*d)) | Есть баланс |
5.3. Проверка равенства строк.
| program stroka; |
| {$APPTYPE CONSOLE} |
| function rus(s:string):string; |
| var i:integer; |
| begin |
| for i:=1 to length(s) do |
| case s[i] of |
| 'A'..'п': s[i]:=chr(ord(s[i])-64); |
| 'р'..'я': s[i]:=chr(ord(s[i])-16); |
| end; |
| rus:=s; |
| end; |
| var |
| s1,s2:string; |
| begin |
| writeln (rus('Введите первую строку')); |
| readln (s1); |
| writeln (rus('Введите вторую строку')); |
| readln(s2); |
| if length(s1) or length(s2) >80 then |
| begin |
| writeln (rus('Ошибка')); |
| exit; |
| end; |
| if (s1=s2) then |
| writeln (rus('Строки равны')) |
| else writeln (rus('строки не равны')); |
| readln; |
| end. |
------------------------------------------------------------------------------
Введите первую строку
borland turbo pascal
Введите вторую строку
borpland turbo pascal
строки не равны
| Номер теста | Проверяемый случай | Данные | Результат |
| 1 | Строки равны | s1: ‘Borland Turbo Pascal’; s2: ‘Borland Turbo Pascal’; | s1 = s2 |
| 2 | Строки не равны | s1: ‘Borland Turbo Pascal s2: ‘Borland Turbo Pascal and Delphi’; | s1 <> s2 |
5.4. Удаление из текста заданного символа и «сжатие» этого текста.
| program text; |
| {$APPTYPE CONSOLE} |
| function rus(s:string):string; |
| var i:integer; |
| begin |
| for i:=1 to length(s) do |
| case s[i] of |
| 'A'..'п': s[i]:=chr(ord(s[i])-64); |
| 'р'..'я': s[i]:=chr(ord(s[i])-16); |
| end; |
| rus:=s; |
| end; |
| var |
| S: string; |
| i:integer; |
| n:char; |
| begin |
| writeln (rus('Введите строку')); |
| readln (s); |
| writeln (rus('Введите удаляемый символ')); |
| readln (n); |
| i:=1; |
| while (i<=length(s)) do |
| if s[i]=n then |
| delete (s,i,1) |
| else inc(i); |
| writeln (rus('после сжатия : '),s); |
| readln; |
| end. |
-----------------------------------------------------------------------------
Введите строку
borland turbo pascal
Введите удаляемый символ
a
после сжатия : borlnd turbo pscl
| № | Проверяемый случай | Данные | Результат |
| 1 | Строка содержит символ «а» | Borland Turbo Pascal | Borlnd Turbo Pscl |
| 2 | Строка не содержит символ «а» | Строка содержит символ «а» | Строка содержит символ «а» |
18















