Pascal/Turbo Pascal - Ayuda con programa

 
Vista:

Ayuda con programa

Publicado por Kaim (2 intervenciones) el 12/11/2021 05:16:58
Alguien me podría ayudar con este ejercicio? Llevo todo el día intentándolo hacer pero cada intento me sale un sinfin de errores. Se lo agradecería bastante.

"Realiza un programa en el cual se declaren 4 arreglos de 3 posiciones cada uno de ellos, antes del ciclo mandar a pedir un número que debe estar comprendido entre los primeros 10 números impares, el primer arreglo solo se aceptarán números iguales o menores que 30; en el segundo arreglo solo se aceptarán números mayores de 30; en el tercer arreglo debe quedar el producto del número impar pedido antes del ciclo por cada uno de los indices del arreglo 2, en el cuarto arreglo debe de quedar la suma de cada indice de cada arreglo (1,1,1-2,2,2-3,3,3) e imprimir los resultados de este arreglo de forma inversa. Posteriormente calcular e imprimir lo siguiente:
- El promedio de cada arreglo El promedio general de los 3 arreglos
- El cuadrado de la parte entera del promedio de cada indice de cada arreglo (1,1,1- 2,2,2-3,3,3)
- El cubo de la parte entera del promedio de cada indice de cada arreglo (1,1,1-2,2,2- 3,3,3)
- La parte entera del promedio del índice 1 del primer arreglo con el indice 1 del segundo arreglo.
-La parte decimal del promedio del indice 1 del primer arreglo con el indice 1 del segundo arreglo."
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 36
Ha aumentado su posición en 4 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con programa

Publicado por Armando José Fuenmayoe (43 intervenciones) el 13/11/2021 02:12:54
(*
El promedio de cada arreglo El promedio general de los 3 arreglos
- El cuadrado de la parte entera del promedio de cada indice de cada arreglo (1,1,1- 2,2,2-3,3,3)
- El cubo de la parte entera del promedio de cada indice de cada arreglo (1,1,1-2,2,2- 3,3,3)
- La parte entera del promedio del índice 1 del primer arreglo con el indice 1 del segundo arreglo.
-La parte decimal del promedio del indice 1 del primer arreglo con el indice 1 del segundo arreglo."

realizado por:
Armando Fuenmayor
[email protected]
[email protected]
WhatsApp +58 412-2689131
*)
program arreglo;
const
posicion = 3;
type

arre = array[1..posicion] of integer;


uses crt;
var
a,b,c,d : arre;
j ,num :Byte ;
pro1 : real;
continuar : boolean;

(*********************************)
(* retorna true si esta *)
(* entre los 10 primeros impares *)
(*********************************)
function primpar(n:byte):boolean;
var
verdad : boolean;
i ,con :Byte;
begin
verdad := false ;
con := 0;
if (n mod 2 = 1) then
begin
for i := 1 to n do
begin
if (i mod 2 = 1) then
inc(con);
end;
if (con <= 10) then
verdad:= true;
end;
primpar := verdad;
end;

function prome(x:arre):real;
var
suma, i : integer;
y : real;
begin
suma := 0;
y := 0.0;
for i :=1 to posicion do
begin
suma := suma + x[i];
end;
y := suma / posicion;
prome := y;
end;

function cuadrado(x:real):real;
begin
cuadrado := (x - frac(x)) * (x - frac(x)) ;
end;

function cubo(x:real):real;
begin
cubo := (x - frac(x)) *
(x - frac(x)) * (x - frac(x)) ;
end;


begin
clrscr;
continuar := true;
num := 0;
while (continuar) do
begin

writeln('ingrese un numero');
readln(num);
if primpar(num) then
begin
continuar := false;
end
else
begin
writeln('debe ser impar')
end;

end;




for j :=1 to posicion do
begin
repeat
writeln('Primer arreglo [ ', j,' ]');
readln(a[j]);
until (a[j]>=1) and
(a[j]<=30);

end;
clrscr;
for j :=1 to posicion do
begin
repeat
writeln('Segundo arreglo [', j ,' ]');
readln(b[j]);
until (b[j]>30);

c[j] := num * b[j];

d[j]:=a[j]+b[j]+c[j];

end;

clrscr;
writeln('primeros 10 impares: ');
writeln('(',num,')');
writeln;
//

writeln('primer arreglo ');

for j :=1 to posicion do
begin
write(a[j]:6);
end;
writeln;
writeln('segundo arreglo ');

for j :=1 to posicion do
begin
write(b[j]:6);
end;
writeln;
writeln('tercer arreglo ');

for j :=1 to posicion do
begin
write(c[j]:6);
end;
writeln;
writeln('cuarto arreglo ');
writeln('forma inversa ');

for j :=posicion downto 1 do
begin
write(d[j]:6);
end;
writeln;
writeln(' promedio primer arreglo ', prome(a):5:2);
writeln;
writeln(' promedio segundo arreglo ', prome(b):5:2);
writeln;
writeln(' promedio tercer arreglo ', prome(c):5:2);
writeln;
writeln(' promedio general 3 arreglos: ', prome(d)/3:5:2);
writeln('____________________________________');
writeln('cuadrado de la parte entera del promedio ');
for j :=1 to posicion do
begin
write(round(cuadrado(d[j]/3)):6);
end;

writeln;
writeln('cubo de la parte entera del promedio ');
writeln('____________________________________');

for j :=1 to posicion do
begin
write(round(cubo(d[j]/posicion)):6);
end;
writeln;
writeln('parte entera del promedio A[1] B[1] ');
writeln('____________________________________');

pro1:= 0.0;
pro1 := (a[1] + b[1]) /2;

writeln(round(pro1 - frac(pro1))) ;
writeln;
writeln('parte fraccion del promedio A[1] B[1] ');

writeln(frac(pro1)) ;

end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar