Program upr;
uses crt,GraphABC;
var pic:Picture; R,c:integer; b:string;
begin
SetWindOwSize(640,450);
write('Введите расстояние от предмета до зеркала(1-100):');
Readln(R);
pic:=Picture.Create('raskraska-shenok18.jpg');
pic.load('raskraska-shenok18.jpg');
Pic.Draw(320+R,100,200,290);
Pic.Draw(320-R,100,-200,290);
Setpencolor(clgreen);
Setpenwidth(5);
lINE(320,50,320,400);
LINE(50,400,590,400);
Setpenwidth (2);
Line(trunc(120+r/2),100,TRUNC(520-r/2),100);
END.
Var
a: string;
b: char;
i, k: integer;
begin
readln(a);
readln(b);
for i := 1 to length(a) do
if a[i] = b then
k := k + 1;
writeln(k);
end.
Ответ на Ваш вопрос простой: никак!
В языке Паскаль есть так называемый диапазонный тип. Он реализуется, как "вырезка" части диапазона базового типа. Например, если базовый тип целочисленный, можно вырезать из него числа в диазахоне "от" и "до".
Например, описание k: -10..10 означает, что k целочисленное и может изменять от -10 до 10. Целочисленное оно потому, что константы -10 и 10 в PascalABC.NET имеют тип integer. Проблема же состоит в том, что в PascalABC.NET контроль за выходом значения переменной за отведенные границы всего лишь... отсутствует! Т.е. описание k: -10..10 - это просто "хотелка". И Вы можете продолжать этого хотеть. Может быть, Вы подумали, что это PascalABC.NET такой плохой язык? Спешу разочаровать: так ведут себя все диалекты Паскаля. Дело в том. что проверка границ диапазона фактически должна делаться при каждой машинной операции с участием переменной диапазонного типа. И это настолько замедляет программу, что такая проверка, даже если она предусмотрена в конкретном компиляторе, по умолчанию выключена. Более того, оказывается, что гораздо проще проверять выход за границы диапазона напрямую в программе!
Что касается переменной типа real - с ней еще хуже: ее даже нельзя объявить в диапазонном типе, поскольку тип real не является порядковым.
Как итог: проверяем if (k>=-10) and (k<=10) then <все хорошо>.
Можно воспользоваться вариантом if k.Between(-10,10) then ...
Between работает и с real: if r.Between(3.4,15.063) then ...
Ответ в прикрепленном документе документе. Для тех, у кого нет Microsoft Word, прикрепил еще и картинку.