
Написать задачу на языке PascalABC 3.1 На улице дома с чётными номерами находятся с левой
стороны, а с нечётными — с правой. Известно количество жителей в каждом доме. Посчитайте разницу между суммарными количествами жителей левой стороны и правой. Входные данные Первая строка состоит из одного числа n (1⩽n⩽1000) — количество домов на улице. Следующая строка содержит n целых чисел xi (0⩽xi⩽10000) — количество жителей в i-м доме(1⩽i⩽n). Результат Нужно вывести одно целое число — разницу между суммарными количествами жителей левой стороны улицы и правой. Пример Исходные данные 3 3 1 4 Результат -6 Пояснение: на левой стороне 1 житель, на правой 7, разница равна 1

Ответы на вопрос

varn, x, i, s, k:integer;
a:array [0..20] of integer; {20 =это максимальное количество домов .Вместо 20 поставь любое число}
begin
write('Введите количество домов на улице : ');
read(n);
for i:=1 to n do
begin
write('Введите количество жителей в ', i, ' -м доме : ');
read(a[i]);
end;
for i:=1 to n do
if i mod 2=0 then s:=a[i]+s; {Считаем жителей правых}
for i:=1 to n do
if i mod 2=1 then k:=a[i]+k;{Считаем жителей левых}
if s>k then write('Разница между домами ', k-s );
if s<k then write('Разница между домами ', s-k );
end.
Введите количество домов на улице : 3
Введите количество жителей в 1 -м доме : 3
Введите количество жителей в 2 -м доме : 1
Введите количество жителей в 3 -м доме : 4
Разница между домами -6
Писал на Версии 3.3
Скобки это комментарии,их можно убрать




Пример кода на языке PascalABC 3.1 для решения данной задачи:
cssvar
n, i, left_sum, right_sum: integer;
x: array[1..1000] of integer;
begin
readln(n);
left_sum := 0;
right_sum := 0;
for i := 1 to n do
begin
read(x[i]);
if i mod 2 = 0 then
left_sum := left_sum + x[i]
else
right_sum := right_sum + x[i];
end;
writeln(right_sum - left_sum);
end.
Пояснение к коду:
Первоначально объявляем переменные n
(количество домов), i
(переменная для цикла), left_sum
и right_sum
(суммы жителей на левой и правой сторонах соответственно).
Затем считываем число n
с помощью readln(n)
и инициализируем left_sum
и right_sum
нулями.
В цикле for i := 1 to n do
считываем количество жителей в каждом доме x[i]
с помощью read(x[i])
и добавляем это значение к сумме жителей на левой или правой стороне, в зависимости от того, чётный или нечётный номер у дома. Это делается с помощью условного оператора if i mod 2 = 0 then
, который проверяет, делится ли i
на 2 без остатка (т.е. является ли номер дома чётным).
Наконец, выводим разницу между right_sum
и left_sum
с помощью writeln(right_sum - left_sum)
.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili