Определить, является ли «счастливым» трамвайный билет с шестизначным номером («счастливым» считается билет, у которого сумма первых трёх чисел совпадает с суммой трёх последних чисел). составить блок-схему
Program Task; Var a: Array of Integer; n, b, c, i: Integer; Begin Write('Введите номер билета: №'); ReadLn(n); b := n; While b <> 0 Do Begin b := b Div 10; c := c + 1; End; If (c < 1) Or (c > 6) Then WriteLn('Неверный номер билета. Завершение программы.') Else Begin SetLength(a, c); b := n; For i := c - 1 DownTo 0 Do Begin a[i] := b Mod 10; b := b Div 10; End; If (a[0] + a[1] + a[2]) = (a[3] + a[4] + a[5]) Then WriteLn('Билет "счастливый"!') Else WriteLn('Не повезло'); End; ReadLn; End.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
procedure pSum(a,b:integer; var r:integer); begin r:=a.To(b).Sum end;
function fSum(a,b:integer):=a.To(b).Sum;
begin var (a,b):=ReadInteger2('Начало и конец интервала:'); var c:integer; pSum(a,b,c); Writeln('Сумма при процедуры: ',c); Writeln('Сумма при функции : ',fSum(a,b)) end.
Пример Начало и конец интервала: 3 28 Сумма при процедуры: 403 Сумма при функции : 403
Велосипедист на тренировке в первый день проехал 19 км за 54 минуты. В каждый последующий день он проезжал этот же путь на 2 минуты быстрее, чем в предыдущий. Найти среднюю скорость велосипедиста, которую он показал, тренируясь неделю.
Решение Средняя скорость будет равна отношению всего пройденного пути к затраченному времени. Путь за неделю составит 19×7 км. Время может быть найдено как 54+(54-2)+(54-4)+...
function T(a0,h:real; k:integer):real; begin Result:=0; var ts:=a0; loop k do begin Result+=ts; ts-=h end; Result/=60 end;
procedure Phisics(n:integer; t0,dt,s1:real); begin var s:=n*s1; var v:=s/T(t0,dt,n); Writeln('Средняя скорость ',v,' км/час') end;
begin var n:=ReadInteger('Количество дней:'); var s:=ReadReal('Длина трека, км:'); var (t0,th):=ReadReal2('Время в первый день и величина улучшения, мин:'); Phisics(n,t0,th,s) end.
Результат Количество дней: 7 Длина трека, км: 19 Время в первый день и величина улучшения, мин: 54 2 Средняя скорость 23.75 км/час
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
procedure pSum(a,b:integer; var r:integer); begin r:=a.To(b).Sum end;
function fSum(a,b:integer):=a.To(b).Sum;
begin var (a,b):=ReadInteger2('Начало и конец интервала:'); var c:integer; pSum(a,b,c); Writeln('Сумма при процедуры: ',c); Writeln('Сумма при функции : ',fSum(a,b)) end.
Пример Начало и конец интервала: 3 28 Сумма при процедуры: 403 Сумма при функции : 403
Велосипедист на тренировке в первый день проехал 19 км за 54 минуты. В каждый последующий день он проезжал этот же путь на 2 минуты быстрее, чем в предыдущий. Найти среднюю скорость велосипедиста, которую он показал, тренируясь неделю.
Решение Средняя скорость будет равна отношению всего пройденного пути к затраченному времени. Путь за неделю составит 19×7 км. Время может быть найдено как 54+(54-2)+(54-4)+...
function T(a0,h:real; k:integer):real; begin Result:=0; var ts:=a0; loop k do begin Result+=ts; ts-=h end; Result/=60 end;
procedure Phisics(n:integer; t0,dt,s1:real); begin var s:=n*s1; var v:=s/T(t0,dt,n); Writeln('Средняя скорость ',v,' км/час') end;
begin var n:=ReadInteger('Количество дней:'); var s:=ReadReal('Длина трека, км:'); var (t0,th):=ReadReal2('Время в первый день и величина улучшения, мин:'); Phisics(n,t0,th,s) end.
Результат Количество дней: 7 Длина трека, км: 19 Время в первый день и величина улучшения, мин: 54 2 Средняя скорость 23.75 км/час
Var a: Array of Integer;
n, b, c, i: Integer;
Begin
Write('Введите номер билета: №');
ReadLn(n);
b := n;
While b <> 0 Do
Begin
b := b Div 10;
c := c + 1;
End;
If (c < 1) Or (c > 6) Then
WriteLn('Неверный номер билета. Завершение программы.')
Else
Begin
SetLength(a, c);
b := n;
For i := c - 1 DownTo 0 Do
Begin
a[i] := b Mod 10;
b := b Div 10;
End;
If (a[0] + a[1] + a[2]) = (a[3] + a[4] + a[5]) Then
WriteLn('Билет "счастливый"!')
Else
WriteLn('Не повезло');
End;
ReadLn;
End.