jueves, 28 de noviembre de 2013
lunes, 25 de noviembre de 2013
PROGRAMA INTEGRADOR
Program integrador;
uses
crt;
Var
opc:char;
msg: string='Programa elaborado por Sandra Barajas';
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('Programa para el calculo de areas se despide, bye',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 una tecla para regresar al menu',10);
readkey;
end;
Procedure cuadrado;
var
L1,L2,A:real;
Begin
Clrscr;
centrar('Escribe el valor del primer lado ',5);
read(L1);
Centrar('Escribe el valor del segundo lado ',6);
read(L2);
A:=L1*L2;
centrar('El area del cuadrado es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
readkey;
End;
Procedure romboide;
var
b,h,A:real;
begin
clrscr;
centrar('Escribe el valor de su base ',5);
read(b);
centrar('Escribe el valor de su altura',6);
read(h);
A:=b*h;
centrar('El area del romboide es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
end;
Procedure trapecio;
var
h,B,b1,A:real;
begin
clrscr;
centrar(' Escribe el valor de su altura ',5);
read(h);
centrar(' Escribe el valor de su base mayor ',6);
read(B);
centrar(' Escribe el valor de su base menor ',7);
read(b1);
A:=h*(B+b1)/2;
centrar(' El area del trapecio es ',8);
Writeln(A);
Writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
readkey;
end;
Procedure pentagono;
var
p,a1,A:real;
begin
clrscr;
centrar('Escribe el valor de su perimetro ',5);
read(p);
centrar('Escribe el valor de su apotema ',6);
read(a1);
A:=p*a1/2;
centrar('El area del pentagono es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar(' Presiona una tecla para regresar al menu ',10);
readkey;
end;
Procedure rombo;
var
D,m,A:real;
begin
Clrscr;
centrar(' Escribe el valor de la diagonal mayor ',5);
read(D);
centrar(' Escribe el valor de su diagonal menor ',6);
read(m);
A:=D*m/2;
Centrar(' El area del rombo es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar(' Presiona una 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);
z:=x+y;
centrar('la suma de esos numeros es igual a: ',7);
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);
z:=x-y;
Centrar('La resta de estos numeros es igual a: ',7);
writeln(z);
writeln;
writeln;
writeln;
Centrar('Presione una tecla 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);
z:=x*y;
centrar('la suma de estos numeros es igual a ',7);
writeln(z);
writeln;
writeln;
writeln;
centrar('presione una tecla para regresar al menu principal ',10);
readkey;
end;
Procedure unoenuno;
Var
x:integer;
Begin
Clrscr;
For x:=1 to 100 do
Begin
Write(' ',x);
end;
readkey;
end;
Procedure cienauno;
Var
x:integer;
begin
Clrscr;
for x:=100 downto 1 do
begin
write(' ',x);
end;
readkey;
end;
Procedure ceroacien;
Var
x,y:integer;
begin
clrscr;
y:=0;
for x:=0 to 100 do
begin
write(' ',y);
y:=y+2;
end;
readkey;
end;
Procedure dosendos;
Var
x,y:integer;
begin
clrscr;
y:=1;
for x:=1 to 100 do
begin
write(' ',y);
y:=y+2;
end;
readkey;
end;
Procedure Operaciones;
Begin
Repeat;
clrscr;
gotoxy(18,1);
Writeln('+-------------------------------+');
Gotoxy(18,2);
writeln('| |');
gotoxy(18,3);
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(' [S]uma ',8);
Centrar(' [R]esta ',10);
Centrar(' [M]ultiplicacion ',12);
centrar('[Y] Regresar al programa principal',17);
Textcolor(green);
centrar('Elige una opcion',20);
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);
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]ectangulo',10);
Centrar('c[U]adrado',11);
centrar('Rombo[i]de',12);
centrar('Tr[A]pecio',13);
centrar('[P]entagono',14);
centrar('Ro[M]boide',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;
'I','i':romboide;
'A','a':trapecio;
'P','p':pentagono;
'M','m':rombo;
End;
until(opc='Y') or (opc='y');
End;
Procedure Ciclos;
Begin
Repeat;
clrscr;
gotoxy(18,1);
Writeln('+-------------------------------+');
Gotoxy(18,2);
writeln('| |');
gotoxy(18,3);
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('[U] Numeracion del 1 al 100 de uno en uno',8);
centrar('[C] Numeracion del 100 al 1 descendente',10);
centrar('[D] Numeros pares entre el 1 al 100',12);
centrar('[I] Numeros impares entre el 1 al 100',14);
Centrar('[Y] Ir al menu principal',18);
Textcolor(green);
centrar('Elige una opcion',20);
opc:=readkey;
case opc of
'U','u': unoenuno;
'C','c': cienauno;
'D','d': ceroacien;
'I','i': dosendos;
End;
until(opc='Y') or (opc='y');
End;
Begin
repeat
clrscr;
textcolor(green);
centrar('Programa integrador tercer parcial',6);
centrar('Elaborado por: Sandra',7);
centrar('Bachillerato 30',8);
Centrar('Quinto B',9);
Centrar('programacion I',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': operaciones;
'C','c': areas;
'I','i': Ciclos;
'X','x': salida;
end;
until(opc='X') or (opc='x');
end.
uses
crt;
Var
opc:char;
msg: string='Programa elaborado por Sandra Barajas';
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('Programa para el calculo de areas se despide, bye',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 una tecla para regresar al menu',10);
readkey;
end;
Procedure cuadrado;
var
L1,L2,A:real;
Begin
Clrscr;
centrar('Escribe el valor del primer lado ',5);
read(L1);
Centrar('Escribe el valor del segundo lado ',6);
read(L2);
A:=L1*L2;
centrar('El area del cuadrado es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
readkey;
End;
Procedure romboide;
var
b,h,A:real;
begin
clrscr;
centrar('Escribe el valor de su base ',5);
read(b);
centrar('Escribe el valor de su altura',6);
read(h);
A:=b*h;
centrar('El area del romboide es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
end;
Procedure trapecio;
var
h,B,b1,A:real;
begin
clrscr;
centrar(' Escribe el valor de su altura ',5);
read(h);
centrar(' Escribe el valor de su base mayor ',6);
read(B);
centrar(' Escribe el valor de su base menor ',7);
read(b1);
A:=h*(B+b1)/2;
centrar(' El area del trapecio es ',8);
Writeln(A);
Writeln;
writeln;
writeln;
centrar('Presiona una tecla para regresar al menu ',10);
readkey;
end;
Procedure pentagono;
var
p,a1,A:real;
begin
clrscr;
centrar('Escribe el valor de su perimetro ',5);
read(p);
centrar('Escribe el valor de su apotema ',6);
read(a1);
A:=p*a1/2;
centrar('El area del pentagono es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar(' Presiona una tecla para regresar al menu ',10);
readkey;
end;
Procedure rombo;
var
D,m,A:real;
begin
Clrscr;
centrar(' Escribe el valor de la diagonal mayor ',5);
read(D);
centrar(' Escribe el valor de su diagonal menor ',6);
read(m);
A:=D*m/2;
Centrar(' El area del rombo es ',7);
writeln(A);
writeln;
writeln;
writeln;
centrar(' Presiona una 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);
z:=x+y;
centrar('la suma de esos numeros es igual a: ',7);
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);
z:=x-y;
Centrar('La resta de estos numeros es igual a: ',7);
writeln(z);
writeln;
writeln;
writeln;
Centrar('Presione una tecla 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);
z:=x*y;
centrar('la suma de estos numeros es igual a ',7);
writeln(z);
writeln;
writeln;
writeln;
centrar('presione una tecla para regresar al menu principal ',10);
readkey;
end;
Procedure unoenuno;
Var
x:integer;
Begin
Clrscr;
For x:=1 to 100 do
Begin
Write(' ',x);
end;
readkey;
end;
Procedure cienauno;
Var
x:integer;
begin
Clrscr;
for x:=100 downto 1 do
begin
write(' ',x);
end;
readkey;
end;
Procedure ceroacien;
Var
x,y:integer;
begin
clrscr;
y:=0;
for x:=0 to 100 do
begin
write(' ',y);
y:=y+2;
end;
readkey;
end;
Procedure dosendos;
Var
x,y:integer;
begin
clrscr;
y:=1;
for x:=1 to 100 do
begin
write(' ',y);
y:=y+2;
end;
readkey;
end;
Procedure Operaciones;
Begin
Repeat;
clrscr;
gotoxy(18,1);
Writeln('+-------------------------------+');
Gotoxy(18,2);
writeln('| |');
gotoxy(18,3);
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(' [S]uma ',8);
Centrar(' [R]esta ',10);
Centrar(' [M]ultiplicacion ',12);
centrar('[Y] Regresar al programa principal',17);
Textcolor(green);
centrar('Elige una opcion',20);
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);
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]ectangulo',10);
Centrar('c[U]adrado',11);
centrar('Rombo[i]de',12);
centrar('Tr[A]pecio',13);
centrar('[P]entagono',14);
centrar('Ro[M]boide',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;
'I','i':romboide;
'A','a':trapecio;
'P','p':pentagono;
'M','m':rombo;
End;
until(opc='Y') or (opc='y');
End;
Procedure Ciclos;
Begin
Repeat;
clrscr;
gotoxy(18,1);
Writeln('+-------------------------------+');
Gotoxy(18,2);
writeln('| |');
gotoxy(18,3);
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('[U] Numeracion del 1 al 100 de uno en uno',8);
centrar('[C] Numeracion del 100 al 1 descendente',10);
centrar('[D] Numeros pares entre el 1 al 100',12);
centrar('[I] Numeros impares entre el 1 al 100',14);
Centrar('[Y] Ir al menu principal',18);
Textcolor(green);
centrar('Elige una opcion',20);
opc:=readkey;
case opc of
'U','u': unoenuno;
'C','c': cienauno;
'D','d': ceroacien;
'I','i': dosendos;
End;
until(opc='Y') or (opc='y');
End;
Begin
repeat
clrscr;
textcolor(green);
centrar('Programa integrador tercer parcial',6);
centrar('Elaborado por: Sandra',7);
centrar('Bachillerato 30',8);
Centrar('Quinto B',9);
Centrar('programacion I',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': operaciones;
'C','c': areas;
'I','i': Ciclos;
'X','x': salida;
end;
until(opc='X') or (opc='x');
end.
jueves, 14 de noviembre de 2013
CALCULO DE AREAS
Program CALCULO_DE_AREA;
Uses
Crt;
Var
opc: char;
msg: string= 'Programa creado por Sandra Barajas Vargas';
Procedure Centrar(Texto:String; fila:Integer);
Var
Columna:integer;
Begin
Columna:=(80-Length(Texto)) DIV 2;
Gotoxy(Columna,fila);
Write(Texto);
End;
Procedure Circulo;
Var
Pi,r,A: real;
Begin
Clrscr;
Centrar('Dame el valor del radio ',6);
Read(r);
A:=PI*r*r;
Read(A);
Centrar('El area del circulo es: ',7);
WriteLn(A);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Triangulo;
Var
b,h,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su base ',5);
Read(b);
Centrar('Escribe el valor de su altura: ',6);
Read(h);
A:=b*h/2;
WriteLn(A);
Centrar('El area del triangulo es: ',7);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Rectangulo;
Var
b,h,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su base: ',5);
Read(b);
Centrar('Escribe el valor de su altura: ',6);
Read(h);
A:=b*h;
writeLn(A);
Centrar('El area del rectangulo es: ',7);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Cuadrado;
var
r,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su radio ',5);
Read(r);
A:=r*r;
Readln(A);
Centrar('El area del cuadrado es ',6);
Writeln;
writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Rombo;
Var
D,m,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de la diagonal mayor ',5);
Read(D);
Centrar('Escribe el valor de la diagonal menor ',6);
Read(m);
A:=D*m/2;
Readln(A);
Centrar('El area del rombo es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Trapecio;
Var
h,B,b1,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de su altura ',5);
Read(h);
Centrar('Escribe el valor de su base mayor ',6);
Read(B);
Centrar('Escribe el valor de su base menor ',7);
Read(b1);
A:=h*(B+b1)/2;
Writeln(A);
Centrar('El area del trapecio es ',8);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Pentagono;
Var
p,a1,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de su perimetro ',5);
Read(p);
Centrar('Escribe el valor de su apotema ',6);
Read(a1);
A:=p*a1/2;
Writeln(A);
Centrar('El area del pentagono es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Romboide;
Var
b,h,A: real;
Begin
clrscr;
Centrar('Escribe el valor de su base ',5);
Read(b);
Centrar('Escribe el valor de su altura ',6);
Read(h);
A:=b*h;
Writeln(A);
Centrar('El area del romboide es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey
End;
Procedure Salida;
Begin
Clrscr;
Textbackground(black);
Textcolor(White);
Centrar('Gracias por utilizarme, hasta luego' ,8);
Delay(2000);
End;
{Empieza programa principal}
Begin
Repeat
Clrscr;
Gotoxy(24,1);
WriteLn('*******************************************');
Gotoxy(24,2);
WriteLn('* *');
Gotoxy(24,3);
WriteLn('*******************************************');
Gotoxy(28,2);
Textcolor(White);
Textbackground(Black);
WriteLn(msg);
Textcolor(White);
Textbackground(Black);
Gotoxy(8,5);
WriteLn('***************************************************************');
Gotoxy(8,6);
WriteLn('* *');
Gotoxy(8,7);
WriteLn('* *');
Gotoxy(8,8);
Writeln('* *');
Gotoxy(8,9);
WriteLn('* *');
Gotoxy(8,10);
WriteLn('* *');
Gotoxy(8,11);
WriteLn('* *');
Gotoxy(8,12);
WriteLn('* *');
Gotoxy(8,13);
WriteLn('* *');
Gotoxy(8,14);
WriteLn('* *');
Gotoxy(8,15);
WriteLn('* *');
Gotoxy(8,16);
WriteLn('* *');
Gotoxy(8,17);
WriteLn('* *');
Gotoxy(8,18);
WriteLn('* *');
Gotoxy(8,19);
WriteLn('* *');
Gotoxy(8,20);
WriteLn('* *');
Gotoxy(8,21);
WriteLn('* *');
Gotoxy(8,22);
WriteLn('* *');
Gotoxy(8,23);
WriteLn('***************************************************************');
Centrar('OPCIONES DEL PROGRAMA' ,5);
Centrar('[C] Calcular area de un circulo',7);
Centrar('[T] Calcular area de un triangulo' ,9);
Centrar('[R] Calcular area de un rectangulo' ,11);
Centrar('[c] Calcular area de un cuadrado' ,13);
Centrar('[r] Calcular area de un rombo' ,15);
Centrar('[t] Calcular area de un trapecio' ,17);
Centrar('[P] Calcular area de un pentagono' ,19);
Centrar('[Z] Calcular area de un romboide' ,21);
Centrar('[X] SALIR DEL PROGRAMA',23);
Textcolor(White);
Centrar('Elige una opcion ',3);
opc:=Readkey;
Case opc of
'C': Circulo;
'T': Triangulo;
'R': Rectangulo;
'c': Cuadrado;
'r': Rombo;
't': Trapecio;
'P': Pentagono;
'Z': Romboide;
'X','x': Salida;
End;
Until (opc='x') or (opc='x');
End.
Uses
Crt;
Var
opc: char;
msg: string= 'Programa creado por Sandra Barajas Vargas';
Procedure Centrar(Texto:String; fila:Integer);
Var
Columna:integer;
Begin
Columna:=(80-Length(Texto)) DIV 2;
Gotoxy(Columna,fila);
Write(Texto);
End;
Procedure Circulo;
Var
Pi,r,A: real;
Begin
Clrscr;
Centrar('Dame el valor del radio ',6);
Read(r);
A:=PI*r*r;
Read(A);
Centrar('El area del circulo es: ',7);
WriteLn(A);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Triangulo;
Var
b,h,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su base ',5);
Read(b);
Centrar('Escribe el valor de su altura: ',6);
Read(h);
A:=b*h/2;
WriteLn(A);
Centrar('El area del triangulo es: ',7);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Rectangulo;
Var
b,h,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su base: ',5);
Read(b);
Centrar('Escribe el valor de su altura: ',6);
Read(h);
A:=b*h;
writeLn(A);
Centrar('El area del rectangulo es: ',7);
WriteLn;
WriteLn;
WriteLn;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Cuadrado;
var
r,A:real;
Begin
Clrscr;
Centrar('Escribe el valor de su radio ',5);
Read(r);
A:=r*r;
Readln(A);
Centrar('El area del cuadrado es ',6);
Writeln;
writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal' ,10);
Readkey;
End;
Procedure Rombo;
Var
D,m,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de la diagonal mayor ',5);
Read(D);
Centrar('Escribe el valor de la diagonal menor ',6);
Read(m);
A:=D*m/2;
Readln(A);
Centrar('El area del rombo es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Trapecio;
Var
h,B,b1,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de su altura ',5);
Read(h);
Centrar('Escribe el valor de su base mayor ',6);
Read(B);
Centrar('Escribe el valor de su base menor ',7);
Read(b1);
A:=h*(B+b1)/2;
Writeln(A);
Centrar('El area del trapecio es ',8);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Pentagono;
Var
p,a1,A: real;
Begin
Clrscr;
Centrar('Escribe el valor de su perimetro ',5);
Read(p);
Centrar('Escribe el valor de su apotema ',6);
Read(a1);
A:=p*a1/2;
Writeln(A);
Centrar('El area del pentagono es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey;
End;
Procedure Romboide;
Var
b,h,A: real;
Begin
clrscr;
Centrar('Escribe el valor de su base ',5);
Read(b);
Centrar('Escribe el valor de su altura ',6);
Read(h);
A:=b*h;
Writeln(A);
Centrar('El area del romboide es ',7);
Writeln;
Writeln;
Writeln;
Centrar('Presiona ENTER para regresar al menu principal ',10);
Readkey
End;
Procedure Salida;
Begin
Clrscr;
Textbackground(black);
Textcolor(White);
Centrar('Gracias por utilizarme, hasta luego' ,8);
Delay(2000);
End;
{Empieza programa principal}
Begin
Repeat
Clrscr;
Gotoxy(24,1);
WriteLn('*******************************************');
Gotoxy(24,2);
WriteLn('* *');
Gotoxy(24,3);
WriteLn('*******************************************');
Gotoxy(28,2);
Textcolor(White);
Textbackground(Black);
WriteLn(msg);
Textcolor(White);
Textbackground(Black);
Gotoxy(8,5);
WriteLn('***************************************************************');
Gotoxy(8,6);
WriteLn('* *');
Gotoxy(8,7);
WriteLn('* *');
Gotoxy(8,8);
Writeln('* *');
Gotoxy(8,9);
WriteLn('* *');
Gotoxy(8,10);
WriteLn('* *');
Gotoxy(8,11);
WriteLn('* *');
Gotoxy(8,12);
WriteLn('* *');
Gotoxy(8,13);
WriteLn('* *');
Gotoxy(8,14);
WriteLn('* *');
Gotoxy(8,15);
WriteLn('* *');
Gotoxy(8,16);
WriteLn('* *');
Gotoxy(8,17);
WriteLn('* *');
Gotoxy(8,18);
WriteLn('* *');
Gotoxy(8,19);
WriteLn('* *');
Gotoxy(8,20);
WriteLn('* *');
Gotoxy(8,21);
WriteLn('* *');
Gotoxy(8,22);
WriteLn('* *');
Gotoxy(8,23);
WriteLn('***************************************************************');
Centrar('OPCIONES DEL PROGRAMA' ,5);
Centrar('[C] Calcular area de un circulo',7);
Centrar('[T] Calcular area de un triangulo' ,9);
Centrar('[R] Calcular area de un rectangulo' ,11);
Centrar('[c] Calcular area de un cuadrado' ,13);
Centrar('[r] Calcular area de un rombo' ,15);
Centrar('[t] Calcular area de un trapecio' ,17);
Centrar('[P] Calcular area de un pentagono' ,19);
Centrar('[Z] Calcular area de un romboide' ,21);
Centrar('[X] SALIR DEL PROGRAMA',23);
Textcolor(White);
Centrar('Elige una opcion ',3);
opc:=Readkey;
Case opc of
'C': Circulo;
'T': Triangulo;
'R': Rectangulo;
'c': Cuadrado;
'r': Rombo;
't': Trapecio;
'P': Pentagono;
'Z': Romboide;
'X','x': Salida;
End;
Until (opc='x') or (opc='x');
End.
martes, 12 de noviembre de 2013
CALCULADORA
1.- Que hace el programa?
Ejecuta algo muy parecido a una aplicación, la cual nos ayuda a sumar, restar y multiplicar
2.- Que instrucciones nuevas encontraste?
Procedure, textcolor, textbackground, msg ,string, centrar.
3.- Investiga en internet, para que sirven las siguientes instrucciones:
a) Procedure: Sirve para iniciar un procedimiento
b) Lenght
c) Textcolor: Para agregarle el color de nuestra preferencia al texto
d) Textbackground: Para ponerle el color que queramos al fondo.
e) Delay
Ejecuta algo muy parecido a una aplicación, la cual nos ayuda a sumar, restar y multiplicar
2.- Que instrucciones nuevas encontraste?
Procedure, textcolor, textbackground, msg ,string, centrar.
3.- Investiga en internet, para que sirven las siguientes instrucciones:
a) Procedure: Sirve para iniciar un procedimiento
b) Lenght
c) Textcolor: Para agregarle el color de nuestra preferencia al texto
d) Textbackground: Para ponerle el color que queramos al fondo.
e) Delay
jueves, 12 de septiembre de 2013
DESCRIPCIÓN DE PSEUDOCÓDIGO.
Proceso
Adivina_Numero // Nombre del proceso que realizaremos
intentos<-9; // asignar un valor a “intentos”
num_secreto <- azar(100)+1; // elegir un numero secreto al azar
Escribir "Adivine el numero (de 1 a 100):"; // indica la acción que realizaremos
Leer num_ingresado; // Entender el número que ingresan.
Mientras num_secreto<>num_ingresado Y intentos>0 Hacer // Indica los intentos que te quedan si fallaste.
Si num_secreto>num_ingresado Entonces // Valor ingresado.
Escribir "Muy bajo"; // Indicación en caso de que des un número bajo.
Escribir "Muy alto"; // Indicación en caso de que des un número muy alto.
FinSi //
Indica que el proceso terminó en caso de cumplir con alguna de las indicaciones
anteriores.
Escribir "Le quedan ",intentos," intentos:"; // Indica cuantos intentos quedan
Escribir "Le quedan ",intentos," intentos:"; // Indica cuantos intentos quedan
Leer
num_ingresado; // Entender
el número ingresado
intentos <- intentos-1; // Nos dice cuantos intentos llevamos.
FinMientras // Nos indica si alguna acción ha finalizado
Si intentos=0 Entonces // Indica que ya no quedan más intentos.
Escribir "El numero era: ",num_secreto; // Nos da el número secreto en caso de que no queden más intentos.
Sino // Acción que se realiza en caso de que algo no se cumpla.
intentos <- intentos-1; // Nos dice cuantos intentos llevamos.
FinMientras // Nos indica si alguna acción ha finalizado
Si intentos=0 Entonces // Indica que ya no quedan más intentos.
Escribir "El numero era: ",num_secreto; // Nos da el número secreto en caso de que no queden más intentos.
Sino // Acción que se realiza en caso de que algo no se cumpla.
Escribir
"Exacto! Usted adivino en ",11-intentos," intentos.";
// Muestra si
adivinaste el número secreto y en cuantos intentos.
FinSi // Termina el proceso si se realizaron las acciones anteriores.
FinProceso // Termino del proceso.
FinSi // Termina el proceso si se realizaron las acciones anteriores.
FinProceso // Termino del proceso.
COMENTARIO PERSONAL: Este algoritmo nos
sirve para realizar una actividad en la cual tienes que adivinar un número
secreto a base de intentos.
jueves, 5 de septiembre de 2013
ÁREA
PROCESO ÁREA DE UN RECTÁNGULO
INICIOPROCESO
LEER "VALORES DE BASE Y ALTURA"
APLICAR LA FÓRMULA CORRESPONDIENTE
IMPRIMIR "VALOR DEL ÁREA"
VE A FINPROCESO
RAÍZ CUADRADA
PROCESO RAÍZ CUADRADA DE UN NÚMERO
INICIOPROCESO
IMPRIMIR "NÚMERO AL QUE SE LE SACARÁ LA RAÍZ CUADRADA"
APLICAR LA FORMULA CORRESPONDIENTE
IMPRIMIR "RAÍZ DEL NÚMERO"
VE A FINPROCESO.
SUMA-RESTA
PROCESO SUMA Y RESTA
LEER A, B, C, D
REALIZAR SUM= A+B+C+D
LEER A, B, C, D
REALIZAR SUM= A+B+C+D
RES= SUM-10
RESFINAL= RES^4
IMPRIMIR "RESFINAL"
IR A FINPROCESO
MAYOR-MENOR DE EDAD
PROCESO EDAD
IMPRIME “ESCRIBE TU NOMBRE Y EDAD”
LEER NOMBRE, EDAD.
SI EDAD < 18 ENTONCES
IMPRIME “ERES MENOR DE EDAD”
IR A FIN PROCESO.
IMPRIME “ESCRIBE TU NOMBRE Y EDAD”
LEER NOMBRE, EDAD.
SI EDAD < 18 ENTONCES
IMPRIME “ERES MENOR DE EDAD”
IR A FIN PROCESO.
SI NO
IMPRIME “FELICIDADES YA PUEDES VOTAR”
IR A FIN PROCESO.
IMPRIME “FELICIDADES YA PUEDES VOTAR”
IR A FIN PROCESO.
martes, 3 de septiembre de 2013
PROCESO DECLARACIÓN DE VARIABLES
PROCESO DECLARACIÓN DE VARIABLES.
LEER EL VALOR DE RADIO Y ALTURA
CALCULAR EL VOLUMEN APLICANDO LA FÓRMULA RESPECTIVA.
CALCULAR LA ALTURA APLICANDO SU RESPECTIVA FÓRMULA
IMPRIME "LOS VALORES DE VOLUMEN Y ALTURA."
VE A FINPROCESO.
PROCESO RESTA
PROCESO RESTA
LEER E, F
LA SUMA DE E+F ES IGUAL A G
PROYECTAR "LA SUMA DE E+F ES IGUAL A G"
VE A FINPROCESO.
PROCESO SUMA
PROCESO SUMA
LEER X, Y
LA SUMA DE X+Y ES IGUAL A Z
ENTONCES PROYECTA "LA SUMA DE X+Y ES IGUAL A Z"
VE A FINPROCESO.
NÚMERO MENOR
PROCESO MENOR
LEER N°1 Y N°2
SI N°1 ES IGUAL A N°2 ENTONCES IMPRIME "SON IGUALES"
VE A FINPROCESO
SI N°1 ES MAYOR A N°2 ENTONCES IMPRIME "N°1 ES MENOR"
VE A FINPROCESO
NÚMERO MAYOR
PROCESO MAYOR
LEE N°1 Y N°2
SI N°1 ES IGUAL QUE N°2 ENTONCES IMPRIME "SON IGUALES"
VE A FINPROCESO
SI N°1 ES MAYOR QUE N°2 ENTONCES IMPRIME "N°1 ES MAYOR"
VE A FINPROCESO
SI N°1 NO ES MENOR QUE N°2 ENTONCES IMRPIME "N°1 ES MAYOR"
VE A FIN PROCESO.
sábado, 17 de agosto de 2013
TAREA #3
ALGORITMO #1
Vender un boleto de cine para una película que es para mayores de edad.
1.- Inicio.
2.- Pedir alguna credencial que lo ubique como mayor de edad
3.- ¿Es mayor de edad?, si lo es pedirle el valor del boleto e ir al paso 4, si no lo es ir al paso 5.
4.- Dejar pasar al cliente a ver la película.
5.- No dejar pasar al cliente.
6.- Fin.
ALGORITMO #2
Realizar una recarga telefónica en un Oxxo.
1.- Inicio
2.- Entrar al Oxxo.
3.- Preguntar si hay recargas, si hay ir al paso 4, si no hay ir al paso 8.
4.- Decir la cantidad que quieres recargar, si hay de la cantidad que quieres recargar ir al paso 5, ni no hay elegir otra cantidad o ir al paso 8.
5.- Pagar la cantidad que vas a recargar y dar el número al que quieres recargar. Si te van a dar cambio ir al paso 6, si no ir al paso 7
6.- Espera a que te den tu cambio y el ticket.
7.- Espera a que te pongan la recarga. Si no se puede poner la recarga ir al paso 8, si se pudo ir al paso 9.
8.- Dar las gracias e irte.
9.- fin.
ALGORITMO #3
Hacer una investigación en Internet desde una computadora.
1.- Inicio.
2.- Encender la computadora.
3.- Verificar si hay internet, si hay ir al paso 4 y si no hay ir al paso 9.
4.- Abrir el explorador de tu preferencia. Si no funciona ir al paso 5, si funciona ir al paso 6.
5.- Elegir otro explorador.
6.- Abrir el buscador de tu preferencia.
7.- Buscar la información deseada, si la encontraste ir al paso 8, si no ir al paso 9.
8.- Leer la información y guardarla en un documento o imprimirla.
9.- Cerrar todas las páginas y programas que utilizaste para tu investigación.
10.- Apagar la computadora.
11.- Fin.
TAREA #2
Arquitectura básica de una computadora.
La memoria: Así como el procesador, la memoria es una de las piezas más importantes para determinar el rendimiento de una computadora. Es la encargada de almacenar los datos con los que el procesador está trabajando, por lo que su capacidad y velocidad harán variar considerablemente el rendimiento de la computadora.
Unidad de control: Dirige las operaciones de todas las otras unidades de la computadora incluyendo los dispositivos periféricos. Administra todos los recursos de la computadora, es como un policía dirige el flujo de datos entre por la CPU y la computadora.
Unidad aritmética lógica (ALU): Cuando hablamos de que una ALU realiza operaciones aritméticas estamos indicando que puede realizar sumas, restas, multiplicaciones, divisiones, y en lo referente a operaciones de lógica se quiere decir que una computadora es capaz de evaluar proposiciones AND, OR, NOT.
Periféricos de entrada (dispositivos de entrada): permiten comunicación entre el usuario y la máquina. Son ejemplos de unidades de entrada: el teclado, joystick, los lápices de lectura de códigos y el ratón, scanner.
Periféricos de salida (dispositivos de salida): Es exactamente la opuesta a la unidad de entrada, permitiendo al usuario observar los resultados de los procesos realizados en el computador. Los dispositivos más utilizados son las impresoras, pantalla, discos, cintas magnéticas etc.
El bus de datos: Es una vía eléctrica de acceso que conecta la CPU, la memoria y otros dispositivos de hardware en la tarjeta principal. El tamaño del bus de datos define la capacidad de la autopista para llevar información, hoy en día estas capacidades llegan a ser de 64 bits.
Bus de direcciones: Es un conjunto de alambres semejantes al bus de datos, pero solo conecta la CPU con la memoria, y únicamente lleva direcciones de memoria. Uno de los problemas de la evolución de los PC es que el DOS (sistema Operativo), fue diseñado para máquinas que solo podían direccionar 1MB de memoria. Cuando nacieron computadoras que incluían más memoria, tuvieron que diseñar métodos especiales para direccionarla, como los mencionados de memoria expandida y memoria extendida.
TAREA #1
ENIAC: La primera computadora electrónica programable.
El principal propósito para construir ENIAC (Electronic Numerical Integrator And Computer), fue reducir el tiempo necesario para resolver cierta clase de problemas en los que se invertirían días o incluso meses por medio de métodos antiguos y que gracias a esta invención se llevarían sólo segundos. La ENIAC primera computadora electrónica digital programable.
ENIAC marca varios precedentes importantes en la informática y electrónica, como el inicio de la computación de propósito general, la programación en lenguaje de máquina (digital), y la historia de seis mujeres -ignoradas en su momento- hábiles en matemáticas y lógica, que se convirtieron en las primeras programadoras.
Para Estados Unidos, el estallido de la Segunda Guerra Mundial en 1939 los hizo despertar de la poca preparación militar que habían tenido en las últimas dos décadas, dejándolos virtualmente eliminados como una potencia en materia bélica. Como en la mayoría de los grandes avances de la tecnología, ENIAC nace a partir de la extraordinaria demanda que implicaba la guerra en esos tiempos, la milicia necesitaba encontrar soluciones rápidas y precisas para sacar ventaja de sus rivales. Una de las principales tareas a desarrollar en aquél entonces, era un sistemas de alta precisión para bombardeos y manejo de datos complejos de balistica, por lo que el Ejercito de Estados Unidos encargo el diseño de ENIAC en los primeros años de la Segunda Guerra Mundial y para el 5 de Junio de 1943 se firmaba la construccion secreta del computador por la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pennsylvania.
Originalmente, ENIAC fue conocida por el nombre clave "Proyecto PX", liderado por John Mauchly y John Presper Eckert, junto a un equipo de ingenieros que incluía a Robert F. Shaw, Chuan Chu, Thomas Kite Sharpless, Arthur Burks, Harry Huskey, Jack Davis y Iredell Eachus Jr, cada uno de ellos encargados de una función específica del computador como: acumulador, multiplicador, programación, funciones de tabla, lectura/impresión, entre otras.
ENIAC finalmente fue terminada el 14 de Febrero de 1946, luego de una inversión de USD$500.000 (USD$6 millones actuales) hecha por el Ejército de Estados Unidos. La computadora fue presentada al público en Julio del mismo año, donde fue catalogada por los medios como un "cerebro gigante". Para el mes de Julio, ENIAC estaba funcionando a su máxima capacidad y sólo fue apagada 4 meses más tarde para una actualización de memoria y transferencia hasta las instalaciones de Aberdeen Proving Ground en Maryland. Un año más tarde su puesta en marcha, ENIAC estaba nuevamente en las canchas y continuó operando ininterrumpidamente hasta las 11:45pm del 2 de Octubre de 1955.
Lo más llamativo de ENIAC era su impresionante tamaño:
Peso: 27 toneladas
Tamaño: 2.6 m x 0.9 m x 24 m
Espacio: 63 metros cuadrados
Si el tamaño no te sorprende, tal vez la complejidad de su construcción lo haga:
17.468 válvulas electrónicas
6.000 interruptores
7.200 diodos de cristal
1.500 relés
70.000 transistores
10.000 capacitores
5 millones de uniones soldadas
200.000 W de consumo.
ENIAC era capaz de realizar 5.000 sumas o 300 multiplicaciones en tan sólo 1 segundo, y calcular la potencia 5.000 de un número de hasta 5 cifras en tan sólo 1,5 segundos. Otras operaciones que era capaz de realizar ENIAC era la resta, división y extraer raíces cuadradas. Uno de los objetivos de diseño de ENIAC, era hacerla totalmente electrónica para obtener mayor velocidad. El producto final cumplió el objetivo, porque sólo un elemento mecánico quedó presente, se trataba del lector de tarjetas perforadas de IBM, y que se encontraba fuera del sistema de cálculo como tal. Las tarjetas de IBM permitían ingresar datos a la computadora como también imprimirlos. Antes del desarrollo de éste primitivo hardware, la gente debía hacer los cálculos a mano y sólo recibían algo de ayuda de máquinas mecánicas (análogas) a las que podríamos llamar las primeras calculadoras.
Controlar ENIAC no era algo trivial, se trataba de una máquina de 30 toneladas y varios paneles (o módulos) que abarcaban toda una habitación, no usaban teclados gigantes ya que todo se resumía a unir cables entre los distintos componentes que formaban esta máquina. ENIAC estaba conectada por más de 1.500 relés, los que conectaba pulsos eléctricos emitidos por las unidades del sistema, una de ellas era denominada la "unidad cíclica" que se encargaba de los pulsos básicos, otras unidades se encargaban de repetir los pulsos, acumular números y realizar el cálculo.
Betty Snyder Holberton, Jean Jennings Bartik, Kathleen McNulty Mauchly Antonelli, Marlyn Wescoff Meltzer, Ruth Lichterman Teitelbaum y Frances Bilas Spence fueron las encargadas de crear complejos set de funciones, aplicaciones de software y clases, pero nunca se les otorgó el merecido reconocimiento, incluso en la década de los 80 se pensaba que las mujeres que aparecían en el registro fotográfico de ENIAC eran simples "modelos" sin ninguna relación con la máquina. Sin embargo, también existe otro personaje importante detrás de la programación de ENIAC, su nombre es Jon Von Neumann, matemático que estuvo involucrado en el primer año de construcción de la máquina.
COMENTARIOS PERSONALES:
Pues yo opino que el desarrollo de esta máquina ayudo mucho para los próximos avances en el desarrollo de otras computadoras, sólo que ya más pequeñas y sin tanto cable y así, y también facilitó la resolución de distintos problemas en los cuales se podían llevar días o meses y con ENIAC se llevaban sólo segundos.
Suscribirse a:
Comentarios (Atom)

















.jpg)

.jpg)
.jpg)
.jpg)
