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

Попробуйте привести примеры алгоритмов поиска информации в массиве и сортировки массива, которые допускают распараллеливание операций. Опишите процедуру распараллеливания. Сколько процессоров необходимо для эффективного распараллеливания в приведённом вами примере?

Показать ответ
Ответ:
gamerallgames3457643
gamerallgames3457643
22.06.2022 18:46
1 вариант через строку

var 
  n,a,k,sum,i,j: integer; 
  s: string; 
begin
  sum:=0; 
  write ('Введите количество чисел: ');
  readln (n);
  for i:=1 to n do begin 
    write ('Введите число: ');
    readln (a);
    Str(a,s);
    k:=0;
    for j:=1 to length(s) do 
      if s[j]='5' then k:=k+1;
    if k=2 then sum:=sum+a;
  end;  
  writeln ('Sum = ',sum);
end.

2 вариант через div и mod

var 
  n,a,x,k,sum,i: integer; 
begin
  sum:=0; 
  write ('Введите количество чисел: ');
  readln (n);
  for i:=1 to n do begin 
    write ('Введите число: ');
    readln (a);
    x:=abs(a);
    k:=0;
    while x>0 do begin
      if x mod 10 =5 then k:=k+1;
      x:=x div 10;
    end;
    if k=2 then sum:=sum+a;
  end;  
  writeln ('Sum = ',sum);
end.

пример результата:

Введите количество чисел: 3
Введите число: 550001
Введите число: -550000
Введите число: 123456
Sum = 1
0,0(0 оценок)
Ответ:
ladykyzya2017
ladykyzya2017
22.06.2022 18:46
Uses crt;constn = 10;vari,b:integer;mas : array[1..n] of integer;v:array[1..n]of integer;max_num, max_index,g,c: integer;begin writeln('введите элементы массива');for i:=1 to n do readln(mas[i]);for i := 2 to n doif mas[i] > max_num then beginmax_index := i;max_num := mas[i];end;writeln('введите элементы массива');for b:=1 to n do readln(v[b]);for b := 2 to n doif v[b] > g then beginc := b;g := v[b];end;if g<max_num then writeln('Максимальное число в первом массиве ',max_num ,' находится на позиции ',max_index)else writeln ('Максимальное число во втором массиве ',g,' находится на позиции ',c);end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота