Низов тип данни в Pascal, Content Platform

низов

Низов тип данни в Pascal

Низ (низов тип данни)е поредица от знаци с дължина N,където 1 s1, тогава допълнителните знаци ще бъдат отхвърлени

2. Операции за сравнение (релации) =, <>, >, =.

Правила за сравнение на низове:

1) Низовете се сравняват символ по символ в съответствие с техните кодове отляво надясно до първия несъвпадащ знак. Един низ се счита за по-голям, ако първият несъвпадащ знак в него има по-висок номер в кодовата таблица.

Например, 'MS-DOS' ='0') и (S1[i] st[j]) или (st[j]<>' ') тогава

for i:=1 to j do write(st[i]); writeln;

2) Работа с низ като един обект от масив (в този случай текущата дължина на низ се променя динамично):

Започнете writeln('input st');

докато pos(' ',st)>0 do delete(st, pos(' ',st),1);

Как мога да конвертирам тази програма, така че да няма интервали в началото и в края на низа?

Започнете writeln('input st');

докато pos(' ',st)>0 do delete(st, pos(' ',st),1);

if st[1]=' ' then delete(st,1,1);

if st[length(st)]=' ' then delete(st, length(st),1);

В PascalABC тази задача е опростена:

Започнете writeln('input st');

докато pos(' ',st)>0 do delete(st, pos(' ',st),1);

Забележка:Ако това решение на проблема се представи като процедура, тогава всеки низ може да бъде редуциран доправилната форма, т.е. до низ, в който всички думи са разделени с един интервал и няма излишни интервали в началото и края на низа. Това ще позволи решението на повечето проблеми на линии да доведе до един алгоритъм:

Започнете writeln('input s');

Докато pos(' ',s)>0 do

Задача 2.Намерете дума с максимална дължина в низ.

Докатоpos(' ',s)>0 do

Започнете writeln('input s');

Забележка:В проблема е използван правилният низ. В противен случай е необходимо да го доведете до тази форма, като премахнете излишните интервали (вижте решението по-горе) и го форматирате като процедура. По-добре е да включите тази процедура във вашия модул.

Списък със задачи за тип низ.

1. Даден е низ от знаци. Пребройте броя на думите в един ред. Напишете го като процедура или функция.

2. Даден е низ от знаци. Намерете думата с максимална дължина. Напишете го като процедура или функция.

3. Даден е низ от знаци. Намерете дума с минимална дължина. Напишете го като процедура или функция.

4. Даден е низ от знаци. Премахнете всички думи, започващи с "pro" от низа. Напишете го като процедура или функция.

5. Даден е низ от знаци. Премахнете всички цифрови знаци от низ. Напишете го като процедура или функция.

6. Даден е низ от знаци. Премахнете от него текста, ограден в <>. Да приемем, че такава комбинация се среща само веднъж в низ.

7. Даден е низ от знаци. Определете дали в него има думи, които започват и завършват с една и съща буква. Напишете го като процедура или функция.

8. Даден е низ от знаци. Определете дали съдържа палиндромни думи. Напишете го като процедура или функция.

9. Даден е низ от знаци. Заменете знаците "I", "2", "3" с думите "едно", "две", "три". Напишете го като процедура или функция.

10. Напишете процедура, която вмъква посочения знак след указаната позиция.

11. Напишете функция, която определя появата на даден елемент в низ.

12. Определете колко пъти GOTO се среща в низ. Напишете го като процедура или функция.

13. Символният низ се състои от латински букви. Подреди ги по азбучен ред. Плащане вкато процедура или функция.

14. Намерете всички палиндромни думи в низ. Напишете го като процедура или функция.

15. Определете дали в низаима еднакви думи. За издаване под формата напроцедури или функции.

16. Премахнете всички четни думи от низа. Настройте го като процедура.

17. Даден е низ от знаци. Премахване на всички нецифрови знаци от низ. Напишете го като процедура или функция.

18. Даден е низ от знаци. Определете колко различни знака има в низ.