2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Нахождение инвариантов для циклов While
Сообщение18.12.2010, 14:55 


18/12/10
2
Задача нахождения максимального делителя (кроме самого числа). Без операции деления.
Для внутреннего цикла инвариант, я так поняла, A=R-YQ. Для внешнего не пойму. Инварианты нужны для доказательства корректности. Заранее спасибо за любые советы и помощь!
//A - входное число
//Y-искомый делитель, R-остаток от деления X на Y, Q-второй делитель <=Y
Y=A-1; R=A;
While (Y>0) and (R<>0) do
Begin
Y=Y-1; R=A; Q=0;
While (Y<=R) do
Begin
R=R-Y; Q=Q+1;
end
End;

 Профиль  
                  
 
 Re: Нахождение инвариантов для циклов While
Сообщение18.12.2010, 15:17 
Заслуженный участник


27/04/09
28128

(Настоятельный совет по какому-то, хотя бы показанному ниже, оформлению)

В следующий раз оформляйте код вот так:
Используется синтаксис Pascal
// A — входное число
// Y — искомый делитель, R — остаток от деления X на Y, Q — второй делитель <= Y
Y := A - 1;
R := A;
while &#40;Y > 0&#41; and &#40;R <> 0&#41; do begin
  Y := Y - 1;
  R := A;
  Q := 0;
  while Y <= R do begin
    R := R - Y;
    Q := Q + 1;
  end; // чтобы не было ошибок, если придётся добавить операторы после этого, лучше ; ставить всегда
end;
 
(Если это Pascal/Delphi, присваивание ведь записываться должно :=, а иначе надо другой (Algol, что ли?) будет вписать.)

Теперь легче разбираться в коде. И инвариант внешнего цикла найти, думаю.

P. S. Странно, что-то со скобками.

 Профиль  
                  
 
 Re: Нахождение инвариантов для циклов While
Сообщение18.12.2010, 15:26 


18/12/10
2
Да, согласна, написано коряво. Французский с нижегородским. Но что имелось в виду вроде бы более менее прозрачно. Если нет, то допишу. Оперативный ответ, не ожидала)

 Профиль  
                  
 
 Re: Нахождение инвариантов для циклов While
Сообщение18.12.2010, 15:30 
Заслуженный участник


27/04/09
28128

(Оффтоп)

lis87 в сообщении #388759 писал(а):
Оперативный ответ
Зато почти не по существу…

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group