
Почему программа в Паскале не видит "." в программе: program lolipops; var s:string; n,k,i:integer;
begin writeln ('Введите слово'); readln (s); I:=1; While i<=length(s) do begin If s[i]='.' then k:=k+1; end; writeln (k); end.

Ответы на вопрос

пока i < длины строки S делай:
если S с индексом i = "." то k++
Все
Ты не меняешь "i", он у тебя всегда 1й элемент смотрит)
Как должно быть:
------------------
While i<=length(s) do begin
If s[i]='.' then
k:=k+1;
inc(i);
end;
----------------------



В вашем фрагменте программы на Pascal есть несколько проблем, из-за которых код может не выполняться корректно. Давайте разберемся с ними.
1. Ваша программа не инициализирует переменную `k` перед использованием. Вы должны установить начальное значение `k` равным 0:
```pascal var s: string; n, k, i: integer; begin writeln('Введите слово'); readln(s); i := 1; k := 0; // инициализация переменной k while i <= length(s) do begin if s[i] = '.' then k := k + 1; i := i + 1; end; writeln(k); end. ```
2. В строке `while i <= length(s) do` вы используете оператор `do`, но не заключаете тело цикла в `begin` и `end`. В Pascal тело цикла должно быть заключено в блок `begin...end`. Я внес исправление в код, добавив `begin` перед `while` и `end` после `writeln(k)`:
```pascal var s: string; n, k, i: integer; begin writeln('Введите слово'); readln(s); i := 1; k := 0; // инициализация переменной k while i <= length(s) do begin if s[i] = '.' then k := k + 1; i := i + 1; end; writeln(k); end. ```
3. В операторе `readln(s)` вы можете встретиться с проблемой, если ввод будет содержать пробелы. Для считывания строки целиком с пробелами рекомендуется использовать функцию `ReadLn` вместо `readln(s)`:
```pascal var s: string; n, k, i: integer; begin writeln('Введите слово'); ReadLn(s); i := 1; k := 0; // инициализация переменной k while i <= length(s) do begin if s[i] = '.' then k := k + 1; i := i + 1; end; writeln(k); end. ```
После внесения этих изменений ваша программа должна корректно считывать строку и подсчитывать количество точек в ней.


Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili