You are on page 1of 43

INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA

----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

CURSO: INFORMÁTICA PARA INGENIEROS PARTE II

UNIDAD V ARCHIVOS ELECTRÓNICOS

5.1 FILE-ARCHIVO-FICHERO (Archivo electrónico de datos)

Un archivo, fichero o file es una estructura de datos que reside en la memoria o en un


soporte de información, consistente en un conjunto de informaciones estructuradas en
unidades de acceso denominados registros, con las siguientes características:

-Residencia en soportes secundarios


-Independencia con respecto de los programas
-Permanencia de la información (no se borra al apagar)
-Gran capacidad de almacenamiento

5.2 NOMBRE DE ARCHIVO Y EXTENSION

Normalmente el nombre de cualquier archivo está formado por un nombre propiamente


dicho, un punto y una extensión (Ejem. PROGRAMA.EXE). El nombre es obligatorio y como
mínimo debe tener un carácter y 256 como máximo. La extensión es opcional e indica el
tipo de archivo o fichero.

Ejemplo de nombre de archivo y extension

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.

5.3 EXTENSIONES MAS COMUNES

.EXE Archivo ejecutable .SDW Archivo de texto


.SYS Archivo de sistema .TXT Archivo de texto

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 1


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

.JPG Archivo de imagen .DOC Archivo de texto


.GIF Archivo de imagen animada .SDC Archivo de hoja electrónica
.MP3 Archivo de sonido .XLS Archivo de hoja electrónica
.WAV Archivo de sonido .DWG Archivo de gráfico
.HTM o Archivo de internet .MPEG (autocad)
Archivo de video
html
Extension Tipo de archivo
ai Documento Adobe Ilustrator
aif Archivo de intercambio de audio
avi Audio Video Interleave
bat Archivos por lotes
bin Archivo binario
bmp Mapa de bits de Windows
bup Archivo de copia de seguridad
cab Microsoft Windows archivo comprimido
cda Atajo CD Audio Track
cdr Corel Draw Vector o CD de audio sin procesar
chm Microsoft HTML Help comprimido
dat Datos
divx Vídeo DivX
dll Biblioteca de vínculos dinámicos
dmg Imagen de disco
doc Documento Microsoft Word
docx Documento Microsoft Word
dwg AutoCAD DWG
eml Mensaje de correo electrónico
eps PostScript encapsulado
exe Archivo ejecutable
fla Adobe Flash
flv Flash Video
gif Imagen GIF (Graphics Interchange Format)
gz Gzip archivo empaquetado
hqx BinHex
htm Web – Hypertext Markup Language (HTML)
html Web – Hypertext Markup Language (HTML)
ifo DVD Información del archivo
indd Documento de InDesign
iso Imagen de disco óptico
jar Archivo Java
jpeg De imagen JPEG
jpg Imagen JPEG

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 2


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

lnk Acceso directo – Atajo


log Archivo de registro
m4a MPEG-4 Parte 14
m4b MPEG-4 Parte 14
m4p AAC protegido Archivo
m4v MPEG-4 Parte 14
mdb Microsoft Access
mid Audio midi – Musical Instrument Digital Interface
mov QuickTime
mp2 MPEG-1 Audio Layer II
mp3 Archivo de Audio MP3
mp4 MPEG-4 Parte 14
mpeg MPEG 1 Sistema Stream
mpg MPEG-1 Video
msi Windows Installer
mswmm Windows Movie Maker Archivo de Proyecto
pdf Documento PDF
png Graficos – Portable Network Graphics
pps Mostrar PowerPoint
ppt Microsoft PowerPoint Presentation
pptx Microspft PowerPoint 2007+
ps PostScript
psd Photoshop documento
pst Microsoft Outlook emails – Personal Storage
pub Microsoft Publisher
qbb QuickBooks archivo de copia de seguridad
qbw Hoja de cálculo; QuickBooks para Windows
ram RealAudio
rar RAR Archive
rm RealMedia
rmvb RealMedia Variable Bitrate
rtf Formato de texto enriquecido
sql Lenguaje de consulta estructurado
ss Gráficos de mapas de bits; Splash
swf SWF de gráficos vectoriales
tgz Archivo; WinZipNT – TAR – GNUzip
tif Tagged Image File Format
torrent BitTorrent
ttf Tipos de Fuente – Letra

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 3


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

txt Archivo de texto plano


vcd Virtual CD-ROM CD Archivo de imagen
vob DVD-Video Object
wav Waveform Audio Formato
wma Windows Media Audio
wmv Windows Media Video
wpd WordPerfect Document
wps Documento de texto, MS Works
xls Microsoft Excel hoja de cálculo
xlsx Microsoft Excel 2007+
zip Archivo empaquetado

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 4


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

UNIDAD VI PROGRAMACIÓN EN LENGUAJES

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 conjunto de órdenes que se le dá a un computador para realizar un proceso se


denomina programa.

Un programa es el conjunto de instrucciones, mandatos, sentencias, ordenes que vienen


almacenadas en discos, CD ROM, DVD memorias u otro dispositivo de almacenamiento y
tiene su origen en las ideas y procesos desarrollados por el elemento humano

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

Conjunto de instrucciones y argumentos escritos en un lenguaje determinado, es un


“plan” o “receta” para ir de los datos del problema a la respuesta requerida.

6.2 LENGUAJES DE PROGRAMACION

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.

Un Lenguaje de programación es un conjunto de sintaxis y reglas semánticas que definen


los programas del computador. Los lenguajes de programación se pueden clasificar de
diversas maneras como por ejemplo en: lenguaje de máquina, lenguaje de bajo nivel y
lenguaje de alto nivel.

6.3 PASOS PARA LA SOLUCIÓN DE PROBLEMAS CON EL USO DE COMPUTADORA

El proceso de diseñar programas es esencialmente un proceso creativo, se pueden


considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los
programadores:

a) DEFINICIÓN DEL PROBLEMA

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 5


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

b) ANÁLISIS DEL PROBLEMA

c) SELECCIÓN DE LA MEJOR ALTERNATIVA


d) HERRAMIENTAS DE PROGRAMACIÓN

Algoritmo.- Secuencia como se resuelve un problema, Serie de pasos que se deben


realizar y seguir ordenadamente.

Algoritmo gráfico.-representación gráfica del algoritmo en bloques o símbolos normalizados


por el Instituto Norteamericano de Normalización (ANSI), también denominado
DIAGRAMA DE FLUJO, DIAGRAMA LOGICA, ORDINOGRAMA, FLOW CHART,
ORGANIGRAMA, etc.

Las normas para presentar los organigramas son:


 El inicio y final del programa solo aparecen una vez.
 El camino que se tomara de principio a fin de izquierda a derecha (en mismo nivel).
 No realizar cruces entre los distintos caminos. Para evitarlo usar los conectores.
 En la parte superior se encuentran los soportes de entrada.
 En la parte central estarán los procesos y operaciones a realizar.
 En la parte final se encontrara la salida de datos.

SIMBOLOGIA

DIAGRAMA DESCRIPCIÓN

Establece el INICIO y el FIN.

Indica CÁLCULO o ASIGNACIÓN, un PROCESO interno.

Introducción o INGRESO de datos por parte del usuario.

SALIDA de información POR PANTALLA.

Indica la continuidad de un diagrama. CONECTOR.

Volumen de DATOS.

Indica el SENTIDO del flujo

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 6


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

Especifica una bifurcación del flujo del programa. DECISIÓN.

SALIDA de información POR IMPRESORA.

Indica un proceso externo. SUBRUTINA.

SENTECIAS DE CONTROL
DIAGRAMA DESCRIPCIÓN

Sentencia de ITERACIÓN.

Sentencia de SELECCIÓN simple. Con cláusula sino

Sentencia de SELECCIÓN múltiple. Con cláusula sino.

Cuando se logra habilidad para desarrollar programas, es posible no elaborar el diagrama


de flujo; en su lugar podremos hacer directamente el pseudocódigo del programa.

Pseudocódigo.-Escritura del programa en modo lenguaje, con palabras, símilares a los

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 7


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

de los lenguajes de programación.

Depuraciones.-Depuración de algunos pasos o instrucciones que no son necesarios.

e) PRUEBA DE ESCRITORIO

f) CODIFICACIÓN EN LENGUAJE

El algoritmo (problema a resolver) se escribe en alguno de los lenguajes de programacion


de una forma ordenada y programada El programa codificado se conoce como Programa
Fuente (Source), y es necesario grabar en un disco duro u otro dispositivo de
almacenamiento.

g) PROGRAMA FUENTE: (código fuente original.)


Es el programa escrito en alguno de los lenguajes, este debe ser traducido al lenguaje
maquina o código de máquina.
PROGRAMA OBJETO:
Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

Programa
Fuente

Programa
Traductor
(ensamblador)

Programa
Objeto

h) COMPILACION

i) PRUEBAS DE COMPUTADOR

j) DOCUMENTACIÓN EXTERNA

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 8


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

6.4 VARIABLES.

Una variable consiste en un elemento al cual le damos un nombre y le atribuimos un


determinado tipo de información. Las variables pueden ser consideradas como la base de
la programación.

De otra manera se puede entender que es un espacio en la memoria de la computadora que


permite almacenar temporalmente un dato durante la ejecución de un programa, su
contenido puede cambiar durante la ejecución del programa.
Para poder reconocer una variable en la memoria de la computadora, es necesario darle un
nombre con el cual podamos identificarla (identificador) dentro de un algoritmo.

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

Un identificador es un nombre que identifica a una variable, a un método o función


miembro, a una clase. Todos los lenguajes tienen ciertas reglas para componer los
identificadores:

 Todos los identificadores han de comenzar con una letra


 Puede incluir, pero no comenzar por un número
 No puede incluir el carácter espacio en blanco
 Distingue entre letras mayúsculas y minúsculas
 No se pueden utilizar las palabras propias del lenguaje como identificadores

6.6 SENTENCIAS (ÓRDENES, INSTRUCCIONES o MANDATOS)

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 INTRODUCCION A LA PROGRAMACION EN LENGUAJE PASCAL


Lenguaje de programación netamente estructurado y de aplicación general, se basó en los
lenguajes PL1 y ALGOL 60.

6.7.1 CARACTERISTICAS:

-Es un lenguaje de alto nivel


-Es un lenguaje estructurado (estructuración de programas y datos)
-Es un lenguaje algorítmico
-Es un lenguaje de uso general (tratamiento de problemas científicos, gestión,

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 9


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

procesamiento de textos, educación, etc.)


-Es un lenguaje de formato libre (las sentencias pueden ponerse en cualquier parte de la
línea y separarse con un punto y coma
-En las operaciones con números la declaración de variables es obligatoria
-Usa un editor (procesador de textos)

6.7.2 TIPOS DE DATOS: VARIABLES Y CONSTANTES

Los tipos de datos numéricos que se manejan en la elaboracion de programas en ingeniería


generalmente pueden ser de dos clases: variables o constantes.
Integer Números enteros sin parte decimal.
Real Números que pueden incluir una parte decimal
Char Caracteres del código ASCII
StringEn una secuencia de caracteres que se trata como un solo dato
Bolean Pueden contener los valores de falso o verdadero

6.7.3 OPERACIONES ARITMÉTICAS Y EXPRESIONES

OPERACIONES BÁSICAS

Las operaciones básicas en Pascal están formadas por dos partes: el operador y los
operandos.

Un operador es el símbolo que le indica al programa que operación realizará y los


operandos son los datos sobre los cuales se efectuará la operación.

Los operadores de Turbo Pascal son:

OPERADORES ARITMETICOS

* multiplicación
/ division
+ suma
- resta

OPERADORES DE RELACION

= igual
<> desigualdad
< menor
> mayor
<= menor o igual
>= mayor o igual

FUNCIONES MATEMATICAS

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 10


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

Abs(x)
Sqr(x)
Sqrt(x)
Trunc(x)
Round(x)
Ln(x)
Exp(x)

FUNCIONES TRIGONOMETRICAS

Sin(x) (en radianes)


Cos(x)
Arctan(x)

6.7.4 ORDEN DE EJECUCION DEL PROGRAMA

- Funciones
- Paréntesis
- Potencia y exponente
- Multiplicación y división
- Suma y resta

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 11


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 12


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 13


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 14


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 15


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

writeln('area lateral = ',al:2:4);


writeln('area total = ',at:2:4);
writeln('volumen = ',v:2:4);
writeln('diagonal = ',d:2:4);
readln;
end.

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

ESTRUCTURAS FUNDAMENTALES DE CONTROL

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 16


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

if a<b then writeln('a es menor que b')


else writeln('a es mayor que b');
readln;
end
.

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 17


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 18


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

if n<0 then writeln('esa nota menor a 0 no existe')


else writeln('esta ud desaprobado');end
end
else writeln('clave erronea acceso no permitido... fin de programa');readln;
end.

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.

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 19


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 20


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

writeln('QUE DESEA OPERAR ? (*) , (/) , (+) , (-) ===>');


writeln('');
a:=readkey;
if (a='+') or (a='-') or (a='*') or (a='/') then
begin
if a='/' then
begin
s:=n1/n2;
write('LA DIVISION ES =======> ' , s:6:4);
end;
if a='+' then
begin
s:=n1+n2;
write('LA SUMA ES ===========> ' , s:6:4);
end;

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 21


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 22


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

PRACTICAS DE LABORATORIO III


SEMESTRE 2017-I

ESTRUCTURAS FUNDAMENTALES DE CONTROL

ESTRUCTURA REPETITIVA WHILE DO

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 23


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 24


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 25


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

ESTRUCTURAS FUNDAMENTALES DE CONTROL

CONTADOR O BUCLE FOR TO DO

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 26


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

readln;
readln;
end.

ESTRUCTURAS FUNDAMENTALES DE CONTROL

BUCLE REPEAT UNTIL

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 27


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 28


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 29


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

USO DE DIV y MOD

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 30


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

USO DE TRUNC y ROUND

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');

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 31


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

readln(a,b);
x:=a/b;
writeln('El redondeo al entero mas proximo de a entre b es ',round(x));
readln;
end.

USO DE ARRAYS - MATRICES

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 32


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

angulo : array [1..8, 1..3] of real;


i,j:integer;
suma, media:real;
begin
clrscr;
writeln('OPERACIONES CON MATRICES');
writeln('SENO DE 8 ANGULOS SEXAGESIMALES');
writeln;
for i:=1 to 8 do

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');

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 33


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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];

{.......impresion de matriz suma......}


writeln('matriz suma ');
for i:=1 to p do
begin
for j:=1 to q do write(s[i,j]:6);
writeln;
readln;
readln;
end;

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);

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 34


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 35


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

PRACTICAS DE LABORATORIO V
SEMESTRE 2017 - I

SUB PROGRAMAS EN PASCAL - USO DE PROCEDURE (PROCEDIMIENTOS)

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*)

(*COMIENZO DE PROGRAMA PRINCIPAL*)


begin
clrscr;
writeln('INGRESE DOS VALORES ');
readln(a,b);
CALCULAR; (*LLAMADA A SUB PROGRAMA*)
writeln('MAYOR= ',may,' ','MENOR= ', men);
readln;
end.
(*FIN DE PROGRAMA PRINCIPAL*)

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*)

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 36


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

(*COMIENZO DE PROGRAMA PRINCIPAL*)


begin
clrscr;
writeln('INGRESE COORDENADAS X Y: ');
readln(x,y);
CAMBIO(x,y,r,a); (*LLAMADA A SUB PROGRAMA*)
writeln;
writeln('X Y EXPRESADO EN COORDENADAS POLARES :');
writeln('RADIO O HIPOTENUSA = ',r:6:2);
writeln('ANGULO=',a:6:2);
readln;
end.
(*FIN DE PROGRAMA PRINCIPAL*)

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');

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 37


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

REPEAT UNTIL KEYPRESSED;


write (' A. RAMOS V.');
END.

EJERCICIO 4
uses crt;
procedure areadelcirculo;
var radio,area : real;
const pi=3.1416;
begin
clrscr;
writeln('AREA DEL CIRCULO');

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 38


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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;

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 39


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 40


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

clrscr;
menu;
end.

PROGRAMAS DE APLICACION EN PASCAL – CALCULO TOPOGRAFICO

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('**************************************************');

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 41


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 42


INGENIERÍA TOPOGRÁFICA Y AGRIMENSURA
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------

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.

INFORMÁTICA PARA INGENIEROS Ing. Alberto Ramos Vilca M.Sc. 43

You might also like