Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Литерные переменные



Дайте определение литерной величины.

Как описываются литерные переменные на языке Turbopascal?

Объясните, какие значения могут принимать строковые величины А, В, С (что общее и в чем различия), если они описаны следующим образом:

var A: string;

B: string[20]:

C: string[255];

Перечислите все операции над литерными переменными в алгоритмическом языке.

Перечислите все стандартные операции над литерными переменными в Турбопаскале. Проведите сравнительный анализ операций в Турбопаскале и в ЯША.

Объясните, для чего предназначены и как используются стандартные функции обработки строковых величин.

Объясните, для чего предназначены и как используются стандартные процедуры обработки строковых величин.

Всегда ли справедливы следующие утверждения:
а) если c-литера и '0' £ c £ '9', то c-цифра;
б) если c-литера и 'а' £ c £ 'z', то c-строчная латинская буква;
в) 'c'<'A';
г) '0'=0;
д) ord('0')=0;
е) 'a'='A';
ж) если c и d-литеры, то c<d тогда и только тогда, когда ord(c)<ord(d);
з) ord(chr(k))=k для любого целого k;
и) chr(ord(c))=c для любого c-литеры.

Дайте формальное описание типа string[100] как массива.

Объясните, для чего предназначены и как исполняются следующие команды:

Q:=a+ba; S:=concat(a,b,c,d); Pos(Q,W); Copy(r,11,3); Length(s); Length(a+c); delete(f,3,6); insert(f,r,5); chr(n); ord(f1); str(f:5:2,q); val(a,b,x);

Укажите синтаксические ошибки:

insert('т','тор') copy('бас',3); str(string[10]); insert('р','кис','з'); k:=str('120',n); insert('3','124','3'); ord(25); o:=pos(4,'нога'); delete('сенокос',5,3); с:='3,1415'; delete(c,'14',2); 12) val(123.4567,x,i) 13) ai=delete(1,a,3); 14) str('123.4567',x); 15) d:=ord(chr(d))+32); 16) t:=copy(t,1,length(t/2)); 17) val('123.4567',x); 18) concat('ра','ма'); 19) c:=concat(4,'5');

Укажите смысловые и синтаксические ошибки:

if length(a/2)=trunc(length(a/2)) then a:=8; else a:=concat(a,a,3); for i:=1 to length(i) do begin c:=pos(c,I);
if a mod 2=2 then c:=’12345’ else c:=’12345’-‘345’; a:=’abcdefgh’; for i:=1 to 8 do begin a:=insert(a,’12’,i);end;
s:=’1234567890’ for i:=2 to lenght(s) delete(s,i,i); i:=1;n:=length(a); wihle i>=n do insert(a,i,’23’); i:=i+1;
w:=’123.4567’; q:=copy(w,4,1); r:=copy(w,1,3); s:=copy(w,5,4); t:=q-r+s; concat(a,a[pos(a,3)],q); t:=pos(ord(chr(45)),’12345,67890’); s:=str(‘qwert’,x,i); val(s:3:2,i);

Укажите значение переменной c после исполнения серии команд:

c:='гардемарин';
c:=copy(c,4,3)+'о'+copy(c,length(c)-1,1);

c:='баскетбол';
c:=copy(c,3,1)+copy(c,6,1)+copy(c,length(c)-1,2);

c:='баскетбол';
c:=copy(c,length(c)-2,3)+copy(c,length(c)-3,1);

c:='баскетбол';
c:=copy(c,4,3)+copy(c,2,1);

c:='баскетбол';
c:=copy(c,3,2)+copy(c,length(c)-1,1)+copy(c,7,1)+copy(c,2,1);

c:='трафарет';
c:=copy(c,4,2)+copy(c,2,2);

c:='трафарет';
c:=copy(c,length(c),1)+ copy(c,length(c)-1,1)+copy(c,3,1)+copy(c,1,2);

c:='трафарет';
c:=copy(c,2,2)+copy(c,length(c)-2,1)+ copy(c,length(c),1)+copy(c,7,2);
insert('и',c,4);

c:='трафарет';
c:=copy(c,4,1)+copy(c,2,2)+'к';

c:='трафарет';
c:=copy(c,5,length(c)-4)+ copy(c,3,1);
insert('к',c,1);

c:='трафарет';
c:=copy(c,1,3)+copy(c,length(c),1)+copy(c,3,1);
insert('у',c,1);

c:='сигма';
delete(c,2,2);
insert('к',c,4);

c:='информатика';
delete(c,1,2);
delete(c,7,3);

c:='работа';
delete(c,1,1);
insert('з',c,1);

(15) c:='3.1415'; (16) c:='1999'; (17) c:='1803';
b:=copy(c,1,4); insert('21',c,3); delete(c,2,2);
val(b,x,p); val(c,x,p); insert('99',c,2);
str(x:3:1,c); str(x:4,c); val(c,x,p);
str(x:2,c);

Что делает данный фрагмент программы?

(1).for i:=1 to length(A) do if copy(A,i,1)='o' then begin delete(A,i,1); insert('a',A,i); end; (6).for i:=1 to length(A) do begin c:=copy(A,i,1); insert(c,A,2*i-1); end;
(2).s:='абракадабра'; i:=1; while i<=length(s) do if copy(s,I,1)='а' then delete(s,i,1) else i:=i+1; (7).p:='информатика'; i:=1; while i<=length(p) do if copy(p,i,1)='и' then delete(p,i,1) else i:=i+1;
(3).k:=length(A); if k/2=trunc(k/2) then delete(A,1,1) else delete(A,k,1); (8).k:=length(A); if k/2=trunc(k/2) then delete(A,trunc(k/2),2) else delete(A,trunc(k/2),1);
(4).for i:=1 to length(A) do insert(copy(A,I,1),A,2*i-1); (9).k:='каракатица'; i:=1; while i<=length(k) do if copy(k,i,1)='a' then delete(k,i,1) else i:=i+1;
(5).b:=trunc(length(k)/2); for i:=1 to b do k:=copy(k,1,i-1)+copy(k,length(k)-i+1,1)+copy(k,i+1,length(k)-2*i)+copy(k,i,1)+copy(k,length(k)-i+2,i-1);

Дополните описание стандартных процедур и функций обработки строковых переменных в соответствии с образцом, данным в пунктaх а) и e):

procedure delete(var a: string; i: integer; j: integer);

procedure insert();

procedure val();

procedure str();

function length(a:string):integer;

function concat();

function copy();

function pos();

function ord();

function chr();

Используя функции и процедуры обработки литерных данных перепишите команды:
(1) t:=copy(t,3,length(t)-2); через delete;
(2) t:=copy(t,1,2)+y+copy(t,3,length(t)-2); через insert;
(3) delete(t,3,1) через copy;
(4) insert(b,t,4) через copy.

Запишите в виде команды:
(1) если в слове нечетное число букв, то в конце поставить '*';
(2) если в слове нечетное число букв, то в начале поставить '!';
(3) поставить '.' в конце данного предложения, если 'а' там нет (использовать оператор insert).

Напишите фрагмент программы:

Проверки: является ли слово палиндромом.

Подсчета количества слов в предложении.

Удаления символов, стоящих на нечетных местах.

Вставки после каждого символа слова восклицательного знака.

Удаления лишних пробелов между словами предложения.

Замены одной точки на многоточие.

Проверки: есть ли в слове символы отличные от букв.

Обмена местами первого и последнего слов в предложении.

Инвертирования каждого слова в предложении.

Разбиения слова на слоги.

Разбиения слова на склады (Склад – это пара согласная + гласная или одна из нескольких идущих подряд гласных или согласных. Например: О‑БО‑З‑РЕ‑НИ‑Е).





Дата публикования: 2014-11-04; Прочитано: 1187 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...