lunes, 25 de noviembre de 2013

Programa Integrador: 3° Parcial

Program integrador;
Uses
 Crt;

Var
 Opc:char;
 msg:string='Programa creado por  Miguel Angel Huerta Granja';

Procedure Centrar(Texto:String; fila:Integer);
Var
 Columna:integer;
Begin
Columna:=(80-Length(Texto)) DIV 2;
Gotoxy(Columna,fila);
Write(Texto);
End;

Procedure salida;
Begin
Clrscr;
Textbackground(red);
Textcolor(yellow);
Centrar('Pregrama para el calculo de areas se despide, BYEPIS',8);
Delay(2000);
End;

Procedure circulo;
Var
 area,r:real;
Begin
 Clrscr;
 Centrar('Escribe el valor de r (radio)',5);
 Readln(r);
 area:=PI*r*r;
 Centrar('El area del circulo es igual a',8);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona una tecla para regresar al menu',10);
 Readkey;
End;

Procedure Triangulo;
Var
 area,base,altura:real;
 Begin
  Clrscr;
  Centrar('Escribe el valor de b (base)',5);
  Readln(base);
  Centrar('Escribe el valor de h (altura)',7);
  Readln(altura);
  area:=((base*altura)/2);
  Centrar('El area del triangulo es igual a',9);
  Writeln(area:4:2);
  Writeln;
  Writeln;
  Writeln;
  Centrar('Presiona una tecla para regresar al menu',10);
  Readkey;
End;

Procedure Rectangulo;
Var
 area,base,altura:real;
 Begin
  Clrscr;
  Centrar('Escribe el valor de b (base)',5);
  Readln(base);
  Centrar('Escribe el valor de h (altura)',7);
  Readln(altura);
  area:=(base*altura);
  Centrar('El area del rectangulo es igual a',9);
  Writeln(area:4:2);
  Writeln;
  Writeln;
  Writeln;
  Centrar('Presiona cualquier tecla para regresar al menu',10);
  Readkey;
End;

Procedure Cuadrado;
Var
 area,Lado:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor del l (lado)',5);
 Read(Lado);
 area:=Lado*Lado;
 Centrar('El area del Cuadrado es igual a: ',8);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona cualquier tecla para regresar al menu',10);
 Readkey;
End;

Procedure Romboide;
Var
 base,altura,area:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la b (base)',3);
 Read(base);
 Centrar('Escribe el valor de la a (altura)',5);
 Read(altura);
 area:=base*altura;
 Centrar('El area del Romboide es igual a: ',8);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona cualquier tecla para regresar al menu',10);
 Readkey;
End;

Procedure Trapecio;
Var
 area,Basemayor,basemenor,altura:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la B (Basemayor)',5);
 Read(Basemayor);
 Centrar('Escribe el valor de la b (basemenor)',7);
 Read(basemenor);
 area:=Basemayor*basemenor/2;
 Centrar('El area del Trapecio es igual a: ',9);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona cualquier tecla para regresar al menu',10);
 Readkey;
End;

Procedure Pentagono;
Var
 area,Perimetro,apotema:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor del P (Perimetro)',5);
 Read(Perimetro);
 Centrar('Escribe el valor de la a (apotema)',7);
 Read(apotema);
 area:=Perimetro*apotema/2;
 Centrar('El area del Pentagono es igual a: ',9);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal ',10);
 Readkey;
End;

Procedure Rombo;
Var
 area,Diagonalmayor,diagonalmenor:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la D (Diagonalmayor)',5);
 Read(Diagonalmayor);
 Centrar('Escribe el valor de la d (diagonalmenor)',7);
 Read(diagonalmenor);
 area:=Diagonalmayor*diagonalmenor/2;
 Centrar('El area del Rombo es igual a: ',9);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona cualquier tecla para regresar al menu',10);
 Readkey;
End;

Procedure suma;
var
 x,y,z:integer;
begin
 clrscr;
 centrar('dame un numero:' ,5);
 read(x);
 centrar('dame otro numero: ',6);
 read(y);
 centrar('la suma de esos numeros es igual a: ',7);
 z:=x+y;
 writeln(z);
 writeln;
 writeln;
 writeln;
 centrar('presiona ENTER para regresar al menu principal',10);
 readkey;
end;

Procedure resta;
 var
 x,y,z:integer;
 begin
 clrscr;
 centrar('dame un numero:' ,5);
 read(x);
 centrar('dame otro numero: ',6);
 read(y);
 centrar('la resta de esos numeros es igual a: ',7);
 z:=x-y;
 writeln(z);
 writeln;
 writeln;
 writeln;
 centrar('presiona ENTER para regresar al menu principal',10);
 readkey;
 end;

Procedure multiplicacion;
var
 x,y,z:integer;
 begin
 clrscr;
 centrar('dame un numero:' ,5);
 read(x);
 centrar('dame otro numero: ',6);
 read(y);
 centrar('la multiplicacion de esos numeros es igual a: ',7);
 z:=x*y;
 writeln(z);
 writeln;
 writeln;
 writeln;
 centrar('presiona ENTER para regresar al menu principal',10);
 readkey;
 end;


Procedure Numeracion1;
Var
 x:integer;
Begin
 Clrscr;
 For x:=1 to 100 do
 Begin
  Write(' ',x);
 End;
 Readkey;
End;

Procedure Numeracion2;
Var
 x:integer;
Begin
 Clrscr;
 For x:=100 downto 1 do
 Begin
  Write(' ',x);
 End;
 Readkey;
End;

Procedure Numeracion3;
Var
 x,y:integer;
Begin
 Clrscr;
 y:=0;
 For x:=0 to 100 do
 Begin
  Write(' ',y);
  y:=y+2;
 End;
 Readkey;
End;

Procedure Numeracion4;
Var
 x,y:integer;
Begin
 Clrscr;
 y:=1;
 For x:=1 to 100 do
 Begin
  Write(' ',y);
  y:=y+2;
 End;
 Readkey;
End;

Procedure numeraciones;
begin
 Repeat
 Clrscr;
 Gotoxy(18,1);
 Writeln('+-------------------------------------------+');
 Gotoxy(18,2);
 Writeln('|                                           |');
 Gotoxy(18,3);
 Writeln('+-------------------------------------------+');
 Gotoxy(23,2);
 Textcolor(yellow);
 textbackground(red);
 Writeln(msg);
 Textcolor(white);
 Textbackground(black);
 Gotoxy(16,5);
 Writeln('+---------------------------------------------------+');
 Gotoxy(16,6);
 Writeln('|                                                   |');
 Gotoxy(16,7);
 Writeln('|                                                   |');
 Gotoxy(16,8);
 Writeln('|                                                   |');
 Gotoxy(16,9);
 Writeln('|                                                   |');
 Gotoxy(16,10);
 Writeln('|                                                   |');
 Gotoxy(16,11);
 Writeln('|                                                   |');
 Gotoxy(16,12);
 Writeln('|                                                   |');
 Gotoxy(16,13);
 Writeln('|                                                   |');
 Gotoxy(16,14);
 Writeln('|                                                   |');
 Gotoxy(16,15);
 Writeln('|                                                   |');
 Gotoxy(16,16);
 Writeln('|                                                   |');
 Gotoxy(16,17);
 Writeln('|                                                   |');
 Gotoxy(16,18);
 Writeln('|                                                   |');
 Gotoxy(16,19);
 Writeln('+---------------------------------------------------+');
 Centrar('OPCIONES DEL PROGRAMA',6);
 Centrar('[N]umeracion de menor a mayor',8);
 Centrar('N[u]meracion de mayor a menor',10);
 Centrar('Nu[M]eracion de dos en dos',12);
 Centrar('Num[E]racion de tres en tres',14);
 Centrar('[Y] Regresar al programa principal',16);
 Textcolor(green);
 Centrar('Elige una opcion',18);
 Opc:=readkey;
 Case opc of
 'N','n': Numeracion1;
 'U','u': Numeracion2;
 'M','m': Numeracion3;
 'E','e': Numeracion4;

 End;
 Until (opc='Y') or (opc='y');

End;


Procedure aritmeticas;
begin
   repeat
   clrscr;
   gotoxy(18,1);
   writeln('+---------------------------------------+');
   gotoxy(18,2);
   writeln('|                                       |');
   gotoxy(18,3);
   writeln('+---------------------------------------+');
   gotoxy(23,2);
   textcolor(yellow);
   textbackground(red);
   writeln(msg);
   textcolor(white);
   textbackground(black);
   gotoxy(16,5);
   writeln('+--------------------------------------------------------------+');
   gotoxy(16,6);
   writeln('|                                                              |');
   gotoxy(16,7);
   writeln('|                                                              |');
   gotoxy(16,8);
   writeln('|                                                              |');
   gotoxy(16,9);
   writeln('|                                                              |');
   gotoxy(16,10);
   writeln('|                                                              |');
   gotoxy(16,11);
   writeln('|                                                              |');
   gotoxy(16,12);
   writeln('|                                                              |');
   gotoxy(16,13);
   writeln('|                                                              |');
   gotoxy(16,14);
   writeln('|                                                              |');
   gotoxy(16,15);
   writeln('|                                                              |');
   gotoxy(16,16);
   writeln('|                                                              |');
   gotoxy(16,17);
   writeln('|                                                              |');
   gotoxy(16,18);
   writeln('|                                                              |');
   gotoxy(16,19);
   writeln('+--------------------------------------------------------------+');
   centrar('OPCIONES DEL PROGRAMA',6);
   centrar('[S]umar dos numeros',8);
   centrar('[R]estar dos numeros',10);
   centrar('[M]ultiplicar dos numeros',12);
   Centrar('[Y] Regresar al programa principal',14);
   textcolor(green);
   centrar('elige una opcion',16);
   opc:=readkey;
   case opc of
   'S','s': suma;
   'R','r': resta;
   'M','m': multiplicacion;

   End;
 Until(opc='Y') or (opc='y');

End;

Procedure areas;

Begin
 Repeat;
 Clrscr;
 Gotoxy(18,1);
 Writeln('+--------------------------------------------+');
 Gotoxy(18,2);
 Writeln('|                                            |');
 Gotoxy(18,3);
 Writeln('+--------------------------------------------+');
 Gotoxy(23,2);
 Textcolor(yellow);
 Textbackground(black);
 Writeln(msg);
 Textcolor(white);
 Textbackground(black);
 Gotoxy(16,5);
 Writeln('+---------------------------------------------------+');
 Gotoxy(16,6);
 Writeln('|                                                   |');
 Gotoxy(16,7);
 Writeln('|                                                   |');
 Gotoxy(16,8);
 Writeln('|                                                   |');
 Gotoxy(16,9);
 Writeln('|                                                   |');
 Gotoxy(16,10);
 Writeln('|                                                   |');
 Gotoxy(16,11);
 Writeln('|                                                   |');
 Gotoxy(16,12);
 Writeln('|                                                   |');
 Gotoxy(16,13);
 Writeln('|                                                   |');
 Gotoxy(16,14);
 Writeln('|                                                   |');
 Gotoxy(16,15);
 Writeln('|                                                   |');
 Gotoxy(16,16);
 Writeln('|                                                   |');
 Gotoxy(16,17);
 Writeln('|                                                   |');
 Gotoxy(16,18);
 Writeln('|                                                   |');
 Gotoxy(16,19);
 Writeln('+---------------------------------------------------+');
 Centrar('Opciones del programa',6);
 Centrar('[C]irculo',8);
 Centrar('[T]riangulo',9);
 Centrar('[R]ectagulo',10);
 Centrar('C[U]adrado',11);
 Centrar('R[O]mboide',12);
 Centrar('Tr[A]pecio',13);
 Centrar('[P]entagono',14);
 Centrar('Ro[M]bo',15);
 Centrar('[Y] Regresar al programa principal',17);
 Textcolor(green);
 Centrar('Elige una opcion',20);
 opc:=readkey;
 Case opc of
 'C','c':circulo;
 'T','t':triangulo;
 'R','r':rectangulo;
 'U','u':cuadrado;
 'O','o':romboide;
 'A','a':trapecio;
 'P','p':pentagono;
 'M','m':rombo;

 End;
 Until(opc='Y') or (opc='y');

End;

Begin
 Repeat
 Clrscr;
 Textcolor(Green);
 Centrar('Programa integrador tercer parcial',6);
 Centrar('Elaborado por: Edgar Marquez Aponte',7);
 Centrar('Bachillerato 30',8);
 Centrar('Quinto A',9);
 Centrar('Programacion |',10);
 Textcolor(yellow);
 Centrar('Presiona ENTER para continuar',14);
 Textcolor(White);
 Readkey;
 Clrscr;
 Gotoxy(18,1);
 Writeln('+-------------------------------------------+');
 Gotoxy(18,2);
 Writeln('|                                           |');
 Gotoxy(18,3);
 Writeln('+-------------------------------------------+');
 Gotoxy(23,2);
 Textcolor(yellow);
 Textbackground(black);
 Writeln(msg);
 Textcolor(white);
 Textbackground(black);
 Gotoxy(16,5);
 Writeln('+---------------------------------------------------+');
 Gotoxy(16,6);
 Writeln('|                                                   |');
 Gotoxy(16,7);
 Writeln('|                                                   |');
 Gotoxy(16,8);
 Writeln('|                                                   |');
 Gotoxy(16,9);
 Writeln('|                                                   |');
 Gotoxy(16,10);
 Writeln('|                                                   |');
 Gotoxy(16,11);
 Writeln('|                                                   |');
 Gotoxy(16,12);
 Writeln('|                                                   |');
 Gotoxy(16,13);
 Writeln('|                                                   |');
 Gotoxy(16,14);
 Writeln('|                                                   |');
 Gotoxy(16,15);
 Writeln('|                                                   |');
 Gotoxy(16,16);
 Writeln('|                                                   |');
 Gotoxy(16,17);
 Writeln('|                                                   |');
 Gotoxy(16,18);
 Writeln('|                                                   |');
 Gotoxy(16,19);
 Writeln('+---------------------------------------------------+');
 Centrar('Opciones del programa',6);
 Centrar('[O]peraciones aritmeticas',8);
 Centrar('[C]alculo de areas',9);
 Centrar('C[I]clos',10);
 Centrar('[X] Salir del programa',17);
 Textcolor(green);
 Centrar('Elige una opcion',20);
 opc:=readkey;
 Case opc of
 'O','o':aritmeticas;
 'C','c':areas;
 'I','i':numeraciones;

 'X','x':salida;
 End;
 Until(opc='X') or (opc='x');

End.

miércoles, 11 de septiembre de 2013

Actividad 10

Proceso Adivina_Numero     //Palabra clave con la  que inicia el pseudocodigo

intentos<-9;     //Instrucción que te indica cuanto//s intentos tienes
num_secreto <- azar(100)+1;       //Instrucción que indica que es un numero al azar

Escribir "Adivine el numero (de 1 a 100):";     //Palabra clave con la que indicas que es lo que aparece en la pantalla
Leer num_ingresado;     //Palabra clave que guarda en la base de datos el número a ingresar
Mientras num_secreto<>num_ingresado Y intentos>0 Hacer     //Instruccion para ver si el número ingresado es igual que el número secreto
Si num_secreto>num_ingresado Entonces     //Instrucción que da dos opciones de respuesta
Escribir "Muy bajo";     //Palabra clave que da una respuesta en la pantalla
Sino      //Instrucción para decidir que respuesta dar
Escribir "Muy alto";     //Palabra clave que da una respuesta en la pantalla
FinSi     //Instrucción para decidir que respuesta dar
Escribir "Le quedan ",intentos," intentos:";     //Palabra clave para dar una respuesta
Leer num_ingresado;     //Palabra clave que guarda en la base de datos el número a ingresar
intentos <- intentos-1;     //Instrucción para decirte cuantos intentos quedan
FinMientras     //Palabra clave para dar fin al pseudocodigo si no adivinas el número secreto

Si intentos=0 Entonces     //Respuesta para decir que no quedan más intentos
Escribir "El numero era: ",num_secreto;     //Palabra clave para dar una respuesta
Sino     //Instrucción para decidir que respuesta dar
Escribir "Exacto! Usted adivino en ",11-intentos," intentos.";     //Palabra clave para dar respuesta
FinSi     //Instrucción para decidir que respuesta dar

FinProceso     //Palabra para dar fin al pseudocodigo


  • Este pseudocodigo sirve para tratar de adivinar un número del 1 al 100 al azar

martes, 27 de agosto de 2013

Actividad 5: Cuestionario

1.- ¿Qué es un algoritmo?
R= Una sucesión finita de pasos no ambiguos que se pueden ejecutar en un tiempo finito, cuya razón de ser es la de resolver problemas.
2.-¿Qué es un problema?
R= Son aquellas cuestiones, conceptuales o practicas, cuya solución es expresable mediante un algoritmo
3.-¿Quién propuso la metodología general para la resolución de problemas matemáticos?
R= El matemático G. Poyla
4.-¿En qué año se propuso la metodología?
R= 1940
5.-¿Cuales son las tres divisiones de la metodología?
R= Análisis del problema. Diseño del algoritmo. Programación del algoritmo
6.-¿Cual es el objetivo del análisis del problema?
R= Ayudar al programador a llegar a una cierta comprensión de la naturaleza del mismo
7.-¿Cuales son los pasos del análisis del problema?
R= Definir el problema. Especificar los datos de partida (especificaciones de entrada). Especificar la información (especificaciones de salida)
8.-¿Qué matemático trato de explicar sus experiencias personales como un problema?
R= Henri Poincare
9.-¿Qué es el periodo de incubación?
R= El periodo que existe entre el análisis de un problema y el diseño de su solución
10.-¿Cuales son los requisitos para realizar un algoritmo?
R= Indicar el orden de realización. Estar definido sin ambigüedad. Ser finito
11.-¿Como se mide la bondad de un algoritmo?
R= Por el tiempo que se necesita para ejecutarse y los recursos que se necesitan
12.-¿En qué consiste optimizar un algoritmo?
R= En introducir modificaciones en el, para disminuir el tiempo que se necesita para resolverlo
13.-¿En qué consiste el método de divide y vencerás?
R= En convertir un problema complejo en otros más simples
14.-¿Cuales son las ventajas del procedimiento de diseño descendente?
R= El problema se entiende más fácil. Las modificaciones son más fáciles. La comprobación es más fácil
15.-¿Cuales son las dos fases a considerar en un nivel de refinamiento?
R= ¿Qué hace el modulo? para después contestar ¿Como lo hace?
16.-¿Cuales son las subfases de la resolución practica del problema?
R= Codificación del algoritmo. Ejecución del problema. Comprobación del programa.
17.-¿A qué se le llama decodificación?
R= A la fase de conversión de un algoritmo
18.-¿Qué es un pseudocódigo?
R= Es un lenguaje de especificación de algoritmos (no de programación) basado en un sistema notacional
19.-¿Para qué se utiliza el pseudocódigo?
R= Para representar las sucesivas acciones, palabras reservadas- similares a sus homónimas en los lenguajes de programación
20.-¿Menciona 3 palabras homónimas de los lenguajes de programación
R= Start. End. Stop
21.-¿Cuales son las ventajas del pseudocódigo?
R= Su uso en la planificación de un programa. Es independiente del lenguaje de alto nivel
22.-¿Menciona 3 símbolos gráficos para representar un algoritmo
R= Decisión. Entrada. Salida
23.-¿Qué es un diagrama de flujo?
R= Es una herramienta gráfica utilizada para representar algoritmos, o en la ayuda de diseño de programas
24.-¿Por qué se compone un diagrama de flujo?
R= Por una serie de símbolos unidos por flechas
25.-¿De qué otra manera se le conoce al diagrama de flujo?
R= Organigramas
26.-¿Cuales son los elementos básicos de un programa?
R= Palabras reservadas. Identificadores. Caracteres especiales. Constantes. Variables. Expresiones. Instrucciones.
27.-¿Qué son las estructuras de control?
R= Las acciones que tienen por objeto marcar el orden de realización de los distintos pasos de un programa o algoritmo
28.-¿Qué es una estructura secuencial?
R= Son aquellas en las que una acción sigue a otra de acuerdo con su orden de escritura
29.-¿Como se codifican las estructuras secuenciales?
R= De forma directa en cualquier lenguaje de programación
30.-¿Cuales son las 3 estructuras de control?
R= La secuencial, la selectiva y la repetitiva

Actividad 6