Private
Алгоритм решения данной задачи представлен в лекции №3
program Summa_cons;
{$APPTYPE CONSOLE}
Uses
SysUtils;
var m,k,n,j,i,s1,s2:integer;
ch:char;
Begin
Repeat
writeln (' enter n');
readln(n);
m:=n;
k:=0;
while m<>0 do
Begin
m:=m div 10;
k:=k+1;
End; // найдено количество
// цифр в записи числа
s1:=0;
s2:=0;
i:=1;
While n<>0 do
Begin
while i<=2 do
// Это вложенный цикл
// вычисления суммы двух младших цифр числа
Begin
j:=n mod 10;
n:=n div 10;
s1:=s1+j;
i:=i+1;
end;
if i<=(k-2) then
n:=n div 10
Else
Begin
j:=n mod 10;
s2:=s2+j;
// Это вычисляется сумма двух старших цифр
n:=n div 10;
end;
i:=i+1;
end;
Writeln( 'summa1=',s1,' Summa2=',s2);
writeln(' repeat?');
readln(ch);
until ch='n' ;
{ TODO -oUser -cConsole Main : Insert code here }
End.
Рис. 1 Результат решения задачи
Запись программы приведена и в визуальной среде Delphi.
Решение задачи выполняется событиями от нажатия соответствующих кнопок на окне формы программы.
unit Summa_1_n;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Order: TButton;
Summa: TButton;
Button3: TButton;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
procedure OrderClick(Sender: TObject);
procedure SummaClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
Public
{ Public declarations }
end;
Var
Form1: TForm1;
k, n:integer;