Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Дайте определение литерной величины.
Как описываются литерные переменные на языке 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!