Академический Документы
Профессиональный Документы
Культура Документы
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------
Tarea1 . doc
Nombre de Extensión
Archivo
En el sistema operativo DOS los nombres de los archivos tenían un máximo de 8 caracteres,
un punto y una extensión de como máximo tres letras, en total un máximo de 12 caracteres
que permitían distinguir unos archivos de otros dentro de un mismo directorio.
Desde el sistema operativo Windows 95 desaparecieron los límites impuestos por DOS en
el número de caracteres del nombre de archivo y de la extensión.
Las máquinas computadoras por muy avanzadas que sean, necesitan de un conjunto
de instrucciones u órdenes para poder desarrollar su función, estas instrucciones deben
estar dadas en un lenguaje que la máquina “entienda” lo que se desea obtener de ella.
El software es el nombre genérico con el que se designan los programas que se utilizan
para trabajar con el computador.
6.1 PROGRAMA
El software se divide en varios grupos, por ejemplo los lenguajes de programación con los
cuales se puede elaborar programas, otra parte son los programas propiamente dichos
para una infinidad de aplicaciones como los sistemas operativos, hojas electrónicas,
procesadores de textos, base de datos, graficadores, especializados como las
aplicaciones contables, ingeniería, las aplicaciones ofimáticas, programas científicos
etc.etc.
SIMBOLOGIA
DIAGRAMA DESCRIPCIÓN
Volumen de DATOS.
SENTECIAS DE CONTROL
DIAGRAMA DESCRIPCIÓN
Sentencia de ITERACIÓN.
e) PRUEBA DE ESCRITORIO
f) CODIFICACIÓN EN LENGUAJE
Programa
Fuente
Programa
Traductor
(ensamblador)
Programa
Objeto
h) COMPILACION
i) PRUEBAS DE COMPUTADOR
j) DOCUMENTACIÓN EXTERNA
6.4 VARIABLES.
Una variable puede ser del tipo entero, decimal de coma flotante, boleano, caracter,
cadena de texto, arreglo, matriz, tipo definido por el usuario, etc.
6.5 IDENTIFICADORES
Una sentencia es una orden que se le da al programa para realizar una tarea específica, esta
puede ser: mostrar un mensaje en la pantalla, declarar una variable (para reservar espacio
en memoria), inicializarla, llamar a una función, etc.
6.7.1 CARACTERISTICAS:
OPERACIONES BÁSICAS
Las operaciones básicas en Pascal están formadas por dos partes: el operador y los
operandos.
OPERADORES ARITMETICOS
* multiplicación
/ division
+ suma
- resta
OPERADORES DE RELACION
= igual
<> desigualdad
< menor
> mayor
<= menor o igual
>= mayor o igual
FUNCIONES MATEMATICAS
Abs(x)
Sqr(x)
Sqrt(x)
Trunc(x)
Round(x)
Ln(x)
Exp(x)
FUNCIONES TRIGONOMETRICAS
- Funciones
- Paréntesis
- Potencia y exponente
- Multiplicación y división
- Suma y resta
PRACTICAS DE LABORATORIO I
SEMESTRE 2017-I
EJERCICIO 1
program aritm;
uses crt;
var a,b,c:real;
var op:char;
begin
clrscr;
writeln('INGRESE DOS NUMEROS');
readln(a,b);
c:=a+b;writeln('SUMA DE a + b = ',c:2:4); c:=a-
b;writeln('RESTA DE a + b = ',c:2:4);
c:=a*b;writeln('PRODUCTO DE a * b = ',c:2:4);
c:=a/b;writeln('DIVISION DE a / b = ',c:2:4);
writeln('CUADRADO DE a = ',sqr(a):2:4);
writeln('RAIZ CUADR DE a = ',sqrt(a):2:4);
writeln;
readln;
end.
EJERCICIO 2
PROGRAM ARITM;
USES CRT; {Nos va a permitir limpiar la pantalla junto con ClrScr}
VAR x,y:INTEGER;
VAR suma,rest,mult,divi:INTEGER;
BEGIN
WRITE ('INGRESE DOS NUMEROS ENTEROS'); WRITELN;
readln(x,y);
suma:=x + y;
rest:=x - y;
mult:=x * y;
divi:=x div y;
{Con estas 4 variables realizamos las cuatro operaciones aritméticas
fundamentales: suma, resta, multiplicación y división} ClrScr; {Limpia la pantalla}
WRITE ('SUMA:'); WRITELN (suma);
WRITE ('RESTA:'); WRITELN (rest);
WRITE ('MULTIPLICACION:'); WRITELN (mult);
WRITE ('DIVISION:'); WRITE (divi);
readln;
END.
EJERCICIO 3
program aritm;
uses crt;
var a,b,c:real;
begin
clrscr;
writeln('INGRESE DOS NUMEROS a y b');
readln(a,b);
writeln('SUMA DE a + b = ',a+b:2:4);
writeln('RESTA DE a - b = ',a-b:2:4);
writeln('PRODUCTO DE a * b = ',a*b:2:4);
writeln('DIVISION DE a / b = ',a/b:2:4);
writeln('CUADRADO DE a = ',sqr(a):2:4);
writeln('RAIZ CUADR DE a = ',sqrt(a):2:4);
writeln;
readln;
end.
EJERCICIO 4
PROGRAM CIRCUM;
USES CRT;
VAR LC, R: REAL;
const pi=3.141592654;
BEGIN
CLRSCR;
WRITE ('RADIO');
READ(R);
LC:=2*pi*R;
WRITE ('LC=',LC);
READLN;
END.
EJERCICIO 5
program angulo;
uses crt;
var
g,m,s,seno,coseno,t
angente:real; const
pi=3.141592;
begin
writeln('INGRESE UN ANGULO SEXAGESIMAL');
write('GRADOS? ');readln(g);
write('MINUTOS? ');readln(m);
write('SEGUNDOS? ');readln(s);
g:=g+m/60+s/3600;
seno:=sin(g*pi/180);
coseno:=cos(g*pi/180);
tangente:=sin(g*pi/180)/cos(g*pi/180);
writeln('SENO =',seno:2:6);
writeln('COSENO =',coseno:2:6);
writeln('TANGENTE =',tangente:2:6);
readln;
end.
EJERCICIO 6
PROGRAM Logaritmo;
uses crt;
VAR r,x: REAL;
BEGIN
writeln('valor de r ? ');
readln(r); x:=ln(r);
WRITEln('Log natural de r = ',x:2:10);
READLN;
END.
EJERCICIO 7
program logvulgar;
uses crt;
var x,y:real;
begin
writeln('ingrese un numero x');
readln(x);
end.
EJERCICIO 8
program convert;
var a,r:real;
begin
writeln('CONVERSION DE ANGULOS');
writeln('INGRESE UN ANGULO
SEXAGESIMAL');
readln(a);
r:=a*pi/180;
writeln('ANGULO EXPRESADO EN RADIANES=',r:2:9);
readln;
end.
EJERCICIO 9
program convert2;
var a,g,m,s,r:real;
begin
writeln('CONVERSION DE ANGULOS');
writeln('INGRESE UN ANGULO SEXAGESIMAL');
writeln('GRADOS?');
readln(g);
writeln('MINUTOS?');
readln(g);
writeln('SEGUNDOS?');
readln(g);
a:=g+m/60+s/3600;
r:=a*pi/180;
writeln('ANGULO EXPRESADO EN RADIANES=',r:2:9);
readln;
end.
EJERCICIO 10
program convert3;
uses crt;
var r,a,g,m,s:real;
begin
writeln('INGRESE UN ANGULO EN RADIANES');
readln(r);
a:=r*180/pi; g:=int(a);
m:=int((a-g)*60);
s:=(((a-g)*60)-m)*60;
writeln(r:2:7,' radianes convertido en grados es:');
writeln('grados:=',g:2:0);
writeln('minutos:=',m:2:0);
writeln('segundos:=',s:2:4);
readln;
end.
EJERCICIO 11
program prisma;
uses crt;
var
r,h,pe,al,ab,at,v,d:r
eal; const
pi=3.1415926;
begin
clrscr;
writeln('ingrese radio de la base');
readln(r);
writeln('Ingrese altura');
readln(h);
ab:=pi*r*r;
al:=2*pi*r*h;
at:=al+at;
v:=ab*h;
d:=sqrt((2*r)*(2*r)+h*h);
writeln('area de base = ',ab:2:4);
EJERCICIO 12
program convert;
uses crt;
var c:char;i:integer;
begin
writeln('CONVERTIR codigos ASCII a su equivalente en numero');
writeln('Entrar un caracter ');
readln(c);
i:=ord(c);
writeln('el numero de orden de ',c,' es= ',i:1);
readln;
end.
PRACTICAS DE LABORATORIO II
SEMESTRE 2017-I
IF THEN ELSE
EJERCICIO 1
program compara;
uses crt;
var a,b:integer; begin
writeln('digite dos numeros enteros: ');
readln(a,b);
if a>b then writeln(a,' es mayor que ',b)
Else writeln(a,' es menor que ',b);
readln;
end.
EJERCICIO 2
program compara2;
uses crt;
var a,b:integer;
begin
writeln('ingrese dos numeros enteros');
readln(a,b);
EJERCICIO 3
program compara3;
uses crt;
var a,b:integer;
begin
writeln('ingrese dos numeros enteros');
readln(a,b);
if a>b then writeln('a es mayor que b');
if a<b then writeln('a es menor que b');
readln;
end
.
EJERCICIO 4
program compara4;
uses crt;
var a,b:integer;
begin
writeln('ingrese dos numeros enteros');
readln(a,b);
if a<b then writeln('a es menor que b');
if a>b then writeln('a es mayor que b');
readln;
end
.
EJERCICIO 5
program compara5;
uses crt;
var a,b:integer;
begin
clrscr;
writeln('ingrese dos numeros enteros');
readln(a,b);
if a<b then writeln(a,' es menor que ',b);
if a>b then writeln(a,' es mayor que ',b);
readln;
end.
EJERCICIO 6
program notas;
var n:real;
begin
writeln('ingrese su nota');
readln(n);
if n>=10.5 then begin
if n>20 then writeln('esa nota mayor a 20 no existe')
else writeln('esta ud aprobado');end;
if n<10.5 then begin
if n<0 then writeln('esa nota menor a 0 no existe')
else writeln('esta ud desaprobado');end;
readln;
end.
EJERCICIO 7
program clave_acceso;
const clave='albert501';
var l:string;
begi
n
writeln('ingrese clave');
readln(l);
if l=clave then begin
writeln('Usted logro acertar');
end
else writeln('CLAVE INCORRECTA ......');
readln;
END.
EJERCICIO 8
program notas;
uses crt;
var n,c:real;
begi
n
clrscr;
writeln('ingrese numero clave de acceso');
readln(c);
if c=2007 then
begin
writeln('ingrese su nota');
readln(n);
if n>=10.5 then begin
if n>20 then writeln('esa nota mayor a 20 no existe')
else writeln('esta ud aprobado');end;
if n<10.5 then begin
EJERCICIO 9
PROGRAM triang;
uses crt;
VAR a,b,c,p,at: REAL;
BEGIN
clrscr;
writeln('valor de a ? ');
readln(a);
if a>0 then begin WRITEln ('valor de b ? ');
READln(b);
if b>0 then begin writeln('valor de c ? ');
readln(c);
if c>0 then begin p:=(a+b+c)/2; at:=sqrt(p*(p-a)*(p-b)*(p-
c));
wriTEln('area = ',at:2:10);end
else writeln('no acepto lado c neg');end
else writeln('no acepto lado b negativo');end
else writeln('no acepto lado a negativo');
READLN;
END.
EJERCICIO 10
program ecuacion;
uses crt;
var a,b,c,x1,x2,d:real;
begin
clrscr;
writeln('HOLA BIENVENIDOS AL CURSO DE INFORMATICA');
writeln('INGRESE COEFICIENTES a, b, c');
readln(a,b,c);
if a<>0 then begin d:=b*b-4*a*c;
if d>0 then begin
writeln('EL VALOR DE X1 ES = ',(-
b+sqrt(d))/2); writeln('EL
VALOR DE X2 ES = ',(-b-
sqrt(d))/2);end
else writeln('DISCRIMINANTE IMAGINARIO');end
else writeln('LA ECUACION NO TIENE SOLUCION');readln;
end.
EJERCICIO 11
program raices(input,output);
uses crt;
var a,b,c,d,x1,x2:real;
begin
clrscr;
writeln;
writeln;
writeln('ingrese a b c : ');
read(a,b,c);
if a=0 then
writeln('indeterminado')
else
begin
d:=b*b-4*a*c;
if d<0 then
begin
writeln('discriminante=',d);
writeln('imaginario');
writeln('No tiene soluci¢n Fin de programa...');
end
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('X1=',x1:4:3,' x2=',x2:4:5);
end;
end;
readln;readln;
end.
EJERCICIO 12
program opera; uses crt;
var a : char;
s,n1,n2: real;
begin
clrscr;
WRITELN('* * * * * * INGENIERIA TOPOGRAFICA Y AGRIMENSURA * * * * * *');
WRITELN('PROGRAMA QUE REALIZA LA OPERACION: (*) , (/) , (+) , (-) ');
WRITELN('* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *');
WRITELN('');
write('INGRESE PRIMER NUMERO =============> ' );
readln(n1);
writeln;
write('INGRESE SEGUNDO NUMERO ============> ' );
readln(n2);
writeln;
if a='-' then
begin
s:=n1-n2;
write ('LA RESTA ES =========> ' , s:6:4);
end;
end;
if a='*' then begin
s:=n1*n2;
write('LA MULTIPLICACION ES ==> ' , s:6:4);
end;
repeat until keypressed;
end.
EJERCICIO 13
Program Numero_mayor_de_tres;
uses crt;
var n1,n2,n3,numero_mayor : integer;
begin
Clrscr;
Writeln('PROGRAMA PARA HALLAR EL MAYOR DE TRES NUMEROS'); Writeln('-------
--------------------------------------');
WRITELN('');
write('Primer n£mero ');readln(n1);
write('Segundo n£mero ');readln(n2); write('Tercer n£mero ');readln(n3);
if n1>n2 then
if n1>n3 then
numero_mayor:=n1
else
else
numero_mayor:=n3
if n2>n3 then
numero_mayor:=n2
else
numero_mayor:=n3;writeln('EL NUMERO MAYOR ES = ', NUMERO_MAYOR);
readln;
end.
EJERCICIO 14
program prisma;
uses crt;
var r,n,h,ang,lado,ap,pe,al,ab,at,v:real;
const pi=3.1415926;
var clave:string;
begin
writeln('ingrese clave de acceso');
readln(clave);
if clave='epita' then begin
clrscr;
writeln('ingrese numero de lados de la base');
readln(n);
writeln('Ingrese longitud del radio del pol¡gono');
readln(r);
writeln('Ingrese altura');
readln(h);
ang:=360/n;
ang:=ang/2;
lado:=2*(sin(ang*pi/180)*r);
ap:=cos(ang*pi/180)*r;
pe:=n*lado;
al:=pe*h;
ab:=pe*ap/2;
at:=al+2*ab;
v:=ab*h;
writeln('long de lado = ',lado:2:4);
writeln('apotema = ',ap:2:4);
writeln('perimetro de base = ',pe:2:4);
writeln('area de base = ',ab:2:4);
writeln('area lateral = ',al:2:4);
writeln('area total = ',at:2:4);
writeln('volumen = ',v:2:4); end
else writeln('clave incorrecta acceso no permitido');sound(400);
readln;
end.
EJERCICIO 15
program seno;
uses crt;
var grados,minutos,segundos,angulo:real;
const pi=3.141592;
begin
clrscr;
writeln('INGRESE UN ANGULO SEXAGESIMAL CUALQUIERA');
writeln('GRADOS, MINUTOS Y SEGUNDOS');
readln(grados,minutos,segundos);
if grados>=0 then begin
if minutos>=0 then begin
if segundos>=0 then begin
angulo:=grados+minutos/60+segundos/3600;
angulo:=angulo*pi/180;
writeln('SENO DE ANGULO = ',sin(angulo):2:9);
writeln('COS DE ANGULO = ',cos(angulo):2:9);
writeln('TAN DE ANGULO =',sin(angulo)/cos(angulo):2:9);
writeln('COT DE ANGULO =',1/(sin(angulo)/cos(angulo)):2:9);
writeln('SEC DE ANGULO = ',1/cos(angulo):2:9);
writeln('COSECDE ANGULO = ',1/sin(angulo):2:9);end
else writeln('No acepto segun.negativos adi¢s...');end
else writeln('No acepto minutos negativos...adi¢s..');end
else writeln('No acepto grados negativos hasta luego...');readln;
end.
EJERCICIO 1
program incremento;
var a:integer;
begin
a:=1;
while a<=40 do
begin
writeln(a); a:=a+2;
end; readln;
end.
EJERCICIO 2
program decremento;
var a:integer;
begin
a:=100;
while a>=40 do
begin
writeln(a);
a:=a-2;
end;
readln;
end.
EJERCICIO 3
program incremen2;
uses crt;
var a:real;
begin
clrscr;
a:=3825;
while a<=3865 do
begin
writeln(a:4:2);
a:=a+0.25;
end;
readln;
end.
EJERCICIO 4
program incremen3;
uses crt;
var a:real;
begin
clrscr;
a:=1;
while a<=120 do
begin
writeln(a:4:2);
a:=a+0.025;
end;
readln;
end.
EJERCICIO 5
program suma_numeros;
uses crt;
var numang:integer;
n,a, sum,dato:real;
begin
clrscr;
numang:=5;
sum:=0;
writeln('INGRESE 5 NUMEROS');
while numang>0 do
begin
writeln('INGRESE DATO');
readln(dato);
sum:=sum+dato;
numang:=numang-1;
end;
writeln('suma=',sum);readln;
end.
EJERCICIO 6
program bucle_indef_pos;
var n,n1:integer;
begin
writeln('ingrese numero');
readln(n);
while n>0 do
begin
writeln('ingrese otro numero');
readln(n1);
n:=n+n1;
end;
end.
EJERCICIO 7
program sumar_indef;{termina con cero}
var numero,suma:integer;
begin
suma:=0;
writeln('ingrese numero');
readln(numero);
while numero<>0 do
begin
suma:=suma+numero;
writeln('ingrese otro numero');
readln(numero); end;
writeln('la suma es =',suma);
end.
EJERCICIO 1
program uso_de_for;
uses crt;
var n:longint;
begin
clrscr;
writeln('=============CUADRADO Y CUBO DE UN
NUMERO==================');
writeln('INGRESE UN NUMERO ENTERO');
readln(n);
for n:=1 to n do
writeln(n,' SU CUADRADO ES = ',n*n,' SU CUBO ES = ',(n*n*n));
readln;
end.
EJERCICIO 2
program uso_de_for;
uses crt;
var n,a,b:integer;
begin
clrscr;
writeln('INGRESE UN NUMERO INICIAL');
readln(a);
writeln('INGRESE EL NUMERO FINAL');
readln(b);
for n:=a to b do
writeln(n,' SU CUADRADO ES = ',n*n,' SU CUBO ES = ',n*n*n);
readln;
end.
EJERCICIO 3
program pendiente;
var i,a,b:integer;
var incr:real;
begin
writeln('ingrese numero inicial');
readln(a);
writeln('Ingrese numero final');
readln(b);
writeln('ingrese incremento');
read(incr);
for I:=a to b do writeln(i,' ',I+incr:4:2);
readln;
readln;
end.
EJERCICIO 1
{uso de REPEAT}
program uso_de_repeat;
uses crt;
var c,a:real;
begin
clrscr;
Writeln('ESTE PROGRAMA REPITE LA OPERACION MIENTRAS SE INGRESA NUMEROS
POSITIVOS');
writeln('ingrese un n£mero cualquiera');
readln(c);
repeat
writeln;
writeln('ingrese otro n£mero POSITIVO para continuar el programa');
writeln('ingrese un n£mero NEGATIVO para terminar el programa');
readln(a);
writeln(c:4:0,' por ',a:2:0 ,' es = ',c*a:2:4);
until c*a<=0;
end.
EJERCICIO 2
var a,g,m,s:real;
begin
writeln('CALCULA EL SENO DE UN ANGULO ø,''','"',' POSITIVO');
writeln('TERMINA CON DATOS NEGATIVOS');
repeat
writeln('grados, minutos y segundos');
readln(g,m,s);
a:=g+m/60+s/3600;
a:=a*pi/180;
writeln('el seno es',sin(a));
readln;
until a<0;
end.
EJERCICIO 3
program uso_repeat;
uses crt;
var c,a:real;
begin
clrscr;
Writeln('EL PROGRAMA REPITE LA OPERACION MIENTRAS SE INGRESA NUMEROS
POSITIVOS');
writeln('MULTIPLICA UN PRIMER NUMERO INGRESADO POR LOS SIGUIENTES');
writeln('ingrese un n£mero real cualquiera');
readln(c);
repeat
writeln;
writeln('ingrese otro n£mero positivo');
readln(a);
writeln(c:2:3,' por ',a:2:3 ,' es = ',c*a:2:4);
writeln;
writeln('INGRESE NUMERO NEGATIVO PARA TERMINAR PROGRAMA');
until c*a<=0;
end.
PRACTICAS DE LABORATORIO IV
SEMESTRE 2017 - I
POTENCIAS EN PASCAL
EJERCICIO 1
Y x 5
program potencia1;
uses crt;
var m,n:real;
begin
writeln('ingrese n');
readln(n);
m:=sqrt(n);
writeln('El valor de M es ',m:2:3);
readln;
end.
EJERCICIO 2
M n
M n 1 / 2
program potencia2;
uses crt;
var m,n:real;
begin
writeln('ingrese n');
readln(n);
m:=sqrt(n);
writeln('El valor de M es ',m:2:3);
readln;
end.
EJERCICIO 3
A N 1 / 2 , A , A (N 1 / 2 )1 / 2
program potencia3;
uses crt;
var a,n:real;
begin
writeln('ingrese N');
readln(n);
a:=sqrt(sqrt(n));
writeln('El valor de A es ',a:2:3);
readln;
end.
EJERCICIO 4
A N 0.787
program potencia4;
uses crt;
var a,n:real;
begin
writeln('ingrese N');
readln(n);
a:=exp(0.787*ln(n));
writeln('El valor de A es ',a:2:3);
readln;
end.
EJERCICIO 5
A ((N)0.35 )0.25
program potencia5;
uses crt;
var a,n:real;
begin
writeln('ingrese N');
readln(n);
a:=exp(0.25*ln(exp(0.35*ln(n))));
writeln('El valor de A es ',a:2:3);
readln;
end.
EJERCICIO 6
a b
Y
(c d )0.785
program potencia6;
uses crt;
var a,b,c,d,y:real;
begin
writeln('ingrese a,b,c,d');
readln(a,b,c,d);
y:=sqrt(a+b)/exp(0.785*ln(c+d));
writeln('El valor de Y es ',y:2:3);
readln;
end.
EJERCICIO 7
PROGRAM POTENCI2;
uses crt;
VAR y,x,n,r: REAL;
BEGIN
clrscr;
writeln('INGRESE SOLAMENTE NUMEROS POSITIVOS');
writeln('valor de N ? ');
readln(N);
if N>0 then begin WRITEln ('valor de X ? ');
READln(x);
if x>0 then begin writeln('valor de y ? ');
readln(y);
if y>0 then begin
R:=exp((x*n)*ln(y));
WRITEln('valor de R = ',R:2:4);end
else writeln('No acepto "y" Negativo hasta luego...');end
else writeln('No acepto "X" negativo adi¢s...');end
else writeln('No acepto "N" negativo hasta pronto...');readln;
end.
EJERCICIO 1
program division1;
uses crt;
var a,b,x:integer;
begin
writeln('introduzca dos numeros a y b');
readln(a,b);
x:=a div b;
writeln('El valor entero de a entre b es ',x);
readln;
end.
EJERCICIO 2
program division2;
uses crt;
var a,b,x:integer;
begin
writeln('introduzca dos numeros a y b');
readln(a,b);
x:=a mod b;
writeln('El resto de la division de a entre b es ',x);
readln;
end.
EJERCICIO 1
program division3;
uses crt;
var a,b,x:real;
begin
writeln('introduzca dos numeros a y b');
readln(a,b);
x:=a/b;
writeln('La parte entera de la division de a entre b es ',trunc(x));
readln;
end.
EJERCICIO 2
program division4;
uses crt;
var a,b,x:real;
begin
writeln('introduzca dos numeros a y b');
readln(a,b);
x:=a/b;
writeln('El redondeo al entero mas proximo de a entre b es ',round(x));
readln;
end.
EJERCICIO 1
program notasalumno;{programa que calcula el promedio de notas de 10
alumnos}
uses crt;
var
notas : array [1..10, 1..4] of real;
i,j : integer;
suma, media:real;
begin
clrscr;
for i:=1 to 10 do
begin
WRITELN;
writeln('NOTAS DE 10 ALUMNNOS');
writeln('************************');
writeln('NOTAS DE ALUMNO ',i:1);
writeln('Y SU PROMEDIO');
writeln('************************');
suma:=0;
writeln('introduzca cuatro notas del curso');
for j:=1 to 4 do
begin
read(notas[I,J]);
suma:=suma+notas[I,j]
end;
readln;
media:=suma/4;
writeln('la nota promedio del alumno ',I:1,' es ',media:1:1)
end
end.
{EJERCICIO: elaborar un programa que calcule el promedio de 8 notas
de 25 alumnos}
EJERCICIO 2
program matriz1;
uses crt;
var
begin
writeln;
writeln('**********************************************');
suma:=0;
writeln('Escriba grados, min y seg del angulo ',i);
for j:=1 to 3 do
begin
read(angulo[I,J]);
suma:=angulo[i,j]+(angulo[i,j]/60)+(angulo[I,J]/3600);
end;
readln;
writeln('el seno del angulo ',i:1,' es ',sin(suma*pi/180):2:8);
end;readln;
end.
{EJERCICIO: elaborar un programa que calcule la suma y el promedio de 8
angulos
sexagesimales}
EJERCICIO 3
program suma_matriz;
uses crt;
const max=10;
var a, b,s:array[1..max,1..max] of integer;
p,q,i,j: 1..max;
begin
clrscr;
writeln('======SUMA DE MATRICES=====');
writeln;
writeln;
write('Ingrese Orden de matrices filas y columnas ');readln(p,q);
writeln;
writeln('use TABULADOR para ingreso de elementos en COLUMNAS');
writeln('use ENTER para cambiar de FILA');
writeln;
writeln('matriz A');
for i:=1 to p do
begin write('fila ',i,' :');
for j:=1 to q do read(a[i,j]);
writeln;
end;
writeln;
writeln('matriz B');
for i:=1 to p do
begin write('fila ',i,' : ');
for j:=1 to q do read(b[i,j]);
writeln
end;
writeln;
{........Suma de Matrices............}
for i:=1 to p do
for j:=1 to q do
s[i,j]:=a[i,j]+b[i,j];
end.
EJERCICIO 4
{programa que calcula el promedio de cualquier número de alumnos y
cualquier número de notas}
program notasalumno;
uses wincrt;
var
m,n:integer;
notas : array [1..100, 1..50] of real;
i,j : integer;
suma, media:real;
begin
writeln('Ingrese Número de alumnos');
readln(m)
;
writeln('Número de Notas');
readln(n);
for i:=1 to m do
begin
WRITELN;
writeln('************************');
writeln('NOTAS DE ALUMNO ',i:1);
writeln('Y CALCULO DE SU PROMEDIO');
writeln('************************');
suma:=0;
writeln('introduzca ',n,' Notas del curso');
for j:=1 to n do
begin
read(notas[I,J]);
suma:=suma+notas[I,j]
end;
readln;
media:=suma/n;
writeln('la nota promedio del alumno ',I:1,' es ',media:1:1)
end;
end.
EJERCICO 5
{programa que imprime en pantalla los datos ingresados por el teclado}
uses wincrt;
var d:array[1..100] of integer;
n,i,j:1..100;
temp:integer;
begin
clrscr;
writeln('numero de datos ');readln(n);
writeln('ingrese ',n,' enteros');
for i:=1 to n do read(d[i]);
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if d[i]>d[j]
then begin
temp:=d[i];
d[i]:=d[j];
d[j]:=temp
end;
for i:=1 to n do write(d[i],' ');
READLN;READLN;
end.
PRACTICAS DE LABORATORIO V
SEMESTRE 2017 - I
EJERCICIO 1
program pruebadesubprograma;
uses crt;
var a, b, may, men:integer;
(* INICIO DE SUBPROGRAMA*)
PROCEDURE CALCULAR;
begin
if a<b then begin may:=b; men:=a end
else begin may:=a; men:=b end
end;
(* FIN DE SUB PROGRAMA*)
EJERCICIO 2
program subprog2;
uses crt;
var x,y,r,a:real;
(* INICIO DE SUBPROGRAMA*)
PROCEDURE CAMBIO(x,y:real; var radio, alfa:real);
var z:real;
begin
z:=x*x+y*y;
radio:=sqrt(z);
z:=arctan(y/x);
alfa:=180/pi*z
end;
(* FIN DE SUB PROGRAMA*)
EJERCICIO 3
USES CRT;
PROCEDURE GRADOS_FARINGE;
VAR C,F:REAL;
BEGIN
CLRSCR;
WRITELN;
WRITELN('* * * * * * * * * * * * *');
WRITELN('PROGRAMA CONVERTIR GRADOS');
WRITELN('*************************');
WRITELN;
WRITELN(' A. RAMOS V.');
WRITE ('INGRESE GRADOS FARENHEIT ===>: ');READ(F); C:=5*(F-
32)/9;
WRITE('DE GRADOS FARENHEIT HAY ===> ', C:6:2);
WRITELN ( ' GRADOS CENTIGRADOS');
REPEAT UNTIL KEYPRESSED;
END;
PROCEDURE GRADOS_CENTIGRADOS;
VAR F,C : REAL;
BEGIN
CLRSCR;
WRITELN('* * * * * * * * * * * * *');
WRITELN('PROGRAMA CONVERTIR GRADOS');
WRITELN('*************************');
WRITELN;
WRITELN(' A. RAMOS V. ');
WRITE('INGRESE GRADOS CENTIGRADOS ===>: '); READ(C);
F:=32+(C*9)/5;
WRITE('DE GRADOS CENTIGRADOS HAY ===> ', F:6:2);
WRITELN(' GRADOS FARENHEIT');
WRITELN;
REPEAT UNTIL KEYPRESSED;
END;
PROCEDURE MENU;
VAR OPCION:CHAR;
BEGIN
CLRSCR;
GOTOXY(15,4);
WRITELN('PROGRAMA DE CONVERTIR DE GRADOS Fø A Cø');
GOTOXY(27,5);
WRITELN('VICIVERSA');
GOTOXY(30,6);
WRITELN('MENU');
WRITELN;
WRITELN(' < 1 > DE FARENHEIT A CENTIGRADO');
WRITELN(' < 2 > DE CENTIGRADO A FARENHEIT');
WRITELN(' < 3 > SALIR');
OPCION:=READKEY;
CASE OPCION OF
'1' : GRADOS_FARINGE;
'2' : GRADOS_CENTIGRADOS;
'3' : EXIT;
END;
MENU;
END;
BEGIN
CLRSCR;
MENU;
END.
EJERCICIO 4
uses crt;
procedure areadelcirculo;
var radio,area : real;
const pi=3.1416;
begin
clrscr;
writeln('AREA DEL CIRCULO');
writeln('----------------');
write('EL RADIO DEL CIRCULO POR FAVOR : ');read(radio);
area:=pi*(radio*radio);
write('EL AREA DEL CIRCULO ES = ',area :6:2);
repeat until keypressed;
end;
procedure areadelcuadrado;
var lado,area : real;
begin
clrscr;
writeln('AREA DEL CUADRADO'); writeln('-----------------
');
write('INGRESE EL LADO : ');read(lado);
area:=lado*lado;
write('EL AREA DEL CUADRADO ES : ',area:6:2);
repeat until keypressed;
end;
procedure areadelrombo;
var area,Dm,d:real;
begin
clrscr;
writeln(' AREA DEL ROMBO ');
writeln('-----------------');
write('Ingrese la Diagonal Mayor :');read(Dm);
write('Ingrese la diagonal menor :');read(d);
area:=(Dm*d)/2;
write('EL AREA DEL ROMBO ES : ',area:6:2);
repeat until keypressed;
end;
procedure areadeltrapecio;
var area,Bm,b,altura:real;
begin
clrscr;
writeln('AREA DEL TRAPECIO'); writeln('-----
------------');
write('Ingrese la Base Mayor : ');read(Bm);
write('Ingrese la base menor : ');read(bm);
write('altura :');read(altura);
area:=(Bm+b)*altura/2;
write('EL AREA DEL TRAPECIO ES : ',area:6:2);
repeat until keypressed;
end;
procedure areadeltriangulo;
var area,b,altura:real;
begin
clrscr;
writeln('AREA DEL TRIANGULO');
writeln('------------------');
write('Ingrese la Base del Tri ngulo : ');
read(b);
write('Ingrese la Altura del Tri ngulo : ');
read(altura);
area:=(b*altura)/2;
writeln('EL AREA DEL TRIANGULO ES : ',area:6:2);
repeat until keypressed;
end;
procedure menu;
Var opcion:char;
begin
clrscr;
gotoxy(30,1);
writeln('M E N U D E A R E A S');
gotoxy(30,2);
writeln('**************************');
WRITELN;
WRITELN(' Presionar el N° del Area que desea');
WRITELN(' ***********************************');
WRITELN(' ');
writeln(' < 1 > AREA DEL CIRCULO ');
writeln(' < 2 > AREA DEL CUADRADO ');
writeln(' < 3 > AREA DEL ROMBO ');
writeln(' < 4 > AREA DEL TRAPECIO ');
writeln(' < 5 > AREA DEL TRIANGULO ');
writeln(' < 6 > SALIR ');
WRITELN(' **********************************');
WRITELN(' Programmed by: A. RAMOS V.');
opcion:=Readkey;
case opcion of
'1' : areadelcirculo;
'2' : areadelcuadrado;
'3' : areadelrombo;
'4' : areadeltrapecio;
'5' : areadeltriangulo;
'6' : exit;
end;
menu;
end;
begin
clrscr;
menu;
end.
CALCULO DE AZIMUT
USES CRT;
var azp,g,m,s,ad,gd,md,sd,su,azf,g1,m1,s1,gz,mz,sz,N:real;
BEGIN
CLRSCR;
WRITELN;
WRITELN;
WRITELN;
textcolor(10);
WRITELN(' **************************************************************');
WRITELN(' * *');
WRITELN(' * BIENVENIDOS AL CURSO INFORMATICA PARA INGENIEROS 2015
*');
WRITELN(' * INGENIERIA TOPOGRAFICA Y AGRIMENSURA *');
writeln(' * PROGRAMACION EN LENGUAJE PASCAL *');
WRITELN(' * Programmed by Alberto Ramos V. *');
WRITELN(' * *');
writeln(' **************************************************************');
WRITELN;
WRITELN;
WRITELN;
WRITELN(' DIGITE NUMERO CLAVE DE ACCESO PARA INGRESAR AL
PROGRAMA');
WRITELN;
WRITELN(' *******************************************************');
WRITELN;
READLN(N);
IF N<>7799 THEN BEGIN textcolor(12);
writeln;
WRITELN;
WRITELN(' CLAVE INCORRECTA FIN DE PROGRAMA.............');
READLN;
END
ELSE
begin
clrscr; TEXTCOLOR(11);
writeln;
writeln('**************************************************');
writeln; TEXTCOLOR(12);
writeln(' CLAVE CORRECTA ACCESO PERMITIDO');
writeln;
writeln(' CALCULO DE AZIMUTS EN POLIGONALES');
writeln; TEXTCOLOR(11);
writeln('**************************************************');
WRITELN;
writeln('Ingrese Grados Min y Seg de AZIMUT DE PARTIDA');
WRITELN;
readln(g,m,s);
azp:=g+m/60+s/3600; WRITELN;
REPEAT
writeln;
writeln('Ingrese Grados Min y Seg de ANGULO A LA DERECHA');
WRITELN;
readln(gd,md,sd);
ad:=gd+md/60+sd/3600;
su:=azp+ad;
if su<180
then begin
azf:=su+180;
gz:=int(azf);
mz:=int((azf-int(azf))*60);
sz:= (((azf-int(azf))*60)-int((azf-int(azf))*60))*60;
writeln; TEXTCOLOR(13);
writeln('===========================================');
writeln(' AZIMUT CALCULADO= ',gz:2:0,'° ',mz:2:0,'´', sz:2:2,'"');
writeln('===========================================');
AZP:=AZF;
end;
if su>180
then begin
azf:=su-180;
gz:=int(azf);
mz:=int((azf-int(azf))*60);
sz:= (((azf-int(azf))*60)-int((azf-int(azf))*60))*60;
writeln;TEXTCOLOR(13);
WRITELN('=====================================');
writeln(' AZIMUT CALCULADO= ',gz:2:0,'° ',mz:2:0,'´', sz:2:2,'"');
writeln('=====================================');AZP:=AZF;
end;
if su>360
then begin
su:=su-360;
if su<180
then begin
azf:=su+180;
gz:=int(azf);
mz:=int((azf-int(azf))*60);
sz:= (((azf-int(azf))*60)-int((azf-int(azf))*60))*60;
WRITELN; TEXTCOLOR(13);
writeln('====================================');
writeln(' AZIMUT CALCULADO= ',gz:2:0,'° ',mz:2:0,'´', sz:2:2,'"');
writeln('====================================');AZP:=AZF;
end;
if su>180
then begin
azf:=su-180;
gz:=int(azf);
mz:=int((azf-int(azf))*60);
sz:= (((azf-int(azf))*60)-int((azf-int(azf))*60))*60;
WRITELN; TEXTCOLOR(13);
writeln('=====================================');
writeln(' AZIMUT CALCULADO= ',gz:2:0,'° ',mz:2:0,'´', sz:2:2,'"');
writeln('=====================================');AZP:=AZF;
end;
end;
UNTIL AD=0;
end;
END.