Está en la página 1de 32

Indice

UNIDAD 1- LENGUAJES
Introduccin e Historia
Clasificacin
Entornos de programacin
UNIDAD 2- ALGORITMOS
Fases en el Desarrollo del Software
Nocin de Algoritmo
Representacin de Algoritmos
Programacin modular y estructurada
UNIDAD 3- PASCAL
Introduccin
Estructura de un programa en Pascal
!"etos de un programa
Nuestro primer programa

UNIDAD 4- TIPOS
#ipos Simples
$aria!les y constantes
E%presiones
Sentencias !&sicas
UNIDAD 1- LENGUAJES
'( Introduccin e Historia
)( Clasificacin
*( Entornos de programacin
1- Introduccin e !i"tori#
+a finalidad de un lengua"e de programacin es ,decirle, al ordenador -u. es lo -ue tiene -ue /acer paso a
paso( Esta definicin da -ue pensar0 no parecen muy listos los ordenadores( De!ido a esto es muy frecuente la
e%presin
Lo" orden#dore" "on tonto"(
Necesitan de alguien -ue les indi-ue lo -ue tienen -ue /acer( 1 ese ,alguien, es el programador( Pero una 2e3
-ue sa!en -u. /acer y cmo4 lo pueden repetir siempre -ue deseen4 sin error posi!le y a 2elocidades muy
superiores a las -ue podr5a /acerlo una persona(
Desgraciadamente4 el ordenador y las personas /a!lan idiomas diferentes0 el ordenador entiende unas
determinadas secuencias de ceros y unos4 llamado lengua"e o cdigo m&-uina( El programador de!e darle
instrucciones en ese formato( Este lengua"e o cdigo m&-uina es dif5cil de aprender4 dif5cil de utili3ar e incluso
a6n m&s dif5cil de modificar( Adem&s ese cdigo m&-uina no es el mismo para todos los ordenadores lo -ue se
traduce en -ue los programas reali3ados para un tipo de m&-uina no sir2en para el resto(
Se pens -ue ser5a m&s 6til tra!a"ar en un lengua"e parecido o similar al lengua"e /a!lado4 al lengua"e -ue
usamos diariamente( 7na 2e3 e%presado el con"unto de instrucciones en ese lengua"e cercano al lengua"e
natural4 ser& necesario traducir ese lengua"e a cdigo m&-uina( Pero esta la!or se puede programar y -ue sea el
ordenador el -ue autom&ticamente /aga la traduccin a lengua"e m&-uina( De esta forma surgieron los
lengua"es llamados de alto ni2el y los programas encargados de la traslacin0 los traductores( Estos 6ltimos se
enmarcan /oy en d5a en los denominados procesadores del lengua"e -ue no se limitan e%clusi2amente al
tratamiento de lengua"es de programacin sino -ue e%tienden su campo de aplicacin muc/o m&s le"os( El
o!"eti2o4 sin duda4 es -ue en alg6n momento los ordenadores sean capaces de entender el lengua"e -ue emplean
las personas( Actualmente esta meta a6n se encuentra le"os pero se est& tra!a"ando en esta l5nea desde /ace ya
2arios a8os y los resultados son prometedores(
A$%orit&o
Se define ,algoritmo, como el con"unto de pasos necesarios para resol2er un pro!lema( El
algoritmo es por tanto la ,receta, -ue se8ala -u. se de!e /acer en cada momento y !a"o -ue
condiciones /acerlo( El algoritmo se puede e%presar de m6ltiples formas aun-ue actualmente la m&s
utili3ada com!ina diferentes tipos de diagramas "unto con especificaciones en lengua"e natural( El
con"unto de pasos para resol2er un pro!lema puede tener diferentes ni2eles de a!straccin dando
lugar a diferentes ni2eles de concreccin del algoritmo( El procedimiento natural parte de una
especificacin muy general y la refina ciclicamente /asta alcan3ar el grado de detalle necesario(
9Cu&l es dic/o grado de detalle:( Pues a-uel -ue permita interpretar el algoritmo sin am!ig;edades(
Como es lgico el conte%to condiciona el grado de detalle necesario( Haciendo un pe-ue8o simil
con el mundo de la cocina4 el algoritmo representa la receta y por lo tanto no es lo mismo una receta
dise8ada para ser interpretada por un e%perto cocinero -ue una dise8ada para una persona -ue
nunca /a cocinado(
Pro%r#&#'
Podemos definir un programa como un con"unto ordenado de instrucciones e%presadas en un
lengua"e de programacin -ue implementan un algoritmo(
7n lengua"e de programacin4 al igual -ue un lengua"e natural4 estar5a constituido por0
7n con"unto de s5m!olos0 letras4 s5m!olos de puntuacin4 etc( +.%ico del lengua"e(
7na serie de normas para la correcta com!inacin del anterior con"unto( <ram&tica y sem&ntica del
lengua"e(
Com!inando correctamente los s5m!olos ser& capa3 de crear programas( +os programas ser&n m&s sencillos de
escri!ir cuanto m&s cercano sea el lengua"e de programacin al lengua"e /umano( En realidad son muy
parecidos al lengua"e dominante en el mundo de la inform&tica0 el ingl.s( Pero no se asuste4 esto no es un curso
de idiomas(
E(o$ucin !i"tric#
Se /a comentado pre2iamente -ue el primer lengua"e de programacin fue el lengua"e m&-uina( A continuacin
aparece el +engua"e Ensam!lador =Assembly> en un intento de sustituir indescifra!les secuencias de ceros y
unos por s5m!olos y cdigos nemot.cnicos =cdigos cuyos nom!res recuerdan la accin -ue representan> para
especificar instrucciones del cdigo m&-uina( Cada instruccin del cdigo m&-uina se corresponde con una
instruccin en lengua"e ensam!lador( Fue un primer a2ance para simplificar las tareas de programacin(
En los a8os ?@ comien3an a aparecer lengua"es de car&cter m&s /umano( En 'A?B aparece el lengua"e
FR#RAN =FORmula TRANslation> de la mano de ICD( Este lengua"e conser2a algunos 25nculos con la
m&-uina( Es un lengua"e -ue a6n se usa en entornos muy espec5ficos( En 'A?E aparece el lengua"e A+<+
=ALGOritmic Language>( En 'A?A se crea el +ISP en el DI# =Instituto #ecnolgico de Dassac/usetts>4 lengua"e
orientado al &rea de la Inteligencia Artificial(
En 'AB@ el DoD =Departamento de Defensa de EE(77(> crea el CC+ =Common Business Oriented
Language>4 lengua"e orientado a la gestin -ue /a sido durante muc/os a8os muy utili3ado en !anca y empresas
en general( En la d.cada de los B@ en la 7ni2ersidad de Darmout/ se desarrolla el CASIC =Beginners All-
Purpose Symbolic nstruction Code>4 siendo .ste un lengua"e de propsito general muy 2inculado a los
procesos de iniciacin(
En 'AF' N( Girt/ crea PASCA+( 7na de las principales caracter5sticas de este lengua"e es -ue es fuertemente
estructurado( Ser& el -ue nos acompa8e a lo largo de este curso( En la d.cada de los F@ Dennis Ritc/ie crea el
+engua"e C( C es un lengua"e de alto y !a"o ni2el a la 2e3 -ue /a presentado una e2olucin pare"a a la del
sistema operati2o 7NIH( Hoy en d5a el lengua"e C sigue siendo muty utili3ado4 se le considera de medio ni2el
por tener caracter5sticas de los dos e%tremos( +a 2enta"a es -ue sal2ando las distancias tienen muc/as analog5as
con PASCA+4 lo -ue permite -ue una persona -ue cono3ca PASCA+ pueda aprender C en muy poco tiempo(
A partir de ese momento la aparicin de nue2os lengua"es y re2isiones de los anteriores /a sido constante4 sin
mencionar numerosos lengua"es de programacin desarrollados espec5ficamente para tareas muy concretas(
#am!i.n /an surgido todo tipo de 2ariantes de los lengua"es anteriores con caracter5sticas de tipo 2isual o
a8adiendo otros paradigmas de programacin como son la programacin orientada a o!"etos4 la programacin
!asada en e2entos4 la computacin orientada a ser2icios y muc/as otras( Como posi!les e"emplos tenemos
$isual C4 $isual Casic4 CII4 Pascal rientado a !"etos4 Ja2a4 SK+4 PHP y un largo etcetera( En la direccin
/ttp0LLwww(le2ene3(comLlangL /ay un cuadro muy interesante -ue muestra la cronolog5a de ?@ lengua"es de
programacin con enlaces a la descripcin de cada uno( 7n cuadro muc/o m&s completo -ue alcan3a m&s de
)?@@ lengua"es se puede 2er en /ttp0LLpeople(Mu(eduLNnMinnersL+ang+istLE%trasLlanglist(/tm(
Con el desarrollo de las ,interfaces, gr&ficas las aplicaciones actuales se mane"an ,a golpe de ratn, por lo -ue
se /an desarrollado )err#&ient#" (i"u#$e" -ue permiten crear aplicaciones apoy&ndose en rutinas ya reali3adas
para el mane"o de 2entanas4 men6s desplega!les4 !otones4 etc( En el momento -ue se tienen claros los
conceptos de programacin !&sicos4 el salto a este tipo de programacin es muy sencillo(
Con el paso del tiempo los modelos de programacin m&s conocidos como ,paradigmas de programacin, /an
ido e2olucionando y /an surgido nue2os enfo-ues( Inicialmente la programacin en cdigo m&-uina y la
programacin en lengua"e ensam!lador esta!an fundamentadas en instrucciones -ue /ac5an operaciones y en
instrucciones -ue altera!an la e"ecucin secuencial de las mismas a tra2.s de saltos incondicionales( +a
propuesta de Girt/ a tra2.s del lengua"e Pascal asent el *#r#di%&# e"tructur#do =cual-uier programa se !asa
en tres estructuras !&sicas de programacin> y el *#r#di%&# &odu$#r =un programa est& formado por un
con"unto de su!programas -ue se encadenan entre si>( Am!os paradigmas ser&n estudiados en detalle a lo largo
de este curso y la pr&ctica totalidad =con algunas e%cepciones muy espec5ficas> de los lengua"es de
programacin utili3an am!os paradigmas como !ase4 aun-ue luego adopten otros -ue co/e%isten con los
primeros( En los a8os E@4 el paradigma de la orient#cin # o+,eto" modific la concepcin de aplicaciones(
Conceptualmente su dise8o es m&s comple"o pero facilita la reutili3acin de los programas y en cierta forma
refle"a de forma m&s natural la realidad -ue se pretende modelar a la /ora de desarrollar una aplicacin( De
todas formas4 los conceptos de la programacin estructurada y modular siguen siendo 6tiles en la programacin
orientada a o!"etos y en otros paradigmas -ue se /an ido afian3ando con el tiempo como son la programacin
!asada en e2entos4 la programacin orientada a ser2icios4 la programacin !asada en aspectos4 etc(
En general todos los lengua"es de alto ni2el tienen propiedades comunes0 el uso de sentencias simples4 la
e%istencia de 2aria!les4 e%presiones4 estructuras de control y su!programas( #odos estos conceptos y su
utili3acin ser&n o!"eto de los temas siguientes(
El lengua"e Pascal es uno de los m&s adecuados para aprender y consolidar dic/os conceptos(
2- C$#"i-ic#cin
Clasificar nunca es f&cil puesto -ue re-uiere esta!lecer a priori unos criteros concretos -ue permitan di2idir en
clases o tipos el con"unto de elementos a clasificar( Dado -ue es muy frecuente -ue estos elementos tengan
aspectos comunes4 otros con ciertos matices y otros claramente diferentes4 la clasificacin siempre puede no ser
tan rigurosa como ca!e pensar( $amos a reali3ar 2arias clasificaciones de los lengua"es de programacin en
funcin de diferentes criterios0
'( Seg6n su pro%imidad al lengua"e m&-uina0
+engua"es de !a"o ni2el0 Son distintos para cada procesador0 cada tipo de ordenador posee el
suyo( Controlan directamente los recursos /ardware de la m&-uina( Como e"emplos tenemos el
lengua"e m&-uina o el lengua"e ensam!lador =Assembly>(
+engua"es de medio ni2el0 #al y como refle"a su nom!re este grupo al!erga a-uellos lengua"es
-ue tienen algunas caracter5sticas de los de !a"o ni2el y otras de los de alto ni2el( El e"emplo m&s
representati2o es el lengua"e C(
+engua"es de alto ni2el0 Son independientes del procesador( Son m&s sencillos y legi!les pero
generan un cdigo muc/o menos eficiente =2elocidad y tama8o> -ue los de !a"o ni2el( Para
poder ser e"ecutados necesitan un procesador -ue !ien trata una 2e3 el cdigo y genera un
programa e"ecuta!le por un procesador =compiladores> o !ien lo interpretan l5nea por l5nea cada
2e3 -ue son e"ecutados =int.rpretes>( E"emplos0 Pascal4 p/p4 Ja2a4 etc(
)( Seg6n el propsito del lengua"e0
+engua"es de propsito general0 como el Pascal4 el C o incluso el Ja2a aun-ue este 6ltimo se
relaciona muc/o con las aplicaciones empresariales(
+engua"es de propsito espec5fico0 p/p orientado al desarrollo de aplicaciones Ge!4 +ISP
orientado a la inteligencia artificial4 etc(
*( Seg6n su orientacin0
+engua"es orientados al procedimiento0 son lengua"es imperati2os como Pascal en los -ue se
descri!en los pasos -ue /an de darse para resol2er un determinado pro!lema( Se e%plica como
resol2er un pro!lema(
+engua"es orientados al pro!lema0 como por e"emplo Prolog( En estos lengua"es lo -ue se
descri!e es el pro!lema en s5O son de tipo declarati2o(
+engua"es orientados a o!"eto0 son lengua"es en los -ue se modela la realidad centr&ndose en la
elementos -ue la componen(
En este curso se estudiar& un lengua"e de alto ni2el4 de propsito general y orientado al procedimiento o
imperati2o0 el lengua"e Pascal(
Len%u#,e" de A$to Ni(e$
+os lengua"es de alto ni2el !uscan0
Sencille30 ser un medio sencillo para e%presar la solucin de pro!lemas(
Simplicidad0 contar con un con"unto reducido de operaciones !&sicas y un con"unto de reglas para
com!inar las anteriores(
Eficiencia0 de manera -ue permitan una traduccin r&pida y un cdigo m&-uina los m&s eficiente
posi!le(
+egi!ilidad0 facilitando la comprensin del cdigo y presentando la posi!ilidad de a8adir comentarios
-ue aun-ue no aportan nada al propio programa4 permite -ue otros programadores o incluso el mismo
autor transcurrido el tiempo puedan comprender su contenido con facilidad( #odo esto /ace -ue sea m&s
sencillo depurar o modificar el cdigo incluso por personas -ue no lo /an reali3ado(
Porta!ilidad0 los lengua"es de alto ni2el son independientes de la m&-uina para la -ue se est. /aciendo
un determinado desarrollo( Esto permite -ue el esfuer3o de programacin no est. condicionado por la
2ariedad de plataformas en las -ue se desea e"ecutar(
C#r#cter."tic#" de $o" $en%u#,e" de #$to ni(e$
+as caracter5sticas m&s importantes -ue de!en presentar este tipo de lengua"es son las siguientes0
7tili3ar un "uego de caracteres determinado =por e"emplo4 no admiten la ,8,> y un "uego de pala!ras
reser2adas -ue constituyen el $/0ico del lengua"e((
Presentar unas reglas sint&cticas de manera -ue la estructura de los programas de!e ce8irse a las
mismas( Estas reglas conforman la %r#&1tic# del lengua"e(
#ener capacidad para la reali3acin de operaciones de tipo aritm.tico4 relacionales y lgicas incluyendo
el tratamiento de cadenas de te%to(
#ener capacidad para !ifurcar o repetir el cdigo =o partes de .l> en lugar de e"ecutarlo siempre
secuencialmente(
#ener facilidades para la programacin modular !asada en su!programas(
$eamos a continuacin -ue elementos son necesarios para la reali3acin de un programa(
3- Entorno" de *ro%r#&#cin
7n entorno de programacin es un programa o con"unto de programas -ue englo!an todas las tareas necesarias
para el desarrollo de un programa o aplicacin( Estas tareas son !&sicamente las siguientes0
Edicin del programa(
Compilacin y enla3ado(
E"ecucin(
Depuracin(
Hay -uien adem&s incluye la creacin de documentacin complementaria -ue facilita el mantenimiento del
programa dentro de estas funciones(
Este tipo de entornos incorporan numerosas /erramientas4 utilidades4 aplicaciones ya desarrolladas4 e"emplos4
tutoriales4 etc( #odas ellas encaminadas a faciltiar y me"orar el desarrollo(
Editore"
El primer elemento necesario para el desarrollo de un programa es un editor de te%to( 7n editor es un programa
-ue nos permite escri!ir =editar> las instrucciones del programa y posteriormente guardar el programa en un
fic/ero en un soporte de almacenamiento( Cual-uier editor de te%to se puede utili3ar para editar programas con
la 6nica precaucin de -ue a la /ora de guardar4 sal2ar o almacenar el programa slo se almacene el te%to sin
opciones de formato0 negrita4 estilos4 it&lica4 etc(
+o normal es utili3ar un editor especialmente preparado para la programacin( Estos tienen facilidades para la
correccin de errores4 destacan las pala!ras del lengua"e en colores4 y en general facilitan la la!or del
programador(
Proce"#dore" de$ $en%u#,e2 tr#ductore"3 co&*i$#dore" e int/r*rete"
7na 2e3 editado nuestro programa es necesario -ue este sea procesado y tranformado en denes -ue puedan ser
e"ecutadas por el ordenador( Estas rdenes por tanto de!en estar en el 6nico lengua"e -ue la m&-uina entiende0
el cdigo m&-uina( Para ello son necesarios los proceadores de lengua"e cuyo concepto es muy amplio( Dentro
de los procesadores de lengua"e destacan los traductores4 los compiladores y los int.rpretes(
7n compilador es un programa cuyo cometido es reali3ar la con2ersin de un programa escrito en
un lengua"e de programacin a su correspondiente e-ui2alente en lengua"e m&-uina( El resultado
-ue de2uel2e un compilador es un programa -ue ya puede ser e"ecutado por el ordenador destino
sin la necesidad de -ue el compilador est. presente( Por e"emplo4 el lengua"e Pascal o el lengua"e C
son lengua"es de programacin -ue necesitan ser compilados( Cuando la con2ersin se reali3a entre
el lengua"e ensam!lador =Assembly> y el cdigo m&-uina4 el compilador reci!e el nom!re espec5fico
de Ensamblador =Assembler>(
7n intprete es un programa -ue con2ierte l5nea por l5nea el programa escrito en un lengua"e de
programacin y -ue a medida -ue reali3a la con2ersin e"ecuta las instrucciones ( E2identemente el
int.rprete no de2uel2e nada ya -ue la e"ecucin se reali3a de forma simult&nea( Por este moti2o4 el
int.rprete de!e estar presente durante la e"ecucin( +engua"es de programacin -ue
tradicionalmente son interpretados son el +ISP y el CASIC(
7n traductor es el nom!re -ue reci!en a-uellos procesadores de lengua"e -ue con2ierten programas
de unos lengua"es a otros pero no generan cdigo m&-uina( Por e"emplo /ay traductores de Pascal a
C y 2ice2ersa(
Hay otros lengua"es de programacin -ue com!inan am!as estrategias como por e"emplo sucede
con el lengua"e de programacin Ja2a ( Para este lengua"e e%isten traductores -ue generan un
programa en un cdigo denominado intermedio -ue luego ser& e"ecutado a tra2.s de un int.rpre -ue
reci!e en este caso el nom!re de m&-uina 2irtual Ja2a(
En$#4#dore"
Por simplificacin y para facilitar la comprensin de los conceptos anteriores se /a se8alado -ue los
compiladores y los ensam!ladores =caso particular de compilador> generan cdigo m&-uina -ue puede ser
e"ecutado por el ordenador( Sin em!argo esto no es totalmente cierto ya -ue /ay una etapa de enla3ado -ue de!e
ser reali3ada por otro programa denominado en$#4#dor =lin!er>( +o /a!itual es -ue durante la escritura de un
programa sea necesario utili3ar otros su!programas en forma de !i!liotecas de funciones o !ien -ue el propio
programa est. formado realmente por 2arios programas almacenados en diferentes fic/eos( Esta situacin /ace
-ue durante la compilacin de cada mdulo no se cono3ca con e%actitud la u!icacin de las instrucciones del
resto de programas o !i!liotecas de funciones( El papel del enla3ador es unir en un 6nico fic/ero e"ecuta!le el
resultado de todas las compilaciones as5 como las !i!iotecas est&ticas de funciones( Es frecuente -ue el
enla3ado sea un paso m&s de la compilacin y -ue se e"ecute inmediatamente tras la compilacin de todos los
fic/eros(
Es /a!itual denominar a cada uno de los fic/eros -ue participan en el desarrollo de un programa con nom!res
gen.ricos -ue identifican en -u. fase se encuentran( Por e"emplo4 las instrucciones -ue escri!e directamente el
programador y -ue forman el programa en el lengua"e de programacin escogido como fic/eros fuente =source
file>( El resultado de la compilacin de estos programas se denomina fic/ero o!"eto =o!"ect file> y por el 6ltimo
el resultado del enla3ado fic/ero e"ecuta!le =e%ecuta!le file>( Es este 6ltimo el 6nico -ue puede entender un
ordenador sin la presencia del compilador( En el caso de los lengua"es interpretados el fic/ero fuente es
directamente interpretado y e"ecutado por el interprete(
De*ur#dore"
7na 2e3 editado y compilado el programa es necesario e"ecutarlo =run en ingl.s>4 pero es /a!itual -ue durante
el desarrollo de una aplicacin -ue generen fic/eros e"ecuta!les -ue aun-ue sean correctos desde un punto de
2ista sint&ctico no realicen lo -ue realmente se espera de ellos por lo -ue se consideran -ue no funcionan
correctamente( +os de*ur#dore" =debuggers> son capaces de e"ecutar el programa paso a paso incluyendo
adem&s un con"unto de facilidades -ue permiten o!ser2ar el 2alor de las 2aria!les y estructuras de datos
permitiendo as5 una me"or locali3acin de errores no e2identes(
UNIDAD 2 -ALGORITMOS
'( Fases en el Desarrollo del Software
)( Nocin de Algoritmo
*( Representacin de Algoritmos
P( Programacin modular y estructurada
1- 5#"e" en e$ De"#rro$$o de$ So-t6#re
Es demasiado frecuente -ue a la /ora de desarrollar un programa o aplicacin el programador empiece a
escri!ir l5neas de cdigo como un poseso sin pararse a pensar -u. es lo -ue -uiere /acer4 cmo lo 2a a reali3ar y
-u. pro!lemas se 2a a encontrar( Ela!orar programas con este enfo-ue es m&s una tarea artesanal -ue arro"a con
alta pro!a!ilidad soluciones inadecuadas( +o /a!itual desde el punto de 2ista de la ingenier5a del software es
seguir una metodolog5a con mayor o menor rigurosidad y precisin -ue sin duda de!e adaptarse a las
caracter5stcas y a la naturale3a del proyecto( A grandes rasgos y sin entrar en detalles -ue se saldr5an de los
o!"eti2os de este curso4 las fases -ue permiten llegar desde el planteamiento de un pro!lema a la o!tencin de
la apliacin inform&tica -ue lo resuel2en son los siguientes0
An&lisis y especificacin de re-uisitos
Dise8o del programa
Codificacin del programa
Prue!a del programa
Dantenimiento del programa
An1$i"i" 7 e"*eci-ic#cin de re8ui"ito"
Esta fase es fundamental a la /ora de afrontar la resolucin de cual-uier pro!lema( Consiste en reali3ar una
descripcin clara y completa -ue suele comen3ar con una descipcin te%tual general -ue 2a siendo refinada y
concreta /asta culminar con enumeracin de un con"unto de re-uisitos( Durante esta fase se pueden utili3ar
numerosas t.cnicas de &nalisis !asadas en gran medida en diagramas -ue representan los datos4 las relaciones
-ue e%isten entre ellos4 el flu"o de los mismos y los algoritmos de procesamiento -ue los manipulan( El grado
de precisin y refinamiento de todos ellos esta!lece el grado de a!straccin del an&lisis y depende de
numerosos factores entre los -ue destacan las caracter5sticas del propio pro!lema =no se re-uiere el mismo
an&lisis para desarrollar un programa -ue resuel2a ecuaciones de segundo grado -ue uno para -ue controlar el
aterri3a"e de una aerona2e> y la e%periencia de los programadores(
El an&lisis y la especificacin de re-uisitos proporciona un documento -ue no solo permite afrontar la tarea de
dise8o siguiente sino -ue adem&s es un documento -ue permite -ue los promotores y usuarios de la aplicacin
puedan compro!ar si el analista /a comprendido la naturale3a del pro!lema -ue se pretende resol2er( En esta
fase4 por lo tanto4 es muy importante -ue participen tanto los desarrolladores como los propios promotores y
usuarios( Esta fase es crucial para el .%ito del proyecto y en resumen es la -ue permite determinar 8u/ /ay -ue
/acer((
Di"e9o
7na 2e3 -ue el an&lisis /a permitido especificar lo -ue ,tenemos -ue /acer, y los re-uisitos -ue de!en
cumplirse es momento de determinar c&o lo 2amos a reali3ar( Hay -ue determinar el m.todo -ue 2amos a
seguir para resol2er el pro!lema4 -u. partes o !lo-ues 2a a tener el programa4 -u. lengua"e de programacin se
2a a utili3ar4 etc(
Se de!en tener en cuenta las siguientes premisas0
Por un lado procurar4 en la medida de lo posi!le4 minimi3ar el coste4 tama8o y tiempo de e"ecucin de
a-uello -ue se est. desarrollando( No ol2idemos -ue las empresas y los programadores intentan ganar
dinero(
Por otro lado4 o!tener la m&%ima facilidad de uso4 fia!ilidad4 fle%i!ilidad y sencille3 de mantenimiento(
Codi-ic#cin
Consiste en e%presar la solucin del pro!lema en un lengua"e de programacin( Hay -ue destacar -ue /asta esta
fase no se escri!e ni una l5nea de cdigo( Adem&s4 si las fases pre2ias son correctas y completas4 el tra!a"o de
codificacin suele ser !astante directo(
Prue+#
En esta fase4 una 2e3 codificado y compilado el programa4 se !uscan las ,cos-uillas, al programa( +o principal
es pro!ar -ue el programa funciona correctamente seg6n las especificaciones del cliente( Por ello de nue2o
2uel2e a tomar importancia la fase de analisis ya -ue las prue!as de!en estar dirigidas por lo -ue all5 se /a
recogido( De /ec/o4 la fase de prue!a suele estar definida durante el propio an&lisis y en la codificacin se
reali3an algunas prue!as espec5ficas -ue permiten o!tener un cdigo m&s fia!le( +a fase de prue!as a pesar de
-ue para los programadores no2eles no suele ser una fase muy ,atracti2a, por-ue entienden -ue el producto ya
est& ela!orado4 resulta crucial para -ue el programa o aplicacin pueda ponerse en produccin =en uso real> con
las m5nimas garantias de seguridad( Durante esta fase se de!en e2aluar tam!i.n las situaciones no pre2istas en
el uso normal pero -ue puedan producirse durante el uso del mismo(
Para -ue se /aga una idea de lo importante de esta fase4 en las empresas de cierto tama8o las personas -ue
desarrollan el programa son distintas de las -ue lo prue!an( 1 en aplicaciones con riesgo para la 2ida /umana
=/ospitales4 centrales nucleares4 aeropuertos4 etc(> la fase de prue!a puede suponer un E@Q del tiempo total de
desarrollo(
M#nteni&iento
7na 2e3 -ue se /a pro!ado suficientemente el programa se le entrega al cliente( Este lo usa y lo ideal es -ue en
principio -uede satisfec/o con el resultado( No o!stante y a pesar de todos los esfuer3os4 los an&lisis
concien3udos y las prue!as4 pueden aparecer errores -ue impli-ue la!ores de &#nteni&iento correcti(o( Por
otro lado4 con el paso del tiempo pueden aparecer especificaciones -ue no esta!an contempladas en el an&lisis
!ien por-ue son nue2as o por cam!ios en factores e%ternos4 dando lugar a la necesidad de reali3ar operaciones
de &#nteni&iento #d#*t#ti(o( Adem&s puede ser prudente reali3ar modificaciones en pre2isin de pro!lemas
-ue aun-ue no se /ayan producido pueden ser fruto de pro!lemas en un futuro dando lugar a las operaciones de
&#nteni&iento *redicti(o(
De"#rro$$o en c#"c#d#
+os ciclos de 2ida en el desarrollo de una aplicacin pueden seguir diferentes enfo-ues4 aun-ue en una primera
toma de contacto con el mundo de la programacin4 el modelo m&s utili3ado es el denominado ciclo en cascada4
en el -ue cada fase se realice de forma secuencial pero con cierto grado de solapamiento =se inician etapas antes
de culminar las anteriores> y con caracter c5clico =se 2uel2en a etapas anteriores>( Aun-ue en el ciclo ideal4 las
fases se de!en suceder una tras otra4 lo normal es -ue /aya la mencionada realimentacin y solapamiento( Sin ir
m&s le"os4 si encontramos errores en la fase de prue!as tendremos -ue regresar a la fase de codificacin4 y si el
error es de dise8o o de an&lisis4 tendremos -ue regresar a las primeras fases y replantear nuestra solucin( Este
ciclo de 2ida no es el 6nico pero al ni2el de este curso es suficiente(

Durante el ciclo de 2ida de un desarrollo cada fase genera un con"unto de documentos -ue permiten afrontar las
fases siguientes y -ue finalmente constituye la documentacin asociada al proyecto la cual es crucial para
afrontar todos las operaciones de mantenimiento( +a documentacin de!e incluir manuales para los diferentes
tipos de usuarios =administradores4 programadores y usuarios finales>(
2- Nocin de A$%orit&o"
Conce*to de A$%orit&o
Se define A$%orit&o como el con"unto de pasos necesarios para resol2er un pro!lema( Por su naturale3a el
algoritmo es pre2io al programa4 de /ec/o se puede definir programa como un algoritmo e%presado en un
lengua"e de programacin determinado( El algoritmo asociado a un pro!lema no es 6nico por lo -ue con2iene
anali3ar en detalle las diferentes opciones antes de tomar una decisin( El algoritmo de!e ser independiente del
lengua"e de programacin en el -ue se -uiera desarrollar y de la m&-uina u ordenador en la -ue posteriormente
se e"ecute el programa4 aun-ue ciertamente a medida -ue se desciende en el ni2el de a!straccin y se concretan
los detalles del algoritmo pueden aparecer t.cnicas asociadas al lengua"e de programacin con el -ue se tiene
pre2isto implementar la solucin( (
E,e&*$o de #$%orit&o
Se desea resol2er el siguiente pro!lema0 calcular el "alor medio de una serie de n#meros positi"os
$ue se leen desde el teclado( %n "alor cero o negati"o indicar& el 'inal de la serie( El te%to anterior
constituye el enunciado del pro!lema -ue se desea resol2er y por lo tanto es la especificacin ,en
!ruto, -ue de!e ser refinada( +a naturale3a de cada pro!lema es diferente y por lo tanto el
programador no tiene por-u. conocer los detalles y los m.todos asociados a cada pro!lema( Eso
/ace necesario a8adir informacin -ue e%pli-ue con precisin el proceso al -ue se someter&n los
datos de entrada para proporcionar los resultados de salida( En este e"emplo0 (l "alor medio de un
con)unto de n#meros es el resultado de sumarlos y di"idir dic*a suma por el n#mero de elementos(
Por lo tanto necesitamos ir contando el n6mero de 2alores -ue se suman e ir acumulando su suma(
Con toda esta informacin se propone el siguiente algoritmo e%presado en un lengua"e ,casi-"erbal,
conocido como pseudocdigo(
Algoritmo0
'( Inicio
)( Poner el contador de n6meros =C> y la suma =S> a cero
*( +eer un n6mero
P( Si el n6mero es positi2o
'( Sumar el n6mero a la suma S
)( Incrementar en ' el contador de n6meros C
*( +eer el siguiente n6mero
P( Ir al paso *
?( Calcular el 2alor medio =SLC>
B( Escri!ir el 2alor medio
F( Fin
Podemos o!ser2ar -ue slo pasaremos al punto P =calcular el 2alor medio> cuando al e"ecutar el
paso * el n6mero no sea positi2o(
!ser2emos en esta ta!la como se 2an modificando S y C a medida -ue 2amos leyendo 2alores4
utili3ando para ello una secuencia de n6meros de entrada cual-uiera =*4?4P4A4E4B4R)>(
ENTRADA S C S/C
0 0
3 0+3=3 0+1=1
5 3+5=8 1+1=2
4 8+4=12 2+1=3
9 12+9=21 3+1=4
8 21+8=29 5+1=5
6 29+6=35 5+1=6
-2 35 6 35/6=5,83
C#r#cter."tic#" de un #$%orit&o
7n algoritmo de!e ser0
Preciso =instrucciones claras y concretas> y ordenado(
Determinista =-ue el resultado sea el mismo al e"ecutarlo 2arias 2eces con los mismos datos de entrada>(
Finito =-ue termine su e"ecucin !a"o las condiciones pre2istas>(
Adem&s4 el dise8o de un algoritmo0
De!e ser descendente4 de arri!a /acia a!a"o =top-do+n>4 di2idiendo el pro!lema en su!pro!lemas(
De!e presentar un grado de refinamiento sucesi2o4 es decir4 se trata de ir detallando la descripcin en
cada paso(
+a representacin del algoritmo4 de cara a su especificacin mediante una /erramienta de programacin4
se /ar& mediante diagramas yLo pseudocdigo(
Intentemos e%plicar estas caracter5sticas con otro e"emplo0
Supongamos -ue el pro!lema a resol2er sea calcular el 2olumen de un cilindro( 91 para -u.: En
nuestro caso 2amos a instalar unos paneles solares para calentar agua4 y tenemos el tama8o del
depsito4 pero no el agua -ue es capa3 de almacenar(
Por suerte4 re2isando el 2ie"o li!ro de geometr5a4 encontramos -ue el 2olumen de un cilindro es el
resultado de multiplicar su !ase por su altura( 91 cu&l es su !ase: Hu!o suerte4 en la misma p&gina
encontramos -ue la !ase se o!tiene multiplicando el radio al cuadrado por la constante PI(
SPro!lema resueltoT(
A la /ora de trasladar este ra3onamiento al mundo de la programacin comen3ar5amos por di2idir el
pro!lema en su!pro!lemas4 los cuales pod5an ser0
+eer datos
Reali3ar c&lculos
Escri!ir resultados
Cien4 parece sencillo( #enemos claramente diferenciadas tres partes del programa( SDi2ide y
2encer&sT
A/ora se /ace necesario ir detallando un poco m&s las partes anteriores( Esto es lo -ue llamamos
refinamiento sucesi2o( 7na posi!le solucin ser5a la siguiente0
+eer datos estar5a compuesto por otras su!tareas -ue ser5an0
+eer Radio r
+eer Altura /
Reali3ar c&lculos se descompondr5a en0
Calcular !ase U PI V r V r
Calcular 2olumen U !ase V /
Escri!ir resultados -uedar5a simplemente0
Escri!ir 2olumen
3- Re*re"ent#cin de A$%orit&o"
Hemos estudiado -ue un algoritmo de!e ser independiente del lengua"e de programacin -ue posteriormente se
utilice =con algunos matices>( Esto implica -ue el m.todo -ue usemos para la representacin de un algoritmo
tam!i.n de!e ser independiente del lengua"e de programacin(
#radicionalmente se /an utili3ado dos formas para representar algoritmos4 aun-ue actualmente e%isten multitud
de t.cnicas tanto gr&ficas y te%tuales -ue est&n dise8adas para representar diferentes aspectos de los algoritmos
y de los datos asociados a una aplicacin( No o!stante en una primera apro%imacin al mundo de la
programacin las m&s destacadas son las siguientes0
Diagramas de Flu"o
Pseudocdigo
+a primera de ellas es una forma de representacin gr&fica de las estructuras de control -ue tendr& nuestro
programa y -ue estudiaremos en el tema Estructuras de Control( +a segunda consiste en crear un lengua"e de
programacin gen.rico -ue pueda ser ser trasladado con facilidad a cual-uier otro lengua"e de programacin(
Este lengua"e por su enfo-ue es un pseudo-lengua)e similar al -ue /emos usado en los e"emplos pre2ios y -ue
ser& la -ue usemos en este curso(
Di#%r#&#" de 5$u,o
7tili3a s5m!olos =ca"as de distinta geometr5a> unidos por flec/as =l5neas de flu"o> -ue indican el orden o
direccin del flu"o del programa(
Algunos de los s5m!olos utili3ados son0

En el tema estructuras de control se estudiar& la representacin mediante diagramas de flu"o de las estructuras
de control !&sicas de la programacin(
4- Pro%r#&#cin Modu$#r 7 E"tructur#d#
En este apartado estudiaremos0 los dos paradigmas de programacin m&s utili3ados4 aun-ue no son los 6nicos4
-ue se !asan por un lado en la descomposicin de un determinado pro!lema en mdulos independientes
=Programacin Dodular>4 y la programacin de cada mdulo mediante m.todos estructurados =Programacin
Estructurada>(
El primero se fundamenta en el sa!io conse"o de ,di(ide 7 (encer1",4 mientras -ue el segundo se fudnamenta
en -ue cual-ueir algoritmo puede ser ela!orado utili3ando e%clusi2amente tres estructuras !&sicas de control (
$amos a desglosar un poco m&s estos conceptos(
Pro%r#&#cin Modu$#r
En este paradigma0
El programa se di2ide en mdulos independientes cada uno de los cuales e"ecuta una determinada tarea
-ue resuel2e un pro!lema concreto(
E%istir& un mdulo denominado mdulo principal -ue ser& el encargado de transferir el control a los
dem&s mdulos =denominados su!mdulos>( Su funcin principal es ser el /ilo conductor del programa(
Al ser los mdulos independientes se pueden desarrollar y pro!ar simult&neamente y con alta
independencia( El o!"eti2o es conce!ir mdulos de!ilmente acoplados =independientes unos de otros> y
con alta co/esin =cada mdulo sir2e para algo concreto>
+as 2enta"as ser&n una mayor claridad y legi!ilidad4 gran facilidad para modificar los programas y
reduccin del coste del desarrollo(
Por otra parte4 si /ay partes o c&lculos de nuestro programa -ue se repiten4 se codificar&n como mdulo una
6nica 2e3 y se llamar& 2arias 2eces a ese mdulo desde donde /aga falta( +os mdulos reci!en datos de entrada
denominados par&metros -ue son procesados internamente para de2ol2er un con"unto de resultados(
!2iamente tanto los par&metros como los resultados no son siempre imprescindi!les(
+a Programacin Dodular sigue un dise8o descendente =top-do+n> -ue significa -ue primero se de!e
especificar -u. es lo -ue se -uiere /acer glo!almente y a continuacin se 2a desglosando esa tarea principal en
su!tareas4 cada una de las cuales da lugar a uno o 2arios mdulos( Esta t.cnica re-uiere de un refinamiento
sucesi2o /asta llegar a un ni2el de su!tareas a!orda!les con facilidad
Pro%r#&#cin E"tructur#d#
+a Programacin estructurada parte de la premisa -ue afirma -ue cual-ueir algoritmo puede ser organi3ado
utili3ando e%clusi2amente tres estructuras de control0
Secuencial
Selecti2a
Repetiti2a
El utili3ar las t.cnicas de la programacin estructurada implica una disminucin en el tiempo -ue se dedica a la
2erificacin4 depuracin y mantenimiento de las aplicaciones( Esto implica menor coste en el desarrollo y
mayor calidad en el producto(
Comentario sobre los ejemplos
(s muy 'recuente en los libros o cursos de programaci,n encontrar numerosos e)emplos de
problemas matem&ticos o cient-'icos. No debemos ol"idar $ue la programaci,n surge en el entorno
de la ngenier-a y $ue una de las grandes "enta)as de los ordenadores es precisamente el reali/ar
c&lculos num0ricos a gran "elocidad. A pesar de ello1 intentaremos eliminar el mayor n#mero
posible de estos e)emplos y sustituirlos por problemas m&s cotidianos.
UNIDAD 3- PASCAL
'( Introduccin
)( Estructura de un programa en Pascal
*( !"etos de un programa
P( Nuestro primer programa
1- Introduccin
El lengua"e de programacin Pascal surge a finales de los a8os B@( Su moti2acin era puramente acad.mica e
intenta!a desarrollar un lengua"e -ue refle"ara los conceptos de la programacin estructurada( El lengua"e se fue
propagando r&pidamente en el entorno acad.mico e incluso origin otros lengua"es de programacin(
Pero fue a partir de los a8os E@ con la aparicin de los compiladores de Corland =#ur!o Pascal y posteriormente
Corland Pascal> cuando el lengua"e se /i3o popular en todos los &m!itos( Estos compiladores un5an calidad y
muy !uen precio e incorpora!an /erramientas y utilidades -ue facilita!an la creacin de programas( El
fa!ricante Corland fue sacando al mercado 2ersiones de dic/o compilador y finalmente con el auge del
desarrollo de aplicaciones para los entornos gr&ficos puso en el mercado una /erramienta llamada Delp/y
!asada en Pascal( Hoy en d5a los desarrollos de #ur!o Pascal se /an -uedado o!soletos aun-ue las
caracter5sticas y elementos introducidos son considerados un est&ndard ,de facto,4 por ello es /a!itual -ue los
compiladores de Pascal se8alen la compati!ilidad con los compiladores de Corland( Actualmente e%isten
di2ersos compiladores de Pascal -ue permite reali3ar todas las acti2idades de este curso( Se incluye un
compilador gratuito de f&cil instalacin y uso para plataformas Gindows y se dan referencias a otras
alternati2as para -ue el alumno tenga li!ertad a la /ora de elegir su entorno de tra!a"o( El cam!io a otro
compilador4 entorno o sistema operati2o no de!e suponer ninguna dificultad(
Hay una p&gina muy interesante en /ttp0LLwww(nac/oca!anes(comLpascal en la -ue aparecen diferentes enlaces
a compiladores de Pascal4 as5 como material complementario y e"ercicios -ue puede ser muy 6tiles para el
alumno interesado en profundi3ar y practicar con este lengua"e(
Por otro lado la Ge! tiene numerosas referencias al lengua"e4 a su /istoria4 a las caracter5sticas y por supuesto a
las m6ltiples /erramientas de desarrollo -ue se /an ido produciendo( A modo de e"emplo la GiMipedia tanto en
espa8ol como en ingl.s tienen informacin y enlaces de inter.s(
/ttp0LLes(wiMipedia(orgLwiMiLPascalW=lengua"eWdeWprogramaciQC*QC*n>
/ttp0LLen(wiMipedia(orgLwiMiLPascalW=programmingWlanguage>
2- E"tructur# de un *ro%r#&# en P#"c#$
Antes de continuar tenemos -ue pre2enirle0 no se asuste si la cantidad de conocimientos y conceptos -ue se le
2iene encima le parece e%cesi2a( El propsito de este apartado es proporcionar una 2isin glo!al de un
programa en Pascal( #oda25a no tenemos la !ase suficiente para comprender en profundidad todos los
componentes de un programa4 pero es interesante 2er el aspecto glo!al(
+a estructura gen.rica de un programa ser5a la siguiente0
program nombre_del_programa ;
uses
unidades;
const
ons!_1 = "alor_1;
ons!_2 = "alor_2;
type

!ipos_de#inidos_por_el_usuario;
var
delarai$n_de_"ariables;
%&& 'uniones ( proedimien!os &&)
procedure

de#iniiones_de_proedimien!os;
function
de#iniiones_de_#uniones;
%&& *uerpo del programa &&)
begin
sen!enias;
end.
$ayamos e%plicando a continuacin cada una de estas partes(
*ro%r#&
Esta pala!ra marca el principio de un programa y 2a acompa8ada del nom!re -ue le 2amos a dar a nuestro
programa( $a seguida de un punto y coma -ue es el separador de sentencias( 7no de los errores -ue se de!e
e2itar es utili3ar el nom!re del programa -ue aparece a continuacin de la pala!ra program en otros elementos
de nuestro programa4 por lo tanto de!e ser 6nico en todo el desarrollo y no de!e incluir espacios en !lanco ni
caracteres -ue no pertene3can al l.%ico del lengua"e( En el apartado siguiente se e%plican las reglas para
construir identificadores(
*ro%r#& e"emplo:
u"e"
Esta pala!ra reser2ada 2a seguida de los nom!res de las unidades =units> -ue utili3a nuestro programa( Pero4
9-u. son las unidades: Son lo -ue en otros entornos se conocen como !i!liotecas( Son un con"unto de
utilidades de las -ue un programador puede disponer para construir su programa( Algunas las proporciona el
entorno de programacin y otras se las puede construir usted mismo o las puede proporcionar un tercero(
con"t3 t7*e 7 (#r
En nuestro programa necesitaremos almacenar nuestros resultados en lo -ue se llaman 2aria!les y es posi!le
-ue utilicemos 2alores =n6meros4 letras4 etc(> -ue no cam!ien durante la e"ecucin del programa llamadas
constantes( Por 6ltimo es posi!le -ue el programador se cree estructuras de datos =una forma de agrupar la
informacin> a"ustadas a las necesidades de su programa dando lugar a los denominados tipos definidos por el
usuario(
*rocedure 7 -unction
Cuando en temas anteriores se menciona!a la programacin modular se afirma!a -ue era con2eniente
descomponer los programas en partes denominadas mdulos o su!programas( +a forma de descomponer el
programa en mdulos -ue proporciona Pascal son las funciones y los procedimientos(
+e%in - end
Este es el cuerpo del programa principal( Es el lugar donde comien3a a e"ecutarse el programa4 y la pala!ra
reser2ada end marca su punto final( Es lo -ue se denomina mdulo principal en teor5a de programacin(
3- O+,eto" de un *ro%r#&#'
L/0ico de un *ro%r#&# P#"c#$
Se denomina l.%ico de un lengua"e a todas a-uellas pala!ras =to!ens> -ue puede tener un programa( Con el
l.%ico se construyen los programas en Pascal( Dentro del le%ico destacan0
Pala!ras reser2adas(
Identificadores(
Comentarios(
Separadores(
S5m!olos especiales(
P#$#+r#" re"er(#d#"
Reci!en este nom!re por-ue tienen un significado especial para el compilador( 1a /emos 2isto algunas de ellas0
program4 2ar4 const4 procedure4 function4 !egin4 end(
El listado completo de las pala!ras reser2adas en Pascal no es muy e%tenso4 aun-ue /ay -ue se8alar -ue los
diferentes fa!ricantes de compiladores /an introducido algunas con o!"eto de aumentar las prestaciones del
lengua"e Pascal( No o!stante las -ue se consideran Pascal est&ndard son las siguientes0
and array !egin case const
di2 do downto else end
file for function goto if
in la!el mod nil not
of or pacMed procedure program
record repeat set t/en to
type until 2ar w/ile Git/(
Identi-ic#dore"
+os identificadores permiten nom!rar o referenciar diferentes elementos en un programa( El primer
identificador -ue se /a utili3ado es el nom!re del programa -ue aparece "unto a la sentencia program( Por otro
lado los identificadores permiten ,!auti3ar, a los su!programas =procedimientos y funciones>4 a los tipos de
datos y a los propios datos de cada programa0 2aria!les y constantes( 7n identificador es una cadena de
caracteres -ue de!e cumplir0
'( De!e comen3ar por una letra =a((3 o A((X> y no puede contener !lancos(
)( A partir del primer car&cter est&n permitidos d5gitos y el car&cter de su!rayado =W>(
*( No se pueden utili3ar pala!ras reser2adas como identificadores
Si nuestro programa intenta calcular el saldo medio de una cuenta corriente4 seguramente necesitaremos un dato
para almacenar dic/o saldo y su identificador podr5a ser0
saldo_medio
Es importante -ue los identificadores tengan un cierto nom!re significati2o -ue refle"e el contenido ya -ue esto
ayuda a la /ora de leer y modificar el cdigo( #am!i.n es importante destacar -ue Pascal no distingue entre
may6sculas y min6sculas4 por lo tanto son el mismo identificador saldo -ue Saldo4 SA+D saldo(
Co&ent#rio"
7n comentario es un te%to e%plicati2o situado en el cdigo fuente del programa( Este te%to es ignorado por el
compilador pero facilita la legi!ilidad y comprensin del cdigo por parte de otro programador o del propio
autor una 2e3 transcurrido cierto tiempo desde su desarrollo( En definiti2a es una forma de incluir anotaciones
directamente so!re el cdigo del programa((
91 cmo distingue el compilador los comentarios del programa: Para -ue un te%to se considere comentario
de!e ir encerrado entre =V y V>0
;< Este es el formato de comentario <=
con el siguiente formato adicional en los compiladores de #ur!o Pascal0
> Esto es un comentario ?
+os comentarios son de gran importancia para dar claridad al cdigo e imprescindi!les en las fases de puesta a
punto y mantenimiento(
S.&+o$o" e"*eci#$e"
Son s5m!olos formados por uno o m&s caracteres con un significado espec5fico( Hemos 2isto algunos0 el punto
y coma como separador de sentencias o el punto final -ue da lugar al fin de nuestro programa( #am!i.n forman
parte de estos los operadores matem&ticos( El listado completo es el siguiente0
I R V L U Y Z [ \ ( 4 = >
0 O ] ^ _ ` a b YU ZU 0U =V V>
Se*#r#dore"
Para -ue las pala!ras reser2adas4 identificadores o s5m!olos sean distingui!les unos de otros /acen falta
separadores( Es Pascal se usan como separadores el espacio en !lanco4 el ta!ulador o el car&cter de nue2a l5nea
=Intro>( Adem&s los separadores permiten dar claridad a la lectura del cdigo(
4- Nue"tro *ri&er *ro%r#&#( =Internet>
UNIDAD 4- TIPOS
'( #ipos Simples
)( $aria!les y constantes
*( E%presiones
P( Sentencias !&sicas
1- Ti*o" Si&*$e"'
Ti*o" de D#to"
Comen3aremos diciendo -ue por dato se entiende la informacin -ue el ordenador mane"a para reali3ar la tarea
especificada y o!tener los resultados esperados(
Si nuestro programa gestiona las nminas de la empresa4 datos ser&n los nom!res de los empleados4 sus
sueldos4 direcciones4 estado ci2il4 NIF4 etc(
Como podemos imaginar4 toda esta informacin no se representa de la misma forma4 y definiremos Tipos de
2atos como las distintas maneras e%istentes de representar la informacin(
C$#"i-ic#cione" de Ti*o" de D#to"
Podemos esta!lecer diferentes clasificaciones atendiendo a di2ersos criterios0
Seg6n su comple"idad0
'( #ipos de Datos Simples =o !&sicos>(
)( #ipos de Datos Estructurados =con"unto o agrupacin de datos simples relacionados de alguna
forma>(
Seg6n su gestin0
'( Est&ticos0 a-uellos en los -ue el tama8o est& fi"ado antes de e"ecutarse el programa(
)( Din&micos0 a-uellos en los -ue el tama8o puede cam!iar durante la e"ecucin del programa(
Realmente /ay numerosas clasificaciones4 muc/as de ellas en funcin del lengua"e de programacin so!re el
-ue se /agan( Intentaremos ser gen.ricos y aplicar posteriormente estas clasificaciones al lengua"e Pascal(
Ti*o" de D#to" Si&*$e"
Dentro del con"unto de los tipos de datos simples nos encontramos0
Num.ricos
+gicos
Car&cter
D#to" nu&/rico"
Se usan para representar el con"unto de 2alores num.ricos y se pueden distinguir dos tipos0
EN#ERS0 representan un su!con"unto finito de los n6meros enteros( Puede considerar un
n6mero entero a-uel -ue no necesita de decimales para su representacin4 como por
e"emplo4 el n6mero de /i"os4 el n6mero de /a!itaciones de un piso4 etc(
REA+ES0 son lo -ue conocemos como n6meros decimales( Sin ir m&s le"os4 si
representamos el salario en Euros necesitaremos usar un n6mero real para no perder
precisin y poder incluir los c.ntimos de euro(
En Pascal el tipo entero se corresponde con el tipo inte%er( Este tipo tiene un rango finito4 lo -ue
significa -ue no se puede almacenar cual-ueir n6mero entero ya -ue la capacidad est& fi"ada de
forma pre2ia( En concreto4 los enteros -ue se pueden representar incluyen todos los 2alores desde
R*)FBE /asta *)FBF4 y tal como se /a se8alado no pueden tener decimales(
El tipo real en Pascal se corresponde con el tipo de mismo nom!re0 re#$( Se puede representar este
tipo en0
Notacin punto decimal(
+a parte entera primero4 un punto como separador y la parte decimal( Importante4 el
separador de decimales es el car&cter punto =no la coma>( E"emplos0
+,3
0,125
9,0 -para di#ereniarlo del en!ero 9.
5! " no v#$ido pues uti$i%a $a coma en ve%
de$ punto &

Notacin cient5fica(
+a codificacin en notacin cient5fica o coma flotante consiste en escri!ir el n6mero
utili3ando primero una mantisa =D> multiplicada por la !ase '@ =D> ele2ada a un e%ponente
=e%p>( D esta forma el n6mero N cumpla0
N U D % '@
e%p
(
1 esto se representa como D E e%p( E"emplos0
2,345/22 es 2,345 0 10
22
9,0/-2 es 9,0 0 10
-2

No se preocupe0 Para un uso no t.cnico posi!lemente no necesite utili3ar esta notacin nunca(
D#to" $%ico"
Son a-uellos -ue slo pueden tomar dos 2alores0
$alor $ERDADER0 Si4 Cierto( sus correspondiente en ingl.s0 true4 on(
$alor FA+S0 No4 Falso( en ingl.s0 false4 off(
Este tipo de dato sir2e para almacenar informacin del tipo $ERDADER o FA+S( Por e"emplo0
9est& la lu3 encendida: Slo tenemos dos posi!ilidades0 SI o N( 4 9es usted mayor de edad:(
9#iene usted carnet de conducir:( Como 2emos4 es un tipo de dato muy frecuente en la 2ida real(
El comportamiento de este tipo de datos se rige seg6n la l,gica booleana4 ya -ue fue el matem&tico
Coole el -ue la cre( Como los ordenadores finalmente slo entienden de ceros y unos se asocia el
2alor $ERDADER con el 2alor num.rico ' y el 2alor FA+S con el cero(
El lengua"e Pascal representa este tipo de datos mediante la pala!ra reser2ada +oo$e#n y sus dos
estados posi!les son true y -#$"e(
$eremos pr%imamente las operaciones posi!les so!re este tipo de datos(
D#to" ti*o c#r1cter
Este tipo de datos0
Representa el con"unto finito y ordenado de caracteres -ue el ordenador es capa3 de
reconocer(
Aun-ue no es algo fi"o4 la mayor5a de las 2eces se utili3a la codificacin con los est&ndares
ASCII o ECCDIC4 pudiendo reconocerse los siguientes su!con"untos0
Caracteres alfa!.ticos0 a4 !4 c4(((434 A4 C4 C4(((4X(
Caracteres num.ricos0 @4 '4 )4(((4A(
Caracteres especiales0 I4 R4 V4 L4 ]4 O4 Y4 Z4 a(
En Pascal el tipo car&cter se representa con la pala!ra reser2ada c)#r(
E%iste un tipo muy relacionado con el tipo de datos car&cter -ue se denomina tipo cadena( 7na
cadena =tam!i.n llamada string> es una secuencia de caracteres delimitados por comillas simple
=entre comillas simples>( E"emplo0 cEsto es una cadenac4 cErrorc4 c)*Fc( Por longitud de la cadena se
entiende el n6mero de caracteres -ue componen la misma(
En Pascal el tipo cadena o string se representa mediante la pala!ra reser2ada "trin%( En el tema de
ta!las =F> /a!laremos nue2amente de este tipo(
Otro" ti*o" de d#to"2
En funcin del lengua"e de programacin4 pueden aparecer otros tipos de datos4 -ue podr5an ser
alguno de estos0
Comple"os0 pare"a ordenada de n6meros reales
Enumerados0 2alores de entre un con"unto de enteros
Su!rango0 su!con"unto de enteros(
Con"untos
Pascal si incluye los tipos enumerados4 su!rango y con"untos4 aun-ue no tra!a"aremos con ellos en
este curso
2- @#ri#+$e" 7 con"t#nte"'
Decimos -ue son con"t#nte" a-uellos datos -ue no sufren cam!ios a lo largo de la e"ecucin de un programa(
+as (#ri#+$e"4 por contra4 son datos -ue si est&n su"etos a cam!ios durante la e"ecucin(
Con"t#nte"
7na definicin podr5a ser la de cual-uier 2alor inaltera!le -ue aparece en el programa( +as constantes pueden
ser de distintos tipos -ue se corresponden con los 2istos en el apartado anterior0
De tipo num0rico
Pueden ser enteras =FFFF4 P*4 R*P> reales =P(*)'4 R*)(P?>
De tipo l,gico
Pudiendo estar fi"adas al 2alor $ERDADER o al 2alor FA+S =trueL-#$"e>(
De tipo car&cter
Por e"emplo0 cCc4 coc4 cc4 c@c4 cIc(
Dentro de estas se pueden considerar las de tipo cadena0cesto ser5a una constante de cadenac
+as constantes se denominan sin nom!re cuando aparece su 2alor directamente en el cdigo( Por otro lado4 las
constantes denominadas con nom!re se les asigna un identificador al principio del programa y su 2alor
asociado( +a 2enta"a de las constantes con nom!re es -ue si el programado decide modificar el 2alor asociado
no necesita !uscar en todo el cdigo del programa las 2eces -ue /a /ec/o referencia a dic/a constante(
@#ri#+$e"
+as 2aria!les se utili3an para almacenar 2alores -ue pueden cam!iar en el transcurso de la e"ecucin del
programa( Sin em!argo solamente pueden tomar 2alores de un tipo0 a-uel al -ue pertenecen =num.rico4
lgico4 car&cter>(
Se designan mediante un identificador( El identificador o nom!re de una 2aria!le estar& compuesto por
2arios caracteres4 no de!iendo coincidir con ninguna pala!ra reser2ada y cumpliendo las normas de los
identificadores( Normalmente el primer car&cter ser& una letra( El nom!re de la 2aria!le es
recomenda!le -ue tenga relacin con a-uello -ue representa =2elocidad4 resultado4 resultadoWsuma4
2olumen>(
Para poder utili3ar una 2aria!le es necesario /a!erla declarado pre2iamente( Declarar una 2aria!le es
sencillamente dar cuenta de su e%istencia e%pl5citamente en alg6n lugar del programa dedicado a tal
efecto(
+a declaracin de una 2aria!le reser2a la memoria necesaria para almacenar un dato del tipo de la
2aria!le(
En el lengua"e Pascal la forma de definir 2aria!les y constantes con nom!re es la siguiente0
const
ons!_1 = "alor_1;
ons!_2 = "alor_2;
var
"ar_11 !ipo1;
"ar_21 !ipo2;
donde constW' y constW) son los identificadores =nom!res> de las constantes4 2alorW' y 2alorW)
represetan los 2alores -ue se asignan a las constantes con nom!re( 2arW' y 2arW) son los
identificadores =nom!res> de las 2aria!les y tipo' y tipo) son los tipos de dic/as 2aria!les =entero4
real4 lgico4 car&cter(((>
E"emplos
*ons!
i"a = 18;
irp# = 15;
euro = 166,386;
error = 23lgo 4a salido mal,,,2;
5ar
"eloidad1 real;
resul!ado1 boolean;
le!ra1 4ar;
6um7i8os1 in!eger;
Si recordamos nuestro primer programa es f&cil identificar las constantes y la 2aria!les -ue aparecen en el
mismo(
9rogram :ien"enido;
Const
7;<3=2:ien"enido al mundo de la programaion2;
'ar
nombre1 s!ring=40>;
begin
?ri!e-2@n!roduAa su nombre1 2.;
readln-nombre.;
?ri!eln-7;<3,2 2, nombre.;
end,
@#ri#+$e" $oc#$e" 7 %$o+#$e"
Seg6n el lugar del programa donde se declaran las 2aria!les pueden ser0
@#ri#+$e" %$o+#$e"0 Se declaran al principio del programa( Se pueden utili3ar en cual-uier punto de
nuestro programa(
@#ri#+$e" $oc#$e"0 Se declaran dentro de los mdulos =funciones o procedimientos>4 y "$o pueden
utili3arse en dic/o mdulo(
Hasta a/ora no /emos usado ninguna 2aria!le local por-ue no /emos usado toda25a funciones ni
procedimientos( En el e"emplo pre2io4 la 2aria!le nombre es glo!al(
3- E0*re"ione"
Cien4 ya sa!emos -ue son las 2aria!les y las constantes( Pero poco podemos /acer con ellas solas( Necesitamos
usarlas y operar con ellas para o!tener resultados( Si est& /aciendo la factura de una 2enta4 necesita calcular el
I$A de dic/a cantidad( 1 para ello necesitamos lo -ue se conocen como operadores( +os operadores4 "unto con
las 2aria!les y constantes4 formar&n lo -ue se conoce como e%presiones(
E0*re"ione" Arit&/tic#" 7 L%ic#"
Con mayor precisin4 una e%presin es una com!inacin de los siguientes elementos0
'( Constantes
)( $aria!les
*( S5m!olos de operaciones m&s conocidos como operadores
P( Par.ntesis
?( +lamadas a funciones =mdulos -ue de2uel2en un 2alor como resultado>
E"emplos de e%presiones -ue estamos acostum!rados a utili3ar son0
!o!al = #a!ura + #a!ura & 0,18;
no!a = -no!a_!eoria + no!a_pra!ia./2;
Se puede resumir -ue0
+a e%presin4 al e2aluarse4 da como resultado un 2alor(
En las e%presiones podemos encontrar operandos =factura4 @('B> y operadores =como por e"emplo0 I4
V4 L4 U>(
Se pueden clasificar las e%presiones seg6n el tipo de dato asociado al 2alor -ue producen al e2aluarse(
As5 tendremos operaciones aritm.ticas =cuando el resultado es de tipo num.rico>4 operaciones lgicas
=cuando el resultado es de tipo lgico>4 operaciones de tipo car&cter =cuando producen un resultado de
este tipo>(
E0*re"ione" Arit&/tic#"
Son a-uellas en las -ue el resultado y los operandos son de tipo num.rico( A muc/os de estos operadores ya
estamos acostum!rados0 suma4 resta4 producto4 di2isin4 etc(
A3 -3 <3 B
Suma4 resta4 multiplicacin y di2isin( Aplicadas so!re enteros dan como resultado un entero4
y so!re reales un real( Si alguno de los operandos es real el resultado es real(
di(
Di2isin entera0 calcula el cociente entero(
A di2 ) dar5a como resultado P(
&od
Calcula el resto de la di2isin entera(
A mod ) dar5a como resultado '(
E0*re"ione" L%ic#"
Como ya /emos apuntado4 son a-uellas -ue producen un resultado de tipo +d<IC( +os operadores lgicos
actuar5an so!re operandos del mismo tipo( #endr5amos0
=operador or4 suma !ooleana>
Este operador da como resultado $ERDADER si cual-uiera de los dos operandos es $ERDADER(
Por lo tanto4 slo ser& FA+S si los dos operandos son FA+S(
1 =operador and4 producto !ooleano>
Este operador da como resultado 2erdadero slo si los dos operandos son $ERDADER( En cual-uier
otro caso el resultado es FA+S(
N =operador not4 negacin !ooleana>(
Cam!ia el 2alor lgico so!re el -ue se aplica4 y lo con2ierte en $ERDADER si era FA+S4 o en
FA+S si es $ERDADER(
En esta ta!la presentamos el resultado de estos operadores0
0 7 0 O 7 0 C 7 NO 0
FALSO FALSO FALSO FALSO 3(R2A2(RO
3(R2A2(RO FALSO 3(R2A2(RO FALSO FALSO
FALSO 3(R2A2(RO 3(R2A2(RO FALSO
3(R2A2(RO 3(R2A2(RO 3(R2A2(RO 3(R2A2(RO
1 utili3ando los operadores y constantes -ue corresponden en PASCA+ tenemos0
0 7 0 or 7 0 #nd 7 not 0
False False False False True
True False True False False
False True True False
True True True True
Dentro de los operadores +d<ICS /ay -ue considerar tam!i.n los operadores relacionales -ue act6an so!re
operandos de tipo N7DeRIC y de tipo CARfC#ER4 y producen resultados de tipo +d<IC( Son los
siguientes0
B ma(or Cue
D menor Cue
B= ma(or o igual
D= menor o igual
= igual
DB dis!in!o
El resultado so!re operandos de tipo N7DeRIC es intuiti2o0
+ B 3 produe omo resul!ado 5/EF3F/E;
3 = 5 produe omo resul!ado '3<G;
Para comparar operandos de tipo CARfC#ER se supone -ue los mismos se encuentran ordenados de tal
manera -ue0
232 D 2:2 D 2*2 D,,,,,,,D 2H2
2a2 D 2b2 D 22 D,,,,,,,,D 2A2
202 D 212 D 222,,,,,D 292
9or lo !an!o
22 B 2m2 da omo resul!ado '3<G;
E0*re"ione" de ti*o C#r1cter
Si nos !asamos en la ordenacin de los caracteres4 se pueden utili3ar los operadores A y -( Al sumar o restar un
entero n a un car&cter4 el resultado ser& el car&cter -ue se encuentre n posiciones por encima =I> o por de!a"o =R>
del car&cter original4 tomando como !ase los criterios de ordenacin anteriormente descritos(
Como e"emplo tenemos -ue la e%presin cAc I ) da como resultado cCc(
4- Sentenci#" +1"ic#"'
peraciones C&sicas con Datos Simples ( C&sicamente son tres las operaciones -ue podemos reali3ar0
'( Asignacin
)( +ectura
*( Escritura
1- A"i%n#cin
Sentencia mediante la cual se le da un 2alor a una 2aria!le( +a sentencia de asignacin tiene un car&cter
destructi"o so!re el contenido pre2io de la 2aria!le dado -ue la 2aria!le pierde el 2alor -ue anteriormente ten5a
al serle asignado un nue2o 2alor(
+a sentencia de asignacin utili3a el s5m!olo 1=( !ser2e la forma de usarlo0
variable () expresin
Por e"emplo4 si -ueremos 2ender un producto y le damos al cliente un descuento del '@Q al precio de 2enta al
p6!lico =P$P> o!tendremos0
preio_#inal 1= 959 - -959&0,10.;
El s5m!olo de asignacin 1= no tiene por -ue ser el mismo en otros lengua"es de programacin( Sin ir m&s
le"os4 en C se utili3a slo el car&cter )(
preio_#inal = 959 - -959&0,10.; *+ No funciona en ,asca$ +-
Adem&s la asignacin en lengua"e C en lugar de una sentencia es un operador( Esta diferencia y sus
repercusiones se estudian en profundidad en lengua"e C( En Pascal /ay -ue tener en cuenta -ue al tratarse de
una sentencia y no de un operador no es 2&lido /acer asignaciones en cadena de tipo
variable:=variable:=expresion; *+ No funciona en ,asca$ +-
A la /ora de programar en pseudocdigo =-ue recordemos -ue intenta ser una notacin com6n e independiente
del lengua"e de programacin>4 se recurre a una notacin sim!lica y el operador de asignacin se representa
mediante una flec/a apuntando a la i3-uierda4 ./
preio_#inal ./ 959 - -959&0,10.; *+ Esto es ,seudoc0digo N1
,asca$ +-
+a asignacin se reali3a en dos pasos0
'( Primero se e2al6a la e%presin a la derec/a del s5m!olo de asignacin(
)( A continuacin se almacena el 2alor resultante en la 2aria!le -ue se encuentra a la i3-uierda del s5m!olo
de asignacin(
Hay -ue tener en cuenta las siguientes o!ser2aciones0
Si no se le asigna ning6n 2alor a una 2aria!le .sta tendr& un 2alor indeter&in#do y dar& error si
intentamos utili3arla(
+a e%presin a la derec/a del s5m!olo de asignacin de!e producir un re"u$t#do de$ &i"&o ti*o -ue la
2aria!le a la i3-uierda del s5m!olo de asignacin(
Si el resultado de la e%presin e%cede el rango de la 2aria!le se produce lo -ue se denomina como
de"+ord#&iento =o"er'lo+>( Recuerde4 por e"emplo -ue lo enteros con2encionales de Pascal no pueden
superar el 2alor *)FBF
tro error !astante corriente es intentar reali3ar una operacin de di(i"in *or cero( El error se produce
por indefinicin de la operacin pero no se detecta por el compilador sino -ue se produce en tiempo de
e"ecucin del programa y lamenta!lemente lo detecta el usuario final si el programador no /a reali3ado
las prue!as suficientes( Por este moti2o4 siempre -ue se /acen di2isiones4 es necesario compro!ar si en
alg6n caso el denominador podr5a llegar a ser cero para e2itar el error(
233- Lectur# 7 E"critur#
Entendemos por operaciones de lectura y escritura a las operaciones de entrada y salida de informacin del
,e%terior, al ordenador y 2ice2ersa(
El ordenador se comunica con el entorno -ue le rodea mediante lo -ue se conocen como perif.ricos( Estos son
los dispositi2os -ue permiten -ue la informacin 2aya del ordenador al e%terior y en sentido contrario(
Son perif.ricos el teclado4 -ue permite -ue demos ordenes al ordenador4 la pantalla4 -ue permite al ordenador
presentar el resultado de sus programas4 la impresora4 los alta2oces4 el ratn4 una pantalla t&ctil4 etc(
+as operaciones de lectura y escritura le dicen al ordenador -ue de!e ,capturar, informacin del e%terior o -ue
de!e presentar informacin al e%terior(
Desglosemos a continuacin cada una de ellas de forma gen.rica0
'( peracin de +ectura0
Se toma un 2alor =o 2arios> de un perif.rico y se asignan a una 2aria!le =o a 2arias
2aria!les> en el orden de aparicin0
<//E nombre_"ar1, nombre_"ar2

El perif.rico por defecto es el teclado4 es decir4 cuando no se dice e%presamente de
dnde -ueremos leer indicamos -ue de!en tomarse los datos del teclado(
)( peracin de Escritura0
Se e2al6an una =o m&s> e%presiones y se en25an a un perif.rico0

/G*E@:@E e0p1, e0p2

Estas e%presiones pueden ser de cual-uier tipo0 si son 2aria!les se imprimir& el 2alor
de las mismasO si son cadenas de caracteres se imprimir&n tal cual(
El perif.rico por defecto es la pantalla de la m&-uina( Si deseamos escri!ir en
cual-uier otro perif.rico4 por e"emplo en una impresora tendr5amos0
/G*E@:@E /6 @I9E/G;E3 e0p1, e0p2,

Estas operaciones de lectura y escritura se reali3an en Pascal mediante las funciones re#d y 6rite(
-uncin 6rite
+a funcin +rite =escri!ir> presenta por pantalla lo -ue le indi-uemos entre sus par.ntesis( De /ec/o4 en la
leccin anterior se us en nuestro primer programa0
?ri!e-2:ien"enido a es!e urso de 9rogramai$n2.;
Este ser5a su uso m&s sencillo( Pero es m&s interesante presentar por pantalla el 2alor almacenado en 2aria!les0
?ri!e-2Gu nombre es1 2, nombre.;
-ue imprime la cadena Su nombre es4 seguida del 2alor almacenado en la 2aria!le nom!re4 -ue en el caso de
-ue nom!re contenga el 2alor cDarisac0
Gu nombre es1 Iarisa
Se puede intercalar te%to y 2aria!les separados por el car&cter coma =4>0
?ri!e-2Gu nombre es 12, nombre, 2,7ola,2.;
Kue dar& como resultado0
Gu nombre es1 Iarisa, 7ola,
separarlo en 2arias sentencias0
?ri!e-2Gu nombre es 12.;
?ri!e-nombre.;
?ri!e-2,7ola,2.;
Cuando se desea seguir escri!iendo en la siguiente l5nea se utili3a la funcin 6rite$n;=4 -ue tras escri!ir sus
argumentos pasa a la siguiente l5nea( Es similar al ,retorno de carro, de las m&-uinas de escri!ir(
?ri!e-2Gu nombre es 12.;
?ri!eln-nombre.;
?ri!e-2,7ola,2.;
Kue a/ora dar& como resultado0
Gu nombre es1 Iarisa
,7ola,
-uncin re#d
+a funcin read =leer> solicita por pantalla lo -ue le indi-uemos entre sus par.ntesis( De /ec/o4 en la leccin
anterior la usamos en nuestro primer programa0
read-nombre.;
Este ser5a su uso m&s simple( Se pueden solicitar por pantalla 2arios 2alores4 y las 2aria!les donde se
almacenen de!en estar separadas por el car&cter coma =4>0
read-nombre, edad.;
+a sentencia read =y readln> esperan a -ue se pulse la tecla Intro =Retorno de Carro4 Enter4 Return> antes de
asignar 2alores a las 2aria!les(
+o normal es intercalar funciones de escritura y lectura para informar al usuario de -ue es lo -ue est&
introduciendo0
?ri!e-2@n!roduAa su nombre2.;
read-nombre.;
?ri!e-2in!roduAa su edad2.;
read-edad.;
+a sentencia re#d$n;= tiene un funcionamiento diferente al de 6rite$n;=( +as sentencias re#d;= y re#d$n;= no
asignan nada a las 2aria!les /asta -ue el usuario pulsa la tecla Enter( 9Ku. ocurre si tecleamos m&s 2alores de
los esperados:
Con la funcin re#d4 estos se -uedan ,pendientes,4 esperando ser le5dos por la pr%ima sentencia re#d
=si la /ay>(
En cam!io4 si se le proporcionan a re#d$n m&s 2alores de los -ue espera descarta todos los -ue le so!ran
=los 6ltimos>(
$eamos este comportamiento con un e"emplo en el -ue aparecen dos elementos nue2os cuya misin es e2itar
-ue la 2entana de e"ecucin del programa se cierre una 2e3 finali3ado el programa impidiendo -ue se 2isualice
el resultado( Estos dos elementos nue2os son la declaracin de la unidad crt en el ep5grafe uses y el
procedimiento readMey -ue espera a -ue el usuario pulse una tecla0

Si compilamos y e"ecutamos seg6n se presenta en la siguiente figura0

se asignar&
edad = 44
peso = 68
y se -ueda pendiente de leer el 2alor F) -ue se asigna a altura a continuacin0
al!ura = +2
En cam!io con el uso de readln y los mismo datos de entrada0

Si compilamos y e"ecutamos seg6n se presenta en la siguiente figura0

se asignar&
edad = 44
peso = 68
se descartara el 2alor F)4 y se le asigna a continuacin el 2alor '(F? a la altura0
al!ura = 1,+5
Podemos o!ser2ar -ue la sentencia write -ue presenta el 2alor de las 2aria!les tiene un formato no2edoso0
?ri!eln-2/dad1 2, edad, 2 9eso1 2, peso, 2 3l!ura1 2, a$tura(2(3.;
El formato de los tipos num.ricos puede ser modificado especificando el n6mero de caracteres -ue se usar&n
para imprimirlo =P en este caso> y el n6mero de estos -ue ser&n decimales =)>(
Si no se especifica formato4 se utili3a su longitud con un espacio en !lanco delante si es positi2o o un signo
menos si es negati2o( +os n6meros reales se escri!en por defecto en notacin cient5fica(
1a conocemos como usar constantes4 como asignar 2alores a 2aria!les y como leer o escri!ir mediante las
funciones de entrada y salida( En el tema siguiente estudiaremos como podemos modificar la e"ecucin de
nuestro programa mediante las estructuras de control(

También podría gustarte