Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.04.2010, 01:00
emiljohn emiljohn вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 2
Репутация: 10
По умолчанию Составление программы в Delphi

Нужно составить программу (без использования массивов, строк, процедур), в которой с клавиатуры вводится (все вводимые значения имеют тип integer) три числа, вывести их на экран в порядке возрастания суммы цифр в числе.
Задали на дом, а я не знаю как это сделать, эти лекции пропустил( Помогите плиз. Заранее спасибо!
Ответить с цитированием
  #2  
Старый 22.04.2010, 02:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,031
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вообще, программы не составляют, а пишут. Большинство считает, что это такой вид творчества/искусства.

А теперь по существу.
Ну совсем без процедур как-то скучно. Но давай попробуем:

Код:
program prg;

{$APPTYPE CONSOLE}

var
  S1, S2, S3 : Integer;
  V1, V2, V3 : Integer;
  CH1,CHI2, CH3 : Integer;

begin
  WriteLn('Введите три целых числа');
  Write('Число 1'); ReadLn(V1);
  Write('Число 2'); ReadLn(V2);
  Write('Число 3'); ReadLn(V3);

  CH1 := V1;
  S1 := 0;
  While CH1 >= 10 Do
     Begin
        S1 := S1 + (CH1 mod 10);
        CH1 := CH1 div 10;
    End;

  CH2 := V2;
  S2 := 0;
  While CH2 >= 10 Do
     Begin
        S2 := S2 + (CH2 mod 10);
        CH2 := CH2 div 10;
    End;

  CH3 := V3;
  S3 := 0;
  While CH3 >= 10 Do
     Begin
        S3 := S3 + (CH3 mod 10);
        CH3 := CH3 div 10;
    End;

  WriteLn('Числа в порядке возрастрания:');

  If (S1 < S2) And (S1 < S3) 
    Then WriteLn(S1) 
    Else 
        If (S2 < S1) And (S2 < S3) 
         Then WriteLn(S2) 
         Else WriteLn(S3);

  If ((S1 > S2) And (S1 < S3)) Or ((S1 > S3) And (S1 < S2)) 
    Then WriteLn(S1)
    Else
      If ((S2 > S1) And (S1 < S3)) Or ((S2 > S3) And (S2 < S1))
        Then WriteLn(S2)
        Else WriteLn(S3);

  If (S1 > S2) And (S1 > S3) 
    Then WriteLn(S1) 
    Else 
        If (S2 > S1) And (S2 > S3) 
         Then WriteLn(S2) 
         Else WriteLn(S3);
end.

Вот как-то так.

ЗЫ. Сделал, потому что было интересно выполнить задание без использования массивов, строк, процедур и т.д. В следующий раз перед тем как помогать ждем вашего кода.
Ответить с цитированием
  #3  
Старый 24.04.2010, 00:16
emiljohn emiljohn вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 2
Репутация: 10
По умолчанию

Спасибо большое за помощь! А про составление программы-это так в задании написано было, я и написал)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter