М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Роззе
Роззе
03.04.2021 15:05 •  Информатика

Составить программу в pascal. 1. в последовательности чисел подсчитать произведение чисел, кратных 3. 2. в последовательности чисел сравнить, что больше сумма положительных или произведение отрицательных. 3. в последовательности чисел определить предпоследнее отрицательное число. (при решении введите дополнительную переменную для хранения предпоследнего отрицательного числа).

👇
Ответ:
help275
help275
03.04.2021
Первая задача (проверил, вроде работает, константа N - количество чисел в последовательности):

const N = 10;
var number, count, i : integer;
begin
    count := 1;
    for i := 1 to N do
    begin
        write('Input number: ');
        readln(number);
        if (number mod 3 = 0) and (number <> 0) then
            count := count * number;
    end;
    if (count = 1) then
        count := 0;
    writeln('Result: ',count);
    readln;
end.

Вторая задача (проверил, работает, но мог недопонять условие):
const N = 10;
var number, positive, negative, i : integer;
begin
    negative := 1; positive := 0;
    for i := 1 to N do
    begin
        write('Input number: ');
        readln(number);
        if (number > 0) then
            positive := positive + number;
        if (number < 0) then
            negative := negative * number;
    end;
    writeln('Positive sum: ',positive);
    writeln('Negative mul: ',negative);
    if (positive > negative) then
        writeln('Sum of positive numbers bigger than mul of negative numbers.')
    else if (positive < negative) then
        writeln('Sum of positive numbers lesser than mul of negative numbers.')
    else
        writeln('Sum of positive numbers and mul of negative numbers are equal.');
    readln;
end.

Третья задача (проверил, работает):
const N = 10;
var number, lastneg, prevneg, i : integer;
begin
    lastneg := 100; prevneg := 100;
    for i := 1 to N do
    begin
        write('Input number: ');
        readln(number);
        if (number < 0) then
            if (lastneg > 0) then
                lastneg := number
            else
            begin
                prevneg := lastneg;
                lastneg := number;
            end;
    end;
    if (prevneg > 0) then
        writeln('This sequence of numbers contains less than two negative numbers.')
    else
        writeln('Penultimate negative number: ',prevneg);
    readln;
end.
4,5(39 оценок)
Ответ:
89622356703
89622356703
03.04.2021
Var
1 Задача
n, pr, i, a: integer;
begin
readln(n);
pr := 0;
for i := 1 to n do
begin
read(a);
if (a mod 3 = 0) then
if (pr > 0) then
pr := pr * a
else
pr := a;
end;
writeln(pr);
end.
2 Задача
var
n, i, pl, ot, a: integer;
begin
readln(n);
pl := 0;
ot := 0;
for i := 1  to n do
begin
read(a);
if (a >= 0) then
inc(pl, a)
else
begin
if (ot <> 0) then
ot := ot * a
else
ot := a;
end;
end;
if (pl > ot) then
writeln('Polozitelnii)
else
writeln('Otricat');
end.
var
n, i, a, posl, prd: integer;
begin
readln(n);
posl := 0;
prd := 0;
for i := 1 to n do
begin
read(a);
if (a < 0) then
begin
prd := posl;
posl := a;
end;
end;
if (posl = 0) then
writeln('Нет отрицательных')
else
writeln(prd);
end.
4,7(71 оценок)
Открыть все ответы
Ответ:
grenzygaming
grenzygaming
03.04.2021
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadlnString('Вводите:').ToWords;
  var c:=a[0].Last;
  Writeln('Найдено ',a.Where(w->w.First=c).Count,
      ' слов, начинающихся с "',c,'"')
end.

Пример
Вводите: Туча дождь астроном баран арбуз зебра астра велосипед
Найдено 3 слов, начинающихся с "а"

Вариант "а нас в школе учат так", который якобы "проще"

var
  s:string;
  c:char;
  i,k,l,p:integer;
begin
  // Предполагается, что слова разделены ровно одним пробелом
  Write('Вводите: '); Readln(s);
  l:=Length(s);
  if l=1 then Writeln('Найдено одно слово')
  else begin
    p:=Pos(' ',s);
    if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово')
    else begin
      c:=s[p-1];
      if s[1]=c then k:=1 else k:=0;
      for i:=p+1 to Length(s)-1 do
        if (s[i]=' ') and (s[i+1]=c) then Inc(k);
        Writeln('Найдено ',k,' слов, начинающихся с "',c,'"')
      end
    end
end.
4,4(74 оценок)
Ответ:
kosonogova
kosonogova
03.04.2021

=

Объяснение:

const

 nmax=100;

type

 Tarr=array[1..nmax] of integer;

var

 a:Tarr;

 i,n:integer;

begin

 randomize;

 repeat

   write('Razmer massiva, ne bolee ',nmax,': ');

   readln(n);

 until n in [1..nmax];

 writeln('Ishodniy massiv:');

 for i:=1 to n do

   begin

     a[i]:=random(50);

     write(a[i]:4);

   end;

 writeln;

 i:=1;

 while (i<=n) and (a[i] mod 5<>0) do

   inc(i);

 if i>n then

   writeln('Net elementov kratyh 5')

 else  

   begin

     a[i]:=0;

     writeln('Poluchenniy massiv:');

     for i:=1 to n do

       write(a[i]:4);

     writeln;

   end;

end.

4,6(76 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ