Pascal/Turbo Pascal - Programa de Pascal Dificil

 
Vista:

Programa de Pascal Dificil

Publicado por Jose Mendoza (3 intervenciones) el 18/02/2011 20:38:56
Necesito este programa urgente tengo ya varios dias intentando pero nada...

esperando su respuesta!


Realice un programa en pascal que controle el ejecutando las siguientes operaciones:

1. Operaciones con MATRIZ
* Cargue una matriz 3x3 una matriz a partir de los datos contenidos en la lista
* LAS CUATRO ESQUINAS DE LA MATRIZ debe cargarse con números PARES
* LAS POSICIONES INTERMEDIAS deben cargarse con números IMPARES
* Solo la posición central de la matrizr debe cargarse con números MULTIPLOS DE 5

2. Operaciones con VECTORES
* Cargue tres (3) vectores de 3 posiciones c/u de nros enteros de la siguiente manera:
* 1er vector ( 3 POSICIONES )
* Cargado con los 3 nros de las esquinas (PARES) “listo”
* Ordenados por el método de la BURBUJA DESCENDENTE
* Obtenga el PRODUCTO de dicho vector “listo”

* 2do vector ( 3 POSICIONES )
* Cargado con los cuatro nros de las posiciones intermedias(IMPAR) “listo”
* Obtenga la PROMEDIO de dicho vector

* 3er vector ( 3 POSICIONES )
* Cargado con la ultima FILA
* Determine: La ultima posición del vector es : par, impar,
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

RE:Programa de Pascal Dificil

Publicado por ramon (2158 intervenciones) el 18/02/2011 21:51:35
Me facilitaría mucho si me proporcionara la lista para saber a que atenerme.

Realice un programa en pascal que controle el ejecutando las siguientes operaciones:

1. Operaciones con MATRIZ
* Cargue una matriz 3x3 una matriz a partir de los [datos contenidos en la lista]
* LAS CUATRO ESQUINAS DE LA MATRIZ debe cargarse con números PARES
* LAS POSICIONES INTERMEDIAS deben cargarse con números IMPARES
* Solo la posición central de la matrizr debe cargarse con números MULTIPLOS DE 5

2. Operaciones con VECTORES
* Cargue tres (3) vectores de 3 posiciones c/u de nros enteros de la siguiente manera:
* 1er vector ( 3 POSICIONES )
* Cargado con los 3 nros de las esquinas (PARES) “listo”
* Ordenados por el método de la BURBUJA DESCENDENTE
* Obtenga el PRODUCTO de dicho vector “listo”

* 2do vector ( 3 POSICIONES )
* Cargado con los cuatro nros de las posiciones intermedias(IMPAR) “listo”
* Obtenga la PROMEDIO de dicho vector

* 3er vector ( 3 POSICIONES )
* Cargado con la ultima FILA
* Determine: La ultima posición del vector es : par, impar,
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

RE:Programa de Pascal Dificil

Publicado por Jose Mendoza (3 intervenciones) el 19/02/2011 22:25:34
no... el programa es sin lista...! cargalo directamente..

se puede hacer con un menu para separar todo..!
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

RE:Programa de Pascal Dificil

Publicado por ramon (2158 intervenciones) el 20/02/2011 23:58:31
{1.Operaciones con MATRIZ
* Cargue una matriz 3x3 una matriz a partir de los datos contenidos en la
lista
* LAS CUATRO ESQUINAS DE LA MATRIZ debe cargarse con números PARES
* LAS POSICIONES INTERMEDIAS deben cargarse con números IMPARES
* Solo la posición central de la matrizr debe cargarse con números
MULTIPLOS DE 5

2.Operaciones con VECTORES
* Cargue tres (3) vectores de 3 posiciones c/u de nros enteros de la
siguiente manera:
* 1er vector ( 3 POSICIONES )
* Cargado con los 3 nros de las esquinas (PARES) “listo”
* Ordenados por el método de la BURBUJA DESCENDENTE
* Obtenga el PRODUCTO de dicho vector “listo”

* 2do vector ( 3 POSICIONES )
* Cargado con los cuatro nros de las posiciones intermedias(IMPAR)
“listo”
* Obtenga la PROMEDIO de dicho vector

* 3er vector ( 3 POSICIONES )
* Cargado con la ultima FILA
* Determine: La ultima posición del vector es : par, impar, }

program matrices;
uses
crt, dos;
var
matric : array[1..3,1..3] of integer;
vector : array[1..3,1..3] of integer;
cont1, cont2, x, y : integer;

procedure cuadro_matric;
begin
gotoxy(10,9);write('MATRIC 3X3');
gotoxy(10,10);write('ÚÄÄÄÂÄÄÄÂÄÄÄ¿');{caracteres en pascal pulsar tecla [Alt] y en}
gotoxy(10,11);write('³ ³ ³ ³');{teclado numerico las secuencias primera linea}
gotoxy(10,12);write('ÃÄÄÄÅÄÄÄÅÄÄÄ´');{169/196/196/196/194/196/196/196/194/196/196/196/170}
gotoxy(10,13);write('³ ³ ³ ³');{ segunda linea }
gotoxy(10,14);write('ÃÄÄÄÅÄÄÄÅÄÄÄ´');{179/3 espacios/179/3 espacios/179 }
gotoxy(10,15);write('³ ³ ³ ³');{ tercera linea }
gotoxy(10,16);write('ÀÄÄÄÁÄÄÄÁÄÄÄÙ');{195/196/196/196/197/196/196/196/197/196/196/196/180}
end; { cuarta fila como la segunda }
{ quinta fila }
{192/196/196/196/193/196/196/196/193/196/196/196/217}
{Corresponde a la zona de UAAAAAAAAA33333 del cuadro }
function entrada(xe, ye, pos : integer) : integer;
var
tecla : char;
dato : string[2];
i, error, num, il : integer;
valido : boolean;
begin
fillchar(dato,3,' ');
dato[0] := chr(2);
valido := false;
gotoxy(xe,ye);
il := 1;
repeat
tecla := readkey;
if ord(tecla) in[48..57] then
begin
dato[il] := tecla;
dato[0] := chr(il);
gotoxy(xe,ye);write(dato);
inc(il);
if il > 2 then
il := 2;
end
else
begin
write(^G^G);
end;
if tecla = #13 then
begin
case pos of
1,3,7,9 : begin
val(dato,num,error);
if num mod 2 = 0 then
begin
valido := true;
entrada := num;
end
else
begin
gotoxy(xe,ye);write(' ');
il := 1;
end;
end;
2,4,6,8 : begin
val(dato,num,error);
if num mod 2 <> 0 then
begin
valido := true;
entrada := num;
end
else
begin
gotoxy(xe,ye);write(' ');
il := 1;
end;
end;
5 : begin
val(dato,num,error);
i := 1;
repeat
if num = (5 * i) then
begin
valido := true;
entrada := num;
end;
i := i + 1;
until (i > 100) or (valido = true);
if valido = false then
begin
valido := false;
gotoxy(xe,ye);write(' ');
il := 1;
end;
end;
end;
end;
until (valido = true) or (tecla = #27);
end;

procedure ingrese_numeros;
begin
cuadro_matric;
gotoxy(5,17);write('ENTRE NUMEROS EN LA MATRIC');
matric[1,1] := entrada(11, 11, 1);
matric[1,2] := entrada(15, 11, 2);
matric[1,3] := entrada(19, 11, 3);
matric[2,1] := entrada(11, 13, 4);
matric[2,2] := entrada(15, 13, 5);
matric[2,3] := entrada(19, 13, 6);
matric[3,1] := entrada(11, 15, 7);
matric[3,2] := entrada(15, 15, 8);
matric[3,3] := entrada(19, 15, 9);
end;

procedure cargavector;
var
nu3, nu2, nu1, t : integer;
begin
if (matric[1,1] < matric[1,3]) and (matric[1,1] < matric[3,1]) then
begin
nu3 := matric[1,1];
end;
if matric[1,3] < matric[3,1] then
begin
nu2 := matric[1,3];
nu1 := matric[3,1];
end;
matric[1,1] := nu1;
matric[1,3] := nu2;
matric[3,1] := nu3;
vector[1,1] := matric[1,1];
vector[1,2] := matric[1,3];
vector[1,3] := matric[3,1];
gotoxy(10,19);write('ORDENADOS : ',vector[1,1],' ',vector[1,2],' ',vector[1,3]);
gotoxy(10,20);write('PRODUCTO : ',vector[1,1] + vector[1,2] + vector[1,3]);
vector[2,1] := matric[1,2];
vector[2,2] := matric[2,1];
vector[2,3] := matric[2,3];
nu1 := vector[2,1] + vector[2,2] + vector[2,3];
gotoxy(10,21);write('PROMEDIO : ',nu1 / 3:12:2);
vector[3,1] := matric[3,1];
vector[3,2] := matric[3,2];
vector[3,3] := matric[3,3];
if vector[3,3] mod 2 = 0 then
begin
gotoxy(10,22);write('ULTIMA POSICION : NUMERO ** PAR **');
end
else
begin
gotoxy(10,22);write('ULTIMA POSICION : NUMERO ** INPAR **');
end;
end;

begin
clrscr;
ingrese_numeros;
cargavector;
gotoxy(10,24);write('***** PULSE UNA TECLA PARA SALIR *****');
repeat until keypressed;
end.
Esto es loqueas pedido no me que da claro con tus datos fíjate que las matrices
son de 3*3 no de cuatro como pides en {Cargado con los cuatro nros de las posiciones intermedias(IMPAR)}
espero te sirva.
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

RE:Programa de Pascal Dificil

Publicado por Jose Mendoza (3 intervenciones) el 21/02/2011 21:49:30
me ha servido bastante hermano...! solo falto algo asi tipo menu... pero eso lo hago con calma... muchisimas gracias!!!
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