Изменится ли строка ST, над которой произведут операцию COPY? Почему? Чему будет...

0 голосов
86 просмотров

Изменится ли строка ST, над которой произведут операцию COPY? Почему?

Чему будет равняться k после операции k:=length(‘мышь и клавиатура’)?

Чему будет равняться переменная tx после операции tx:=‘лесник’; delete(tx,4,3)?

Чему будет равняться переменная k после операции tx:=‘баобаб’; k:=pos(‘ба’,tx)?

Дополнить программу недостающими командами

Подсчитать количество букв “а” в тексте (русских и латинских; прописных и заглавных).

program zadacha1;

var t:string;

b:string[1];

n,k,i:integer;

Begin

writeln('Введите текст');

…………………………;

n:=length(t);

k:=0;

for i:=1 to n do

begin

b:=copy(t,i,1);

if ……………………………then k:=k+1;

end;

writeln('k=',k);

End.


Информатика (17 баллов) | 86 просмотров
Дан 1 ответ
0 голосов

Добрый день!
И так, начнём..
*Вопрос: Изменится ли строка ST, над которой произведут операцию COPY? Почему?
*Ответ: Изменится, т.к. при использовании функции COPY необходимо указывать в какой строке копировать, с какой позиции, и количество символов, которое будет копировано.
**Вопрос: 
Чему будет равняться  k  после  операции  k:=length(‘мышь и клавиатура’)?
**Ответ: Переменная k будет равна 17, т.к. функция LENGTH определяет длину строки, считая каждый пробел, запятую, буквы и т.д.
***Вопрос: 
Чему будет равняться переменная tx после  операции  tx:=‘лесник’;    delete(tx,4,3)?
***Ответ: Переменная tx будет равна слову лес
Функция DELETE удаляет часть символов из строки. В нашем случае удаление происходит в строке tx, с позиции 4, удаляет 3 символа.
****Вопрос: 
Чему будет равняться переменная k после  операции    tx:=‘баобаб’;   k:=pos(‘ба’,tx)?
****Ответ: Переменная k будет равна 1. Т.к. функция POS определяет первое вхождение заданного символа. 
Дополненная программа:
program zadacha1;
var  t: string;  b: string[1];  n, k, i: integer;
begin
writeln('Введите  текст: ');
readln(t);
n := length(t);
k := 0;
for i := 1 to n do  begin
b := copy(t, i, 1);
if (t[i] = 'a') or (t[i] = 'A') or (t[i] = 'а') or (t[i] = 'А') then  k := k + 1;
end;
writeln ('k= ', k);
end.

*Курсивом и выделением обозначены дополнения в программе.

(14.4k баллов)