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

Решение нужно на бейсике дан массив, содержащий 2014 положительных целых чисел. напишите на одном из языков программирования программу, которая находит сумму локальных максимумов этого массива, значение которых не кратно 5. локальным максимумом называется элемент массива, который больше всех своих соседей. например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных максимума: это элементы, равные 12 и 8. программа должна вывести сумму подходящих элементов, значения элементов выводить не нужно. исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. бейсик n=2014 dim a(n) as integer dim i, j, k as integer for i = 1 to n input a(i) next i … end паскаль const n=2014; var a: array [1..n] of integer; i, j, k: integer; begin for i: =1 to n do readln(a[i]); … end. в качестве ответа вам необходимо фрагмент программы, который должен находиться на месте многоточия. вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, free pascal 2.4). в этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

👇
Ответ:
Maizer01
Maizer01
28.02.2023
N=2014
DIM A(N) AS INTEGER
DIM I, J, K AS INTEGER
FOR I = 1 TO N
  INPUT A(I)
NEXT I

k = 0

if A(1) > A(2) and (A(1) mod 5 <> 0)  then k = k + A(1)

if A(N) > A(N-1) and (A(N) mod 5 <> 0)  then k = k + A(N)

for i = 2 to N-1

  if (A(i) > A(i+1)) and (A(i) > A(i-1)) and (A(i) mod 5 <> 0) then k = k + A(1)

next i

print k

Именно бейсика у меня нет, так что писалось на VBS а потом добавлялись символы как думаю было бы правильно
4,8(17 оценок)
Открыть все ответы
Ответ:
Лизок070707
Лизок070707
28.02.2023
Преобразуем условие в более понятное.
Обозначаем:
a=Пер­вая буква со­глас­ная;
b=Вто­рая буква со­глас­ная
c=Тре­тья буква глас­ная
Тогда условие можно записать следующим образом:
\lnot(a \land b) \land \lnot c=\overline{a\cdot b}\cdot\overline c=(\overline a+\overline b)\overline c
Перейдем к исходным обозначениям, учтя, что отрицание "гласная" есть "согласная", а отрицание "согласная" есть "гласная":
(Пер­вая буква глас­ная ИЛИ Вто­рая буква глас­ная) И Тре­тья буква согласная.
Можно сформулировать еще короче:
"Пер­вая ИЛИ вторая буква глас­ная, а третья обязательно согласная".
Этому условию удовлетворяет только имя 4) Лидия - в нем вторая буква гласная, а третья согласная.
4,5(50 оценок)
Ответ:
ponk4ik228778
ponk4ik228778
28.02.2023
Общее решение, позволяющее удалять из строк любой "мусор"

// PascalABC.Net 3.0, сборка 1066
procedure CheckString(var s:string; var n:integer);
var
  i:integer;
begin
  i:=Length(s);
  while i>0 do begin
    if not(s[i] in ['a'..'z']) then Delete(s,i,1);
    Dec(i)
  end;
  n:=Length(s)
end;

var
  s1,s2:string;
  i,p,n1,n2:integer;
begin
  Write('Введите первую строку: '); Readln(s1);
  CheckString(s1,n1);
  if n1=0 then Writeln('Введенная строка не содержит допустимых символов')
  else begin
    Write('Введите вторую строку: '); Readln(s2);
    CheckString(s2,n2);
    if n2=0 then Writeln('Введенная строка не содержит допустимых символов')
    else
      { теперь обе строки содержат только маленькие латинские буквы }
      if n1=n2 then begin
        for i:=1 to n1 do begin
          p:=Pos(s1[i],s2);
          if p=0 then Break
          else Delete(s2,p,1)
          end;
        if Length(s2)=0 then Writeln('Решение имеется')
        else Writeln('Решения нет')
        end
      else
        Writeln('Решения нет');
    end
end.

Тестовое решение:
Введите первую строку: this is my own deal!
Введите вторую строку: Тест: *is  now=l2ead  my   sthi?
Решение имеется

Также имеется современное решение, которому пока что в школах не учат:
// PascalABC.Net 3.0, сборка 1066
begin
  var s1:=ReadString('Введите первую строку: ').Where(x->x in ['a'..'z']);
  if s1.Count=0 then
    Writeln('Введенная строка не содержит допустимых символов')
  else begin
    var s2:=ReadString('Введите вторую строку: ').Where(x->x in ['a'..'z']);
    if s2.Count=0 then
      Writeln('Введенная строка не содержит допустимых символов')
    else
      if s1.Except(s2).Count>0 then Writeln('Решения нет')
      else Writeln('Решение имеется')
    end
end.
4,7(84 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ