Определите значение переменной после выполнения фрзагмента : а=10, б=5; if (a> 1) and (a < b) then a: =a-5; if (a> 1) and (a=b) then a: = a-5 как это делать? ? объясните по действиям
В итоге а=0. Первая проверка проверяет 'a' больше 1 и меньше 'b'. ответ: да. 10>1 и 10<5. После ответа 'да' он отнимает от 'a' 5. Под конец этого действия мы получаем что 'a'=5, т.к. 10-5=5. Потом вторая проверка. Если 'a' больше 1 и равна 'b'. ответ: да. 5>1 и 5=5. После ответа 'да' он снова отнимает от 'a' 5. В итоге мы получаем что 'a'=0, поскольку 5-5=0.
USES CRT,Graph;VAR Device,Mode:Integer; i,x,y,s:Integer;BEGINCLRSCR; Device:=0; InitGraph(Device,Mode,''); s:=100; x:=320; y:=240; for i:=1 to 9 do begin SetLineStyle(0,0,ThickWidth); Circle(x,y,s); Delay(200); SetColor(Black); Circle(x,y,s); s:=s-10; SetColor(White); end; for i:=1 to 9 do begin SetLineStyle(0,0,ThickWidth); Circle(x,y,s); Delay(200); SetColor(Black); Circle(x,y,s); s:=s+10; SetColor(White); end; Circle(x,y,s);Readln;END.
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016 function AutoMorph(n:integer):boolean; begin var s1:=n.ToString; Result:=(s1=(n*n).ToString.Right(s1.Length)) end;
begin var a,b:integer; Write('Введите а и b: '); Read(a,b); for var i:=a to b do if AutoMorph(i) then Print(i) end.
Тестовое решение: Введите а и b: 1 10000 1 5 6 25 76 376 625 9376
Попробовал переписать функцию в более примитивный вид. По-моему, она не стала проще, только удлинилась...
function AutoMorph(n:integer):boolean; begin var s1:=IntToStr(n); // n переводим в строковое представление var s2:=IntToStr(n*n); // n*n переводим в строковое представление var l1:=Length(s1); // длина строки s1 s2:=RightStr(s2,l1); // правые l1 символов из s2 Result:=(s1=s2) end;
Первая проверка проверяет 'a' больше 1 и меньше 'b'. ответ: да. 10>1 и 10<5. После ответа 'да' он отнимает от 'a' 5. Под конец этого действия мы получаем что 'a'=5, т.к. 10-5=5.
Потом вторая проверка. Если 'a' больше 1 и равна 'b'. ответ: да. 5>1 и 5=5. После ответа 'да' он снова отнимает от 'a' 5. В итоге мы получаем что 'a'=0, поскольку 5-5=0.