Как найти произведение четных чисел паскаль

0 / 0 / 0

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

Сообщений: 8

1

22.11.2012, 21:34. Показов 20401. Ответов 9


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

Паскаль)
Найти произведение всех чётных чисел от 2 до n (n — введённое число с клавиатуры)



0



Ce7eH_111

34 / 34 / 19

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

Сообщений: 109

Записей в блоге: 2

22.11.2012, 21:39

2

Pascal
1
2
3
4
5
6
7
var n,i,s:integer;
begin
readln(n);s:=1;
for i:=2 to n do
     if i mod 2 = 0 then s:=s*i;
writeln(s);
end.



1



0 / 0 / 0

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

Сообщений: 8

22.11.2012, 21:45

 [ТС]

3

УРААА!!! Спасибо)



0



34 / 34 / 19

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

Сообщений: 109

Записей в блоге: 2

22.11.2012, 21:46

4

а спасибо поставить?

 Комментарий модератора 
Правило форума 5.10. Запрещено накручивать репутацию любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее повышению.



1



0 / 0 / 0

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

Сообщений: 8

22.11.2012, 21:50

 [ТС]

5

слушай а если я ввожу число больше 10 то у меня не правильно выходит((



0



34 / 34 / 19

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

Сообщений: 109

Записей в блоге: 2

22.11.2012, 21:52

6

попробуй longint

Добавлено через 1 минуту
но должно вроде получатся



1



0 / 0 / 0

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

Сообщений: 8

22.11.2012, 21:53

 [ТС]

7

а где прописывается этот longint? а то я незнаю куда его ставить)



0



34 / 34 / 19

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

Сообщений: 109

Записей в блоге: 2

22.11.2012, 21:54

8

2 var n,i,s:longint;



1



0 / 0 / 0

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

Сообщений: 8

22.11.2012, 22:10

 [ТС]

9

нее я просто ввожу число 14 например, у меня выходит отрицательный 10240(

Добавлено через 8 минут
аауууууууууууу)

Добавлено через 5 минут
ну помогите((



0



181 / 179 / 23

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

Сообщений: 489

22.11.2012, 23:31

10

Цитата
Сообщение от MashulkaHiasha
Посмотреть сообщение

ввожу число 14 например

Ввожу и 10 и 14 и всё работает.
Типа переменной integer заменяется на longint известно где — словечко integer ищи и заменяй.



0



Дано N. Найти произведение четных чисел этого числа. Решить с помощью паскаля.

Ребят, у меня вышла такая программа:

Program Pr1;

var n, p, m:integer;

begin

write (‘n=’) ;

readln (n) ;

m:=n;

p:=1;

while m>0 do

begin

if (m mod 10) mod 2=0 then

p:=p*m mod 10;

m:=m div 10;

end;

writeln (‘В числе ‘, n,’ произведение четных цифр = ‘, p) ;

end.

И в ответе, если произведение превышает число 9, выводится его последняя цифра.

Например: n=881

В числе 881 произведение четных цифр = 4

А на самом деле выходит 8*8=64.

Надеюсь, кто-нибудь сможет помочь.

И, да, мне нужна помощь исключительно в улучшении программы, а не написания новой.

Найдите правильный ответ на вопрос ✅ «Дано N. Найти произведение четных чисел этого числа. Решить с помощью паскаля. Ребят, у меня вышла такая программа: Program Pr1; var n, p, …» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.

Смотреть другие ответы

Главная » Информатика » Дано N. Найти произведение четных чисел этого числа. Решить с помощью паскаля. Ребят, у меня вышла такая программа: Program Pr1; var n, p, m:integer; begin write (‘n=’) ; readln (n) ; m:=n; p:=1;

Формулировка. Дана последовательность натуральных чисел, ограниченная вводом нуля. Вывести на экран произведение четных элементов этой последовательности. При этом ноль не считается членом последовательности.

Примечание: задачи подобного рода требуют выполнения каких-либо действий в зависимости от некоторого характеристического свойства. Большинство из них математически неинтересны, однако развивают способность совмещать отдельные приемы и методы программирования, поэтому, в основном, способствуют наработке опыта.

Решение. Так как нам заранее неизвестна длина рассматриваемой последовательности, но мы знаем о том, что она ограничивается вводом нуля, и поэтому можем сделать цикл с предусловием a < > 0, где a – текущий введенный член. Так как нет необходимости работать с несколькими членами одновременно, мы можем следовать данной схеме и в конкретный момент времени работать лишь с одним элементом последовательности.

При всем этом перед циклом нам необходимо считать первый член a, чтобы войти в цикл, если последовательность непустая (а если пустая, то есть состоит из одного нуля, то и не нужно входить в цикл и что-либо делать):

read(a);

while a <> 0 do begin

read(a)

end;

Кстати, мы используем оператор ввода read, чтобы можно было вводить члены через пробел, а не через enter, как при использовании readln. Внутри цикла вместо многоточия должна располагаться некоторая последовательность операторов, которые и будут выполнять обработку вводимых данных. После каждой итерации необходимо ввести следующий член последовательности и продолжить обработку, если он не равен нуля, и закончить в противном случае.

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

Что же касается текущей задачи, то для ее решения мы в цикле должны проверить каждый элемент на четность, и если он четный, домножить на него некоторую переменную prod для накопления результата (которую поначалу нужно сделать равной 1). При этом если по завершении программы переменная prod будет по-прежнему равна 1, то это значит, что последовательность либо пуста, либо в ней нет четных элементов, что побуждает сделать в этом случае соответствующую проверку с выводом результата или сообщения об отсутствии элементов. В связи с написанным возникает такой код:

read(a);

prod := 1;

while a <> 0 do begin

if a mod 2 = 0 then prod := prod * a;

read(a)

end;

if prod <> 1 then writeln(prod) else writeln(‘ No such elements!’);

При этом проверяется неравенство prod единице, так как хотелось бы поместить в then-блоке условного оператора вывод «положительного» ответа (который отвечает критерию задачи), а в else-блоке – обработку «вырожденного случая». На самом же деле такой порядок не должен быть самоцелью и не считается «хорошим тоном» в программировании, да и делается только по прихоти автора, так что не было бы никакой разницы, если бы в последней строчке было:

if prod = 1 then writeln(‘ No such elements!’) else writeln(prod);

Код:

  1. program ProductOfEven;
  2. var
  3. a, prod: word;
  4. begin
  5. read(a);
  6. prod := 1;
  7. while a <> 0 do begin
  8. if a mod 2 = 0 then prod := prod * a;
  9. read(a)
  10. end;
  11. if prod <> 1 then writeln(prod) else writeln(‘No such elements!’)
  12. end.

1) var n, odd, even, i, a: integer;
begin
odd:=0;
even:=1;
writeln (‘Введите число N’);
read(N);
writeln(‘Введите N целых чисел’);
for i:=1 to N do
begin
read(a);
if (a mod 2 = 0) then even:=even*a
else odd:=odd+a;
end;
writeln(‘Произведение чётных чисел равно ‘, even);
writeln(‘Сумма нечётных чисел равна ‘, odd);
end.

2)var N, plus, minus, i: integer;
a: real;
begin
plus:=0;
minus:=0;
writeln (‘Введите число N’);
read(N);
writeln(‘Введите N чисел’);
for i:=1 to N do
begin
read (a);
if(a > 0) then plus:=plus+1;
if (a < 0) then minus:=minus+1;
end;
writeln(‘Количество положительных чисел равно ‘, plus);
writeln(‘Количество отрицательных чисел равно ‘, minus);
if (plus<minus) then writeln (‘Отрицательных больше чем положительных на ‘, minus-plus);
if (plus>minus) then writeln (‘Положительных больше чем отрицательных на ‘, plus-minus);
if (plus=minus) then writeln (‘Количество положительных равно количеству отрицательных’);
end.

Составьте программу находящую произведение четных чисел от 1 до 10.

Чему оно равно?

Вы зашли на страницу вопроса Составьте программу находящую произведение четных чисел от 1 до 10?, который относится к
категории Информатика. По уровню сложности вопрос соответствует учебной
программе для учащихся 5 — 9 классов. В этой же категории вы найдете ответ
и на другие, похожие вопросы по теме, найти который можно с помощью
автоматической системы «умный поиск». Интересную информацию можно найти в
комментариях-ответах пользователей, с которыми есть обратная связь для
обсуждения темы. Если предложенные варианты ответов не удовлетворяют,
создайте свой вариант запроса в верхней строке.

Понравилась статья? Поделить с друзьями:
  • Ошибка the game filesystem failed to initialize aborting now как исправить
  • Как мы можем найти архимедову силу
  • Мои просмотренные сайты как найти
  • Как найти бин по названию компании
  • Как можно составить анаграмму