Как посчитать сумму цифр числа в паскале
Перейти к содержимому

Как посчитать сумму цифр числа в паскале

  • автор:

Программа на Паскале «Вычисление суммы цифр»

Σ Сумма случайных чисел. �� Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

Задачи по информатике и основам программирования на языке Паскаль. В двух решениях используется оператор целочисленного деления, в двух других — используется преобразование числа к строке и цикл for, последнее решение учитывает рекомендации PascalABC.NET.

Программа «Сумма цифр трёхзначного числа»

Задание:
Введите трёхзначное число. Найдите сумму цифр. Выведите результат на экран.

Program SummaTsifr1;
Var X, Y1, Y2, Y3, Summa : Integer;
begin
writeln(‘Программа вычисления суммы цифр’);
write(‘Введите трёхзначное число X ‘);
readln(X);
Y1 := X div 100;
Y2 := (X — Y1 * 100) div 10;
Y3 := X — Y1 * 100 — Y2 * 10;
Summa := Y1 + Y2 + Y3;
writeln(‘Сумма цифр ‘, Y1:3, Y2:3, Y3:3, ‘ = ‘, Summa: 3)
end.

Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. Например, Y1:3 обозначает, что для вывода значения переменной Y1 будут использоваться три позиции, т.е. в случае однозначного числа, перед ним будет добавлено два пробела, в случае двухзначного числа — добавлен один пробел. При этом если число будет содержать 4 или больше цифр, то оно будет выведено полностью.

Программа «Сумма цифр пятизначного числа»

Задание:
Введите пятизначное число. Найдите сумму цифр. Выведите результат на экран.

Program SummaTsifr2;
Var X, Y1, Y2, Y3, Y4, Y5, Summa : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
write(‘Введите пятизначное число X ‘);
readln(X);
Y1 := X div 10000;
Y2 := (X — Y1 * 10000) div 1000;
Y3 := (X — Y1 * 10000 — Y2 * 1000) div 100;
Y4 := (X — Y1 * 10000 — Y2 * 1000 — Y3 * 100) div 10;
Y5 := X — Y1 * 10000 — Y2 * 1000 — Y3 * 100 — Y4 * 10;
Summa := Y1 + Y2 + Y3 + Y4 + Y5;
writeln(‘Сумма цифр ‘, Summa)
end.

Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. Например, Y1:3 обозначает, что для вывода значения переменной Y1 будут использоваться три позиции, т.е. в случае однозначного числа, перед ним будет добавлено два пробела, в случае двухзначного числа — добавлен один пробел. При этом если число будет содержать 4 или больше цифр, то оно будет выведено полностью.

Тема «Использование цикла for». Программа «Сумма цифр числа»

Задание:
Введите число. Найдите сумму цифр. Для решения задачи используйте цикл for и функции работы со строками. Выведите результат на экран.

Program SumNumbers1;
Var
Y : Array[1..20] of Byte; < Массив для сохранения цифр исходного числа >
Xs : String;
Xr, Summa : Real;
J, N, Err : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
write(‘Введите число X (не более 20 цифр)’);
readln(Xr);
Str(Xr, Xs); < Преобразовать число в строку >
N := Length(Xs); < Вычислить длину строки >
for J := 1 to N do Val(Xs[J], Y[J], Err); < Преобразовать каждый символ строки к числу и записать в массив >
Summa := 0;
for J := 1 to N do Summa := Summa + Y[J];
writeln(‘Сумма цифр ‘, Summa)
end.

Замечание:
procedure Str(i: integer; var s: string); Преобразует целое значение i к строковому представлению и записывает результат в s
procedure Val(s: string; var value: byte; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
function Length(s: string): integer; Возвращает длину строки

Тема «Использование цикла for». Вариант программы «Сумма цифр числа» без использования массива

Задание:
Введите число. Найдите сумму цифр. Для решения задачи используйте цикл for и функции работы со строками. Выведите результат на экран.

Program SumNumbers2;
Var
Y : Byte;
Xs : String;
Xr, Summa : Real;
J, N, Err : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
write(‘Введите число X ‘);
readln(Xr);
Str(Xr, Xs); < Преобразовать число в строку >
N := Length(Xs); < Вычислить длину строки >
Summa := 0;
for J := 1 to N do begin
Val(Xs[J], Y, Err); < Преобразовать каждый символ строки к числу >
Summa := Summa + Y;
end;
writeln(‘Сумма цифр ‘, Summa)
end.

Программа вычисления суммы цифр. Вариант решения на PascalABC.NET

  • В программе отсутствуют устаревшие в PascalABC.NET конструкции. В программе используются следующие рекомендованные конструкции PascalABC.NET:
  • Используются внутриблочные описания переменных: 6 раз
  • Используется инициализация при описании: 3 раза
  • Для ввода используется функция вида ReadInteger,ReadReal: 1 раз
  • Используется расширенное присваивание: 1 раз
  • Для вывода использована Print: 2 раза

Задание:
Введите с клавиатуры целое число. Найдите сумму цифр.

(*
Вариант для PascalABC.NET
*)
begin
var Y, Err : Integer;
Var Xs : String;
Println(‘Программа вычисления суммы цифр’);
var Xr := ReadInteger(‘Введите целое число X ‘);
Str(Xr, Xs); < Преобразовать число в строку >
var N := Length(Xs); < Вычислить длину строки >
var Summa : Integer := 0;
for var J := 1 to N do begin
Val(Xs[J], Y, Err); < Преобразовать каждый символ строки к числу >
Summa += Y;
end;
Println(‘Сумма цифр ‘, Summa)
end.

�� Использование циклов. Сумма положительных элементов массива. Циклы for, while, repeat. Шесть примеров решения задачи на языке Паскаль. Варианты для Turbo/Borland/FreePascal и PascalABC.NET

Σ Сумма элементов массива. �� Циклы for, while, repeat. Пять примеров решения задачи на языке Паскаль. В некоторых вариантах используется синтаксис для PascalABC.NET

Σ Сумма случайных чисел. �� Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

Сумма элементов массива. Циклы for, while, repeat

Σ Сумма случайных чисел. �� Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

�� Обмен двух чисел в массиве. Тема «Циклы и массивы». Два варианта решения задачи.

Σ Вычисление суммы цифр числа. Пять вариантов решения задачи, в том числе одно по рекомендациям PascalABC.NET (качество кода 149%).

Пять примеров решения задачи на языке Паскаль. В некоторых вариантах используется синтаксис для PascalABC.NET

Цикл for. Найти сумму элементов целочисленного массива

Задание:
Заполнить с клавиатуры массив из 10 целых чисел.
Найти сумму элементов массива.

Var
i, Summa : Integer;
A : array [1..10] of Integer;
begin
write(‘Введите 10 целых чисел ‘);
for i := 1 to 10 do readln(A[i]);
Summa := 0;
for i := 1 to 10 do Summa := Summa + A[i];
writeln(‘Сумма = ‘, Summa);
end.

Цикл for. Найти сумму 10 элементов массива

Задание:
Заполнить с клавиатуры массив из 10 целых чисел.
Найти сумму элементов массива.

begin
// Вариант для PascalABC.NET — «здоровье кода» составляет 101%.
var A : array [1..10] of Integer; // Замечание: Используется статический массив, вместо рекомендованного динамического

write(‘Введите 10 целых чисел ‘);
for var i := 1 to 10 do readln(A[i]); // Замечание: Для ввода использована не рекомендованная процедура Readln

var Summa : Integer := 0;
for var i := 1 to 10 do Summa := Summa + A[i];
Println(‘Сумма = ‘, Summa);
end.

Цикл while. Найти сумму 10 элементов массива

Задание:
Заполнить с клавиатуры массив из 10 целых чисел.
Найти сумму элементов массива.
Для решения задачи использовать цикл while.

Program Task_01;
Var
i, Summa : Integer;
A : array [1..10] of Integer;
begin
write(‘Введите 10 целых чисел ‘);
i := 1;
while i readln(A[i]);
i := i + 1;
end;
Summa := 0;
i := 1;
while i Summa := Summa + A[i];
i := i + 1;
end;
writeln(‘Сумма = ‘, Summa);
end.

Цикл while. Найти сумму элементов массива

Задание:
Заполнить с клавиатуры массив из 10 целых чисел.
Найти сумму элементов массива.
Для решения задачи использовать один цикл while.

(*
Вариант для PascalABC.NET — «здоровье кода» составляет 125%.
*)
begin
var i : Integer = 1;
var Summa : Integer = 0;
var A : array [1..10] of Integer;

writeln(‘Введите 10 целых чисел ‘);
while i A[i] := ReadInteger;
Summa += A[i];
i += 1;
end;
Println(‘Сумма = ‘, Summa);
end.

Цикл repeat. Найти сумму элементов целочисленного массива

Задание:
Заполнить с клавиатуры массив из 10 целых чисел.
Найти сумму элементов массива.
Использовать синтаксис для PascalABC.NET

// Вариант для PascalABC.NET — «здоровье кода» составляет 129%.
begin
var i : Integer = 1;
var Summa : Integer = 0;
var A : array [1..10] of Integer;

Println(‘Введите 10 целых чисел ‘);
repeat
A[i] := ReadInteger;
Summa += A[i];
i += 1;
until i < 10;
Println(‘Сумма = ‘, Summa);
end.

�� Использование циклов. Сумма положительных элементов массива. Циклы for, while, repeat. Шесть примеров решения задачи на языке Паскаль. Варианты для Turbo/Borland/FreePascal и PascalABC.NET

Σ Сумма случайных чисел. �� Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

�� Обмен двух чисел в массиве. Тема «Циклы и массивы». Два варианта решения задачи.

Σ Вычисление суммы цифр числа. Пять вариантов решения задачи, в том числе одно по рекомендациям PascalABC.NET (качество кода 149%).

Как посчитать сумму чисел в цикле for?

Условие задачи: Напиши функцию calculateTotal(number), которая принимает целое число (параметр number) и возвращает сумму всех целых чисел от единицы и до этого числа. Например, если number равно 3, то сумма это 1 + 2 + 3, то есть 6. мой вариант не считает сумму, а просто перебирает от заданного числа:

 function calculateTotal(number) < for (let i = 0; i > console.log(calculateTotal(3));

подскажите, пожалуйста, что нужно поправить чтобы считало правильно?
Отслеживать
задан 20 фев 2021 в 20:40
1 1 1 золотой знак 2 2 серебряных знака 2 2 бронзовых знака

так может стоит завести переменную, в которой считать сумму и на каждой итерации прибавлять к ней число вместо вывода? Или вы как-то иначе представляете себе подсчет суммы?

20 фев 2021 в 20:48

В задаче, кстати, не заставляют использовать цикл. Это арифметическая прогрессия, для которой есть решение в одну строчку 😉

Подсчитать сумму всех цифр в строке

Author24 — интернет-сервис помощи студентам

Подсчитать количество цифр в заданной строке, вычислить их сумму и вставить после каждой цифры ее дополнение до 10
Строки Задание Составьте алгоритм и программу обработки введенной с клавиатуры строки в.

В каждом 3-ем столбце заменить элементы на сумму цифр в элементе и подсчитать сумму элементов в каждой в 3-ей строке
Дана матрица M x N. В каждом 3-ем столбце заменить элементы на сумму цифр в элементе и подсчитать.

Найти сумму всех цифр в строке, получить перевернутую строку и к первой строке прибавить вторую строку
с помощью клавиатуры вводится строка символов,состоящая из цифр а) найти сумму всех цифр числа б).

Подсчитать сумму групп цифр в строке
Подсчитать сумму групп чисел в строке. Сокупность символов "135" считать как сто тридцать пять. Не.

76 / 76 / 51

Регистрация: 28.02.2010

Сообщений: 159

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
program sd; uses crt; var s:string; i,k,code,sum:integer; Begin sum:=0; writeln('s: ');readln(s); for i:=1 to length(s) do begin val(s[i],k,code); if code=0 then sum:=sum+k; end; if sum=0 then writeln('В строке нет цифр') else writeln('Summa= ',sum); End.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *