Найти сумму положительных (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 минут
Листинг программы
  1. Program LB5U;
  2. Const a=2.5e-3;
  3. c=175;
  4. K=8;
  5. Z:Array[1..7] of real=(-2,3,12,-7,18,27,-10);
  6. VAR
  7. f:file;
  8. B:Array[1..2 , 1..3] of real;
  9. x:Array[1..7] of real;
  10. i,j,t,y:integer;
  11. min,SP,PO:real;
  12. begin
  13. assign (f,'z:\2Д63\Акимов А\Akimov14.txt');
  14. REWRITE(F);
  15. for i:=1 to 2 do
  16. for j:=1 to 3 do
  17. readln(B[I,J]);
  18. min:=B[1,1];
  19. for i:=1 to 2 do
  20. for j:=1 to 3 do
  21. begin
  22. if B[i,j]<min then min:=B[i,j];
  23. end;
  24. writeln('Минимальный элемент= ', min);
  25. PO:=0;
  26. for t:=1 to 7 do
  27. if Z[t]<0 then
  28. PO:=PO+1;
  29. writeln('Количество отрицательных элементов массива= ', PO);
  30. for y:=1 to 7 do
  31. readln((Z[y]));
  32. SP:=0;
  33. for y:=1 to 7 do
  34. if Z[y]>0 then
  35. SP:=SP+Z[y];
  36. for i:=1 to 7 do
  37. x[i]:=(((sqrt(SP))/(PO+a*c))+min*sqr(K)+Z[i]);
  38. WRITE(f,'X[i]= ',x[i]:3:3);
  39. close(f);
  40. end.
Вот так написал можете пожалуйста найти ошибку

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

textual
Листинг программы
  1. program LB5U;
  2. const a=2.5e-3;
  3.       c=175;
  4.       K=8;
  5.       Z:Array[1..7] of integer=(-2,3,12,-7,18,27,-10);
  6.       B:array[1..2,1..3] of real=((0.3,1.5,-6.1),
  7.                                   (7.2,1.3,0.6));
  8. var f:text;
  9.     X:Array[1..7] of real;
  10.     i,j,SP,PO:integer;
  11.     min:real;
  12. begin
  13. assign (f,'Akimov14.txt'); //файл в папке с програмой
  14. rewrite(f);
  15. writeln(f,'Massiv Z');
  16. SP:=0;
  17. PO:=0;
  18. for i:=1 to 7 do
  19.  begin
  20.   write(f,Z[i]:4);
  21.   if Z[i]>=0 then inc(SP,Z[i])
  22.   else inc(PO);
  23.  end;
  24. writeln(f);
  25. writeln(f,'SP=',SP,' PO=',PO);
  26. writeln(f,'Massiv B');
  27. for i:=1 to 2 do
  28.  begin
  29.   for j:=1 to 3 do
  30.    begin
  31.     write(f,B[i,j]:5:1);
  32.     if i+j=2 then min:=B[1,1]
  33.     else if B[i,j]<min then min:=B[i,j];
  34.    end;
  35.   writeln(f);
  36.  end;
  37. writeln(f,'min=',min:0:1);
  38. writeln(f,'Massiv X');
  39. for i:=1 to 7 do
  40.  begin
  41.   X[i]:=sqrt(SP)/(PO+a*c)+min*sqr(K)+Z[i];
  42.   write(f,X[i]:10:3);
  43.  end;
  44. writeln('Resultaty zapisany v fail Akimov14.txt');
  45. close(f);
  46. readln
  47. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы