15.03.2023

Найти сумму цифр трехзначного числа N. Программа на языке Паскаль. PascalABC.NET

 Задача. С клавиатуры вводится натуральное трехзначное число N. Найти сумму его цифр.

Данную задачу можно решать разными способами с использованием различных средств языка программирования. 

Разберем способ с использованием операций целочисленного деления div и mod.

Вспомним состав числа. В трехзначном числе первая цифра показывает количество сотен, вторая - количество десятков, третья - количество единиц.

Например, N = 297 = 200 + 90 + 7 (2 сотни, 9 десятков и 7 единиц)

Для вычисления количества сотен необходимо число N разделить на 100 и взять целую часть, это будет 2. Чтобы вычислить количество десятков, нужно число N разделить на 100 и взять целый остаток, это будет 97,  а затем полученное значение разделить на 10 и взять целую часть, это будет 9. Чтобы вычислить последнюю цифру (количество единиц), нужно число N разделить на 10 и взять целый остаток, это будет 7 (либо полученное число на предыдущем шаге 97 разделить на 10 и взять целый остаток).

Цифры трехзначного числа

Введем обозначения цифр. Пусть a - это сотни, b - десятки, c - единицы.

Операция деления нацело это div, операция деления с остатком это mod.

Тогда выражения для вычисления цифр числа будут такими:

a:=N div 100;

b:=N mod 100 div 10;

c:=N mod 10;

Это не единственный путь решения данной задачи с использованием операций div и mod, предложите в комментариях свой способ.

Для дальнейшего решения задачи необходимо вычислить сумму полученных цифр.

s:=a+b+c;

Программа решения задачи на языке Паскаль

var N,a,b,c,s:integer;

begin

  print('Введите трехзначное натуральное число N:');

  readln(N);

  a:=N div 100;

  b:=N mod 100 div 10;

  c:=N mod 10;

  s:=a+b+c;

  println('Сумма цифр числа:',s);

end.

Результат запуска программы

Найти сумму цифр трехзначного числа N


14.03.2023

Найти число пар соседних элементов массива, оканчивающихся нулем. Язык Паскаль. PascalABC.NET

 В этой публикации разберем задачу о парах соседних элементов массива.

Задача. В массиве целых чисел из N элементов найти число пар соседних элементов массива, оканчивающихся нулем.

Пусть дан массив a из 5 элементов:

4, 10, 20, 80, 10

Все пары соседних элементов это:

4 и 10

10 и 20

20 и 80

80 и 10

Три пары соседних элементов, в которых оба числа оканчиваются на 0.

Если ввести нумерацию ячеек с 1, то обращение к парам будет таким:

a[1] и a[2]

a[2] и a[3]

a[3] и a[4]

a[4] и a[5]

Заметим, что всего пар соседних элементов четыре.

Если всего элементов в массиве будет 6, то пар будет 5.

В общем случае если число элементов массива N, то пар соседних элементов N-1.

Если ввести счетчик пар k, то обращение к парам будет таким:

a[k] и a[k+1]

Чтобы обратиться ко всем парам, нужно запустить цикл по всем парам, то есть от первой до последней:

for k:=1 to N-1 do

Как будем решать задачу

  • Сформируем массив целых чисел из N элементов случайным образом (возьмем диапазон от 10 до 30)
  • Выведем массив
  • Обратимся ко всем парам соседних элементов массива и будем узнавать, каждое ли число из пары оканчивается цифрой 0, если да, то будем копить счетчик искомых пар p.

if (a[k] mod 10 = 0) and (a[k+1] mod 10=0) then p:=p+1;

Публикация про последнюю цифру числа (читать).

Программа решения задачи на языке Паскаль

var a:array[1..100] of integer;

    k,p,N:integer;

begin

  print('Введите количество элементов массива:');

  readln(N);

  for k:=1 to N do

  begin

    a[k]:=random(10,30);

    print(a[k]);

  end;

  println;

  p:=0;

  for k:=1 to N-1 do

  begin

    if (a[k] mod 10 = 0) and (a[k+1] mod 10=0) then p:=p+1;

  end;

  print('количество пар соседних элементов, оканчивающихся цифрой 0:',p);

end.

Результат запуска программы

Пары соседних элементов массива, оканчивающихся цифрой 0

В нашем примере получилось две пары, это числа 10 и 10, 20 и 30.

Для проверки можно выводить все пары соседних элементов:

for k:=1 to N-1 do

  begin

    println(a[k],a[k+1]);

    if (a[k] mod 10 = 0) and (a[k+1] mod 10=0) then p:=p+1;

  end;

Пары соседних элементов массива

09.03.2023

Язык Паскаль. Найти площадь круга. PascalABC.NET

 Задача. С клавиатуры вводится радиус круга. Найти площадь круга.

Площадь круга рассчитывается по формуле: S = πr2, где r - это радиус круга.

Исходные данные: r - радиус круга

Результативные данные: S - площадь круга

Число π будем использовать в виде константы Pi.

Чтобы возвести число r в квадрат, будем использовать операцию возведения в степень, это: **

Например, 23 будет записываться так: 2**3. Результатом возведения в степень будет вещественное число.

Программа решения задачи на языке Паскаль

var r:integer; s:real;

begin

  println('Введите радиус круга');

  readln(r);

  s:=Pi*r**2;

 println('Площадь круга',s);

 writeln(s:10:3);//вывод в формате s:10:3, 10 позиций на все число и 3 знака после запятой

end.

Результат запуска программы

Площадь круга

Это еще один пример линейной программы.