• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите пожалуйста! Нужна блок-схема к программе

  • Автор темы Автор темы Bodya8
  • Дата начала Дата начала

Bodya8

Ученик
Регистрация
7 Дек 2018
Сообщения
1
Реакции
0
Баллы
0
Помогите пожалуйста! Нужна блок-схема к программе

Program there;
function Avto(n:longint):boolean;
var p,m:longint;
f:boolean;
begin
p:=n;
m:=n*n;
f:=true;
while (p>0)and f do
begin
if (p mod 10)<>(m mod 10) then f:=false
else
begin
p:=p div 10;
m:=m div 10;
end;
end;
Avto:=f;
end;
var n,i,k:longint;
begin
write('n=');
readln(n);
writeln('Числа запись которых совпадает с последними цифрами записи их квадрата в интервале 1 - ", n);
k:=0;
for i:=1 to n do
if Avto(i) then
begin
writeln(i,' - ',i*i);
k:=1;
end;
if k=0 then write('Таких чисел нет!');
readln
end.
 
Лень ставить "трубы поскакали" и проверять, но известные мне компиляторы выплюнули бы эту програМу, не жуя.

Ну или не выплюнули...

Чем занимается readln в предпоследней строке?
 
Чем занимается readln в предпоследней строке?
Остановкой работы программы с целью демонстрации всего выведенного на экран. Это необходимо в DOS-версиях. Я сам этим приёмом бесперечь пользуюсь. Без него программа по окончании просто вылетит в среду запуска, не дав посмотреть на результат. Значит, или так, или надо организовывать не экранный, а файловый вывод.
Bodya_8, я, к сожалению, блок-схемами не занимаюсь, но знаю, что в Сети полнО программ и сервисов, решающих эту задачу. Поищите.

P.S. Хотя я бы решал эту задачку несколько иначе:
Код:
Var
 i,n:LongInt;
 k:boolean;

function Lg(r:real):real;
begin
 Lg:=Ln(r)/Ln(10);
end;

function Avto(m:LongInt):boolean;
var
 d,j:Byte;
 Q,p:LongInt;
begin
 Q:=m*m;
 d:=Trunc(Lg(m))+1;
 p:=1;
 for j:=1 to d do p:=p*10;
 Avto:=((Q mod p)=m);
end;

Begin
 repeat
  k:=true;
  Write(' n = ');
  Readln(n);
  if n>46340 then
   begin
    Writeln(' Too big. Try another.');
    k:=false;
   end;
 until k;
 k:=true;
 for i:=1 to n do
  if Avto(i) then
   begin
    Writeln(' i = ',i:5,'     i*i = ',i*i:10);
    k:=false;
   end;
 if k then Writeln(' No such numbers!');
 Readln
End.
AA01.webp
 
Назад
Сверху