Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 07.12.2018, 22:38   #1 (permalink)
Bodya8
Новичок
 
Регистрация: 07.12.2018
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите пожалуйста! Нужна блок-схема к программе

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.
Bodya8 вне форума   Ответить с цитированием

Старый 07.12.2018, 22:38
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обратите внимание на этот пост, в нем схожие по содержанию с вашей темы

Блок-схема к программе
Помогите, пожалуйста, построить блок схему по программе

Старый 08.12.2018, 02:00   #2 (permalink)
prima
Member
 
Регистрация: 31.08.2015
Сообщений: 19,433
Сказал(а) спасибо: 283
Поблагодарили 213 раз(а) в 96 сообщениях
Репутация: 80884
По умолчанию

Лень ставить "трубы поскакали" и проверять, но известные мне компиляторы выплюнули бы эту програМу, не жуя.

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

Чем занимается readln в предпоследней строке?
__________________
Пожалуйста не предлагайте мне дружбу. Не хочу отказывать, но у меня другие понятия, поэтому просто не отвечу.
prima вне форума   Ответить с цитированием
Старый 08.12.2018, 09:07   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от prima Посмотреть сообщение
Чем занимается 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.jpg
Просмотров: 96
Размер:	13.2 Кб
ID:	429821
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.