S := '123456789'; Delete ( s, 1, 2 ); n := Pos ( '6', s ); writeln ( n ); как работает...

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

S := '123456789'; Delete ( s, 1, 2 ); n := Pos ( '6', s ); writeln ( n ); как работает эта программа должно получится 4


Информатика (1.2k баллов) | 191 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

s := '123456789'; - строковой переменной s присваивается значение

Delete ( s, 1, 2 ); - из строки s удаляется 2 символа, начиная с 1-го (значение s будет '3456789')

n := Pos ( '6', s ); - определяется номер позиции символа '6' в строке s. Этот номер равен 4

writeln ( n ); - на экран выводится значение n, т.е. 4

(194k баллов)
0 голосов

В паскале индексы строк начинаются от 1

Pos(substr, str) - функция, которая возвращает индекс первого вхождения подстроки substr в строку  

str или 0, если подстрока не найдена. Например pos('abc', '12') = 0, а  

pos('cat', 'qw cat123cat4') = 4 (q: 1-й символ w: 2-й символ пробел: 3-й символ

с: 4-й символ

Delete(str, index, count) удаляет из строки str начиная с элемента index count символов

Delete(s, 1, 2) = 3456789  

Pos('6', s) = Pos('6', '3456789') = 4

(3.7k баллов)
0

6 символов отсчитываем с конца?

0

??

0

Pos('6', '3456789') = 4

0

Pos('6', '3456789') ищет в строке '3456789' подстроку '6' 3 - 1й символ строки не равен 6; 4 - 2й символ не равен 6; 5 - 3й не равен 6; 4й!!! символ = 6 => подстрока '6' найдена в строке '3456789' и Pos возвращает индекс начала подстроки в строке т.е 4.

0

Спасибо)))