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

Решить две (паскаль) 1 в одномерном массиве случайных вещественных числе f(17) определить количество положительных элементов и их сумму. 2 в матрице l(5,5) случайных вещественных чисел определить максимальный элемент выше побочной диагонали, поменять его местами с элементом 2 строки 2 столбца. большая расписать подробно , хочу не просто списать решения , а понять его и научиться решать сам , огромное .

👇
Ответ:
Viola2801
Viola2801
28.06.2020
1)uses crt;
const n=17;//число элементов в массиве
var f:array[1..n] of integer;
i,s,k:integer;
begin
randomize;
s:=0;
k:=0;//чтобы не возникало ошибок, на всякий случай все обнулим
for i:=1 to n do
begin
f[i]:=random(100)-50;//к примеру, взяла интервал от -50 до 50
//всего получилось 100 чисел, минимальное -50
writeln(f[i]);
if f[i]>0 then
begin
s:=s+f[i];
inc(k)//собираем сумму положительных элементов массива
//и находим их количество, прибавляя к переменной к единицу
end;
end;
writeln;//протсо сделаем пробел между массивом и результатами, чтобы не получилась каша
writeln(s);
writeln(k);
end.
2)uses crt;
const n=5;
var l:array[1..n,1..n] of integer;
i,j,max,k,t,m,i1,j1:integer;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
l[i,j]:=random(100)-50;
for i:=1 to n do
begin
for j:=1 to n do
write(l[i,j]:4);//это означает, что на запись элемента массива отводится 4 места
writeln;
end;//таким я вывела на экран двумерный массив в форме матрицы
writeln;
max:=-50;//чтобы найти максимальный элемент, нужно сначала приравнять его к минимально возможному значению
//так как побочная диагональ располагается для строк: от 1 до 4,а для столбцов - от 1 до 4 (сама побочная диагональ нас не интересует), то заведем еще переменные t и  m
t:=1;
m:=4;
//теперь найдем минимальный элемент выше побочной диагонали
repeat
for i:=t to t do
for j:=1 to m do
if l[i,j]>max then
begin
max:=l[i,j];
i1:=i;
j1:=j;//мы нашли максимальный элемент и запомнили его положение
end;
inc(t);
m:=m-1;
until t=5;
l[2,2]:=l[2,2]+l[i1,j1];
l[i1,j1]:=l[2,2]-l[i1,j1];
l[2,2]:=l[2,2]-l[i1,j1];// поменяли их местами
for i:=1 to n do
begin
for j:=1 to n do
write(l[i,j]:4);
writeln;
end;//опять выводим матрицу на экран
writeln;
end.
4,5(57 оценок)
Открыть все ответы
Ответ:
диди21
диди21
28.06.2020
1. Путь решения

Поскольку среднее всех введенных чисел нельзя найти, пока не будет закончен ввод этих чисел, а затем каждое число нужно будет сравнивать с этим средним, введенные числа придется где-то хранить. Например, в массиве длиной 100 (в условии сказано, что количество чисел "до 100").
Считаем, что описан массив a[1..100] и в нем находятся n≤100 целых чисел (можно и нецелых, но раз ничего не сказано в условии, мы вправе решить это сами).
Тогда среднее определится по формуле:
\displaystyle m= \frac{1}{n} \sum_{i=1}^na_i
а сумму мы умеем считать, накапливая значение в цикле со счетчиком, дающем проход по всем элементам массива.
Искомое количество чисел, меньших среднего - это тоже сумма, найти которую позволит еще один цикл, но в нем уже будет анализ условия.
\displaystyle k=\sum_{i=1}^na_i, \ a_i\ \textless \ m

2. Программа на языке Pascal

const
  nn=100;
var
  i,n,k,s:integer;
  m:real;
  a:array[1..nn] of integer;
begin
  Write('Количество чисел равно '); Read(n);
  Writeln('Введите числа:');
  s:=0;
  for i:=1 to n do begin Read(a[i]); s:=s+a[i] end;
  m:=s/n;
  k:=0;
  for i:=1 to n do
    if a[i]<m then Inc(k);
  Writeln('Количество чисел, превышающих среднее значение, равно ',k)
end.

3. Пример работы программы

Количество чисел равно 10
Введите числа:
6 -4 11 -7 5 7 0 3 5 -2
Количество чисел, превышающих среднее значение, равно 4
4,6(6 оценок)
Ответ:
карим050
карим050
28.06.2020

Часть программы. Решение задач

1. Найдите ошибку в программе:

program ;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

2. Найдите ошибку в программе:

program Prim 2 1;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f ); p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

3. Найдите ошибку в программе:

program Prim_2_1;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

4. Найдите ошибку в программе:

program Prim_2_1;

var a,b:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

5. Найдите ошибку в программе:

program Prim_2_1;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

6. Найдите ошибку в программе:

program Prim_2_1;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

writeln('p=',p);

readln

end.

7. Найдите ошибку в программе:

program Prim_2_1;

var a,b,c,d,f,p:integer;

writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p:=a+b+c+d+f;

writeln('p=',p);

readln

end.

8. Следующий алгоритм в результате выполнения программы находит:

program Prim_2_3;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p:=a+b+c;

writeln('p=',p);

readln

end

9. Найдите ошибку в программе:

program Prim_2_1;

var a,b,c,d,f,p:integer;

begin writeln('Введите 5 численных значений:');

readln(a,b,c,d,f );

p=:a+b+c+d+f;

writeln('p=',p);

readln

end.

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