Найти сумму положительных (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, который является одним из диалектических вариантов языка Паскаль. Программа выполняет следующие действия:
- Создает массив целых чисел Z, содержит семь элементов, принимает значения от -2 до 27.
- Создает двумерный массив B, содержит три элемента в каждом из двух подмассивов, значения массива B содержат числа с плавающей точкой.
- Создает пустой текстовый файл с именем
Akimov14.txt
и открывает его для записи. - Записывает в файл массив Z.
- Устанавливает начальные значения переменных SP и PO равными нулю.
- Используя цикл, проходит по всем элементам массива Z.
- Записывает значение каждого элемента массива Z в файл.
- Если значение элемента массива Z больше или равно нулю, увеличивает значение переменной SP на это значение.
- Если значение элемента массива Z меньше нуля, увеличивает значение переменной PO на единицу.
- Выводит на экран значения переменных SP и PO.
- Записывает в файл массив B.
- Используя два вложенных цикла, проходит по всем элементам массива B.
- Записывает значение каждого элемента массива B в файл.
- Если индексы текущего элемента массива B равны 1 и 1, обновляет значение переменной min.
- Если значение текущего элемента массива B меньше значения переменной min, обновляет значение переменной min.
- Выводит на экран значение переменной min.
- Создает массив X, содержит семь элементов.
- Используя цикл, проходит по всем элементам массива X.
- Вычисляет значение каждого элемента массива X по формуле sqrt(SP)/(PO+ac)+minsqr(K)+Z[i].
- Записывает значение каждого элемента массива X в файл.
- Выводит на экран сообщение о том, что результаты сохранены в файле
Akimov14.txt
. - Закрывает файл.
- Ждет ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д