Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста с составлением программы. Условие: Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива Z(7) и минимальный элемент массива b(2,3) и вычислить [x][/i]: x(i-тое)=((sqrt(SP))/(PO+a*c))+b(min-в индексе)*Sqr(k)+Z(i-ое); a=2,5e-3; c=175; K=8; Z(i-тое)=-2,3,12,-7,-18,27,-10; B(2,3)=Матрица 0.3 1.5 -6.1 7.2 10.3 0.6 Добавлено через 5 минут
Program LB5U;
Const a=2.5e-3;
c=175;
K=8;
Z:Array[1..7] of real=(-2,3,12,-7,18,27,-10);
VAR 
f:file;
B:Array[1..2 , 1..3] of real;
x:Array[1..7] of real;
i,j,t,y:integer;
min,SP,PO:real;
begin
assign (f,'z:\2Д63\Акимов А\Akimov14.txt');
REWRITE(F);
for i:=1 to 2 do
for j:=1 to 3 do
readln(B[I,J]);
min:=B[1,1];
for i:=1 to 2 do
for j:=1 to 3 do
begin
if B[i,j]<min then min:=B[i,j];
end;
writeln('Минимальный элемент= ', min);
PO:=0;
for t:=1 to 7 do 
if Z[t]<0 then 
PO:=PO+1;
writeln('Количество отрицательных элементов массива= ', PO);
for y:=1 to 7 do
readln((Z[y]));
SP:=0;
for y:=1 to 7 do
if Z[y]>0 then 
SP:=SP+Z[y];
for i:=1 to 7 do
x[i]:=(((sqrt(SP))/(PO+a*c))+min*sqr(K)+Z[i]);
WRITE(f,'X[i]= ',x[i]:3:3);
close(f);
end.
Вот так написал можете пожалуйста найти ошибку

Решение задачи: «Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива»

textual
Листинг программы
program LB5U;
const a=2.5e-3;
      c=175;
      K=8;
      Z:Array[1..7] of integer=(-2,3,12,-7,18,27,-10);
      B:array[1..2,1..3] of real=((0.3,1.5,-6.1),
                                  (7.2,1.3,0.6));
var f:text;
    X:Array[1..7] of real;
    i,j,SP,PO:integer;
    min:real;
begin
assign (f,'Akimov14.txt'); //файл в папке с програмой
rewrite(f);
writeln(f,'Massiv Z');
SP:=0;
PO:=0;
for i:=1 to 7 do
 begin
  write(f,Z[i]:4);
  if Z[i]>=0 then inc(SP,Z[i])
  else inc(PO);
 end;
writeln(f);
writeln(f,'SP=',SP,' PO=',PO);
writeln(f,'Massiv B');
for i:=1 to 2 do
 begin
  for j:=1 to 3 do
   begin
    write(f,B[i,j]:5:1);
    if i+j=2 then min:=B[1,1]
    else if B[i,j]<min then min:=B[i,j];
   end;
  writeln(f);
 end;
writeln(f,'min=',min:0:1);
writeln(f,'Massiv X');
for i:=1 to 7 do
 begin
  X[i]:=sqrt(SP)/(PO+a*c)+min*sqr(K)+Z[i];
  write(f,X[i]:10:3);
 end;
writeln('Resultaty zapisany v fail Akimov14.txt');
close(f);
readln
end.

Объяснение кода листинга программы

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

  1. Создает массив целых чисел Z, содержит семь элементов, принимает значения от -2 до 27.
  2. Создает двумерный массив B, содержит три элемента в каждом из двух подмассивов, значения массива B содержат числа с плавающей точкой.
  3. Создает пустой текстовый файл с именем Akimov14.txt и открывает его для записи.
  4. Записывает в файл массив Z.
  5. Устанавливает начальные значения переменных SP и PO равными нулю.
  6. Используя цикл, проходит по всем элементам массива Z.
  7. Записывает значение каждого элемента массива Z в файл.
  8. Если значение элемента массива Z больше или равно нулю, увеличивает значение переменной SP на это значение.
  9. Если значение элемента массива Z меньше нуля, увеличивает значение переменной PO на единицу.
  10. Выводит на экран значения переменных SP и PO.
  11. Записывает в файл массив B.
  12. Используя два вложенных цикла, проходит по всем элементам массива B.
  13. Записывает значение каждого элемента массива B в файл.
  14. Если индексы текущего элемента массива B равны 1 и 1, обновляет значение переменной min.
  15. Если значение текущего элемента массива B меньше значения переменной min, обновляет значение переменной min.
  16. Выводит на экран значение переменной min.
  17. Создает массив X, содержит семь элементов.
  18. Используя цикл, проходит по всем элементам массива X.
  19. Вычисляет значение каждого элемента массива X по формуле sqrt(SP)/(PO+ac)+minsqr(K)+Z[i].
  20. Записывает значение каждого элемента массива X в файл.
  21. Выводит на экран сообщение о том, что результаты сохранены в файле Akimov14.txt.
  22. Закрывает файл.
  23. Ждет ввода пользователя.

ИИ поможет Вам:


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

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы