Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
CIENCIA13 DE13 LA13 COMPUTACION13
CUERPO13 DOCENTE13 Jefe13 de13 Trabajos13 Praacuteccos13 Andrea13 L13 Riera13 Ayudante13 Diplomado13 Marcelo13 Marchioni13 Ayudante13 Diplomado13 Fabio13 Buchiarelli13 Ayudante13 Diplomado13 Sebasaacuten13 Villar13 Profesor 13 Alejandro13 Rozenfeld13 13 wwwfiouniceneduar13 agrave13 planes13 de13 estudio13 agrave13 Ciencia13 de13 la13 Computacionhellip13
iquest13 Queacute13 es13 un13 Ordenador13 13 13 1048576104857710485781048579104858010485811048582104858310485841048585104858610485871048588104858910485901048591104859210485931048594104859510485961048597104859810485991048600104860110486021048603104860410486051048606104860710486081048609104861010486111048612104861310486141048615104861610486171048618104861910486201048621104862210486231048624104862510486261048627104862810486291048630104863110486321048633104863410486351048636104863710486381048639104864010486411048642104864310486441048645104864610486471048648104864910486501048651104865210486531048654104865510486561048657104865810486591048660104866110486621048663104866410486651048666104866710486681048669104867010486711048672104867310486741048675104867610486771048678104867910486801048681104868210486831048684104868510486861048687104868810486891048690104869110486921048693104869410486951048696104869710486981048699104870010487011048702104870313 Maquina13 electroacutenica13 disentildeada13 para13 manipular13 y13 procesar13 datos13 capaz13 de13
desarrollar13 complejas13 operaciones13 a13 gran13 velocidad13 siguiendo13 un13 programa13 de13 instrucciones13
1048576104857710485781048579104858010485811048582104858310485841048585104858610485871048588104858910485901048591104859210485931048594104859510485961048597104859810485991048600104860110486021048603104860410486051048606104860710486081048609104861010486111048612104861310486141048615104861610486171048618104861910486201048621104862210486231048624104862510486261048627104862810486291048630104863110486321048633104863410486351048636104863710486381048639104864010486411048642104864310486441048645104864610486471048648104864910486501048651104865210486531048654104865510486561048657104865810486591048660104866110486621048663104866410486651048666104866710486681048669104867010486711048672104867310486741048675104867610486771048678104867910486801048681104868210486831048684104868510486861048687104868810486891048690104869110486921048693104869410486951048696104869710486981048699104870010487011048702104870313 Todo13 aparato13 desnado13 a13 procesar13 informacioacuten13 entendiendo13 por13 proceso13 las13 sucesivas13 fases13 manipulaciones13 o13 transformaciones13 que13 sufre13 la13 informacioacuten13 para13 resolver13 un13 problema13 determinado13 siguiendo13 las13 instrucciones13 de13 un13 programa13
13 Entre13 sus13 caracteriacutescas13 podemos13 citar13
bull13 Son13 programables13 bull13 Versalidad13 Permiten13 realizar13 diversos13 trabajos13 bull13 Interacvidad13 Manenen13 diaacutelogos13 con13 los13 usuarios13 y13 actuacutean13 en13 funcioacuten13 de13 sus13
ordenes13 bull13 Alta13 Capacidad13 de13 almacenamiento13 bull13 Rapidez13
CIENCIA13 DE13 LA13 COMPUTACION13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
CIENCIA13 DE13 LA13 COMPUTACION13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
bull Hardware Dispositivos fiacutesicos que componen el ordenador teclado pantalla ratoacuten discos memoria CD-ROM unidades de procesamiento etc
bull Software Conjunto de programas que el ordenador puede ejecutar
bull Personas Entretenimiento medicina educacioacuten empresas etc
bull Datos e informacioacuten13
Tipos13 de13 Ordenadores13 bull Superordenadores
ndash Son escasos debido a su elevado precio ndash Altas prestaciones para caacutelculos complejos ndash Los usan grandes organizaciones ndash Se aplican al estudio del espacio y la meterologiacutea
bull Macroordenadores (Mainframes) ndash Soportan cientos e incluso miles de usuarios ndash Los usan grandes organizaciones donde se necesita
acceder a datos y programas compartidos ndash Servidores de e-comercio para manejar
transacciones en Internet13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
iquest13 Queacute13 es13 un13 Ordenador13 13 13 1048576104857710485781048579104858010485811048582104858310485841048585104858610485871048588104858910485901048591104859210485931048594104859510485961048597104859810485991048600104860110486021048603104860410486051048606104860710486081048609104861010486111048612104861310486141048615104861610486171048618104861910486201048621104862210486231048624104862510486261048627104862810486291048630104863110486321048633104863410486351048636104863710486381048639104864010486411048642104864310486441048645104864610486471048648104864910486501048651104865210486531048654104865510486561048657104865810486591048660104866110486621048663104866410486651048666104866710486681048669104867010486711048672104867310486741048675104867610486771048678104867910486801048681104868210486831048684104868510486861048687104868810486891048690104869110486921048693104869410486951048696104869710486981048699104870010487011048702104870313 Maquina13 electroacutenica13 disentildeada13 para13 manipular13 y13 procesar13 datos13 capaz13 de13
desarrollar13 complejas13 operaciones13 a13 gran13 velocidad13 siguiendo13 un13 programa13 de13 instrucciones13
1048576104857710485781048579104858010485811048582104858310485841048585104858610485871048588104858910485901048591104859210485931048594104859510485961048597104859810485991048600104860110486021048603104860410486051048606104860710486081048609104861010486111048612104861310486141048615104861610486171048618104861910486201048621104862210486231048624104862510486261048627104862810486291048630104863110486321048633104863410486351048636104863710486381048639104864010486411048642104864310486441048645104864610486471048648104864910486501048651104865210486531048654104865510486561048657104865810486591048660104866110486621048663104866410486651048666104866710486681048669104867010486711048672104867310486741048675104867610486771048678104867910486801048681104868210486831048684104868510486861048687104868810486891048690104869110486921048693104869410486951048696104869710486981048699104870010487011048702104870313 Todo13 aparato13 desnado13 a13 procesar13 informacioacuten13 entendiendo13 por13 proceso13 las13 sucesivas13 fases13 manipulaciones13 o13 transformaciones13 que13 sufre13 la13 informacioacuten13 para13 resolver13 un13 problema13 determinado13 siguiendo13 las13 instrucciones13 de13 un13 programa13
13 Entre13 sus13 caracteriacutescas13 podemos13 citar13
bull13 Son13 programables13 bull13 Versalidad13 Permiten13 realizar13 diversos13 trabajos13 bull13 Interacvidad13 Manenen13 diaacutelogos13 con13 los13 usuarios13 y13 actuacutean13 en13 funcioacuten13 de13 sus13
ordenes13 bull13 Alta13 Capacidad13 de13 almacenamiento13 bull13 Rapidez13
CIENCIA13 DE13 LA13 COMPUTACION13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
CIENCIA13 DE13 LA13 COMPUTACION13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
bull Hardware Dispositivos fiacutesicos que componen el ordenador teclado pantalla ratoacuten discos memoria CD-ROM unidades de procesamiento etc
bull Software Conjunto de programas que el ordenador puede ejecutar
bull Personas Entretenimiento medicina educacioacuten empresas etc
bull Datos e informacioacuten13
Tipos13 de13 Ordenadores13 bull Superordenadores
ndash Son escasos debido a su elevado precio ndash Altas prestaciones para caacutelculos complejos ndash Los usan grandes organizaciones ndash Se aplican al estudio del espacio y la meterologiacutea
bull Macroordenadores (Mainframes) ndash Soportan cientos e incluso miles de usuarios ndash Los usan grandes organizaciones donde se necesita
acceder a datos y programas compartidos ndash Servidores de e-comercio para manejar
transacciones en Internet13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
CIENCIA13 DE13 LA13 COMPUTACION13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
bull Hardware Dispositivos fiacutesicos que componen el ordenador teclado pantalla ratoacuten discos memoria CD-ROM unidades de procesamiento etc
bull Software Conjunto de programas que el ordenador puede ejecutar
bull Personas Entretenimiento medicina educacioacuten empresas etc
bull Datos e informacioacuten13
Tipos13 de13 Ordenadores13 bull Superordenadores
ndash Son escasos debido a su elevado precio ndash Altas prestaciones para caacutelculos complejos ndash Los usan grandes organizaciones ndash Se aplican al estudio del espacio y la meterologiacutea
bull Macroordenadores (Mainframes) ndash Soportan cientos e incluso miles de usuarios ndash Los usan grandes organizaciones donde se necesita
acceder a datos y programas compartidos ndash Servidores de e-comercio para manejar
transacciones en Internet13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Elementos13 de13 un13 Sistema13 de13 Computacioacuten13
bull Hardware Dispositivos fiacutesicos que componen el ordenador teclado pantalla ratoacuten discos memoria CD-ROM unidades de procesamiento etc
bull Software Conjunto de programas que el ordenador puede ejecutar
bull Personas Entretenimiento medicina educacioacuten empresas etc
bull Datos e informacioacuten13
Tipos13 de13 Ordenadores13 bull Superordenadores
ndash Son escasos debido a su elevado precio ndash Altas prestaciones para caacutelculos complejos ndash Los usan grandes organizaciones ndash Se aplican al estudio del espacio y la meterologiacutea
bull Macroordenadores (Mainframes) ndash Soportan cientos e incluso miles de usuarios ndash Los usan grandes organizaciones donde se necesita
acceder a datos y programas compartidos ndash Servidores de e-comercio para manejar
transacciones en Internet13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Tipos13 de13 Ordenadores13 bull Superordenadores
ndash Son escasos debido a su elevado precio ndash Altas prestaciones para caacutelculos complejos ndash Los usan grandes organizaciones ndash Se aplican al estudio del espacio y la meterologiacutea
bull Macroordenadores (Mainframes) ndash Soportan cientos e incluso miles de usuarios ndash Los usan grandes organizaciones donde se necesita
acceder a datos y programas compartidos ndash Servidores de e-comercio para manejar
transacciones en Internet13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Tipos13 de13 Ordenadores13
bull Miniordenadores ndash Maacutes pequentildeos con un mainframe aunque
maacutes grandes que un ordenador personal ndash Con muacuteltiples terminales ndash Servidores de redes de ordenadores e
Internet bull Ordenadores Personales (PCs)
ndash Ordenadores de sobremesa ndash Ordenadores portaacutetiles ndash Ordenadores de bolsillo13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 del13 Ordenador13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 Disposivos13 de13 Entrada13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 Disposivos13 de13 Salida13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 Disposivos13 de13 Almacenamiento13 Externo13
bull Tienen maacutes capacidad que la memoria principal aunque son maacutes lentos
bull La informacioacuten permanece indefinidamente hasta su borrado
bull Discos cintas discos oacutepticos (CD y DVD) etc13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 Memoria13 Principal13 bull Gran velocidad para escribir y leer de
ella bull Un programa ejecutable debe estar
almacenado en ella bull Estaacute dividida en palabras de
memoria Cada palabra tiene asociada una direccioacuten
bull Esta compuesta de ndash ROM ndash soacutelo lectura y permanente ndash RAM ndash lecturaescritura y volaacutetil13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Hardware13 La13 CPU13 bull Unidad aritmeacutetico-loacutegica (ALU)
ndash Realiza operaciones de tipo aritmeacutetico y de tipo loacutegico (+ - lt gt gt= etc) En esta unidad es donde se hace todo el trabajo computacional
ndash Contiene un reloj interno que marca el ritmo con el que se ejecutan las instrucciones de los programas Cuanto maacutes alta sea su frecuencia (que se mide en Megahertz Mhz) mayor seraacute la velocidad de proceso del ordenador
bull Unidad de control ndash controla le ejecucioacuten de los programas y el
funcionamiento general de todo el sistema bull Detecta sentildeales de estado de las distintas unidades bull Recupera y almacena datos de la memoria principal para que sean
procesados por la ALU bull Genera sentildeales de control dirigidas a todas las unidades
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
SoYware13 del13 Ordenador13 Definicioacuten Informal Es la parte loacutegica del ordenador el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacioacuten de las tareas de computacioacuten a las que se destina Definicioacuten Formal la suma total de los programas de coacutemputo procedimientos reglas [] documentacioacuten y datos asociados que forman parte de las operaciones de un sistema de coacutemputo (Ver IEEE Std 729-1993 IEEE Software Engineering Standard 729-1993 Glossary of Soft Engineering Terminology IEEE Comp Society Press 1993)13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
SoYware13 del13 Ordenador13
El13 soYware13 del13 ordenador13 se13 puede13 clasificar13 esencialmente13 en13 dos13 pos13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
El13 Sistema13 Operavo13 bull Gestiona los recursos del ordenador bull Facilita el uso del ordenador
ndash Hace transparente al usuario las caracteriacutesticas de los dispositivos
ndash Proporciona una interface de usuario bull Servicios importantes de un SO
ndash Sistema de ficheros ndash Entradasalida con distintos dispositivos ndash Ejecucioacuten de programas ndash Medidas de seguridad
bull Durante el arranque se carga en memoria y permanece residente todo el tiempo13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
SoYware13 de13 Aplicacioacuten13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Redes13 de13 Ordenadores13 Red de ordenadores mecanismo fiacutesico que permite la
comunicacioacuten de dos o maacutes ordenadores para intercambiar datos y compartir recursos
Ventajas Compartir recursos software y hardware Alta tolerancia a fallos Ahorro econoacutemico Medio de comunicacioacuten
13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Redes13 de13 Ordenadores13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Redes de Ordenadores Servicios de Internet13
bull Correo electroacutenico (enviarrecibir mensajes de correo)
bull Acceso remoto (Telnet ndash conectarse a otros ordenadores)
bull Transferencia de ficheros (FTP - acceso a ficheros de datos)
bull Grupos de noticias (News - Usenet) bull Internet Relay Chat
(IRC - discusiones entre usuarios en liacutenea) bull Videoconferencia
(Escucharse y verse en en tiempo real) bull World Wide Web
(coleccioacuten de documentos multimedia)13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Los ordenadores son tontos13
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecutan raacutepida y precisamente operaciones loacutegicas y matemaacuteticas
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Cumplen obedientemente lo que les decimos
(no siempre igual a lo que queremos) bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Errores pequentildeos pueden provocar
fallos graves13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Lenguajes13 de13 Programacioacuten13
Un lenguaje de programacioacuten es una herramienta para producir software Se compone de un conjunto de reglas siacutembolos y signos que permiten la comunicacioacuten con el ordenador13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
13 Tipos13
ndash Lenguajes13 de13 bajo13 nivel13 Lenguaje13 maacutequina13 13 Lenguaje13 ensamblador13
ndash Lenguajes13 de13 alto13 nivel13 Lenguajes13 imperavos13 o13 procedurales13 Lenguajes13 declaravos13 Lenguajes13 funcionales13 o13 de13 programacioacuten13 loacutegica13
Lenguajes13 de13 programacioacuten13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
13 Evolucioacuten13 histoacuterica13
ndash 13 13 13 13 -shy‐5213 L13 Maacutequina13 ndash 49-shy‐5613 Ensambladores13 ndash 54-shy‐13 Fortran13 (56)13 Algol13 (58)13 Cobol13 (59)13 Lisp13 (62)13 Basic13 (64)13 C13 (72)13 Pascal13 (73)13 Modula-shy‐213 (79)13 Ada13 (80)13 13
ndash 61-shy‐13 Entornos13 de13 programacioacuten13 Prolog(72)13 Smalltalk13 (72)13 C++13 (85)13 Haskell13 (88)13 Java13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 MAacuteQUINA13 Es13 el13 uacutenico13 que13 enende13 directamente13 la13 computadora13
Las13 instrucciones13 se13 expresan13 en13 sistema13 binario13 (cadenas13 de13 0rsquos13 y13 1rsquos)13 u13 octal13 o13 hexadecimal13
Los13 datos13 se13 referencian13 por13 medio13 de13 las13 direcciones13 de13 memoria13 donde13 estaacuten13
Tiene13 una13 sintaxis13 riacutegida13 Depende13 de13 la13 CPU13 del13 ordenador13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 MAacuteQUINA13 Repertorio13 de13 instrucciones13 reducido13 La13 programacioacuten13 en13 este13 lenguaje13 es13 tediosa13 y13 complicada13
No13 admite13 poner13 comentarios13 =gt13 Diqcil13 legibilidad13
Permite13 ulizar13 la13 totalidad13 de13 los13 recursos13 Programas13 muy13 eficientes13 en13 empo13 de13 ejecucioacuten13 y13 en13 ocupacioacuten13 de13 memoria13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 MAacuteQUINA13 Ejemplo13 000013 013 10113 110113 13 Carga13 el13 acumulador13 (0000)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (10113 1101213 =13 9310)13
110013 113 01113 101113 13 Suma13 (1100)13 indirecta13 (1)13 del13 contenido13 de13 la13 direccioacuten13 (01113 1011213 =13 5910)13 con13 el13 acumulador13
13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 ENSAMBLADOR13 Es13 maacutes13 cercano13 al13 lenguaje13 humano13 Usa13 notacioacuten13 simboacutelica13 o13 nemoteacutecnica13 para13 representar13 los13 coacutedigos13 de13 operacioacuten13
Tambieacuten13 uliza13 nombres13 para13 referenciar13 datos13 guardados13 en13 memoria13
Permite13 el13 uso13 de13 comentarios13 13 Cada13 instruccioacuten13 en13 ensamblador13 se13 corresponde13 con13 una13 en13 lenguaje13 maacutequina13
Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 ENSAMBLADOR13 La13 traduccioacuten13 es13 realizada13 por13 un13 programa13 traductor13 llamado13 ensamblador13
Posee13 la13 mayoriacutea13 de13 los13 inconvenientes13 del13 lenguaje13 maquina13 Baja13 portabilidad13 Formato13 de13 instrucciones13 riacutegido13 Repertorio13 reducido13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJE13 ENSAMBLADOR13 Ejemplo13 CAR13 Numero13 13 Carga13 el13 acumulador13 (CAR)13 con13 el13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Numero)13
SUM13 Coste13 13 Suma13 (SUM)13 del13 contenido13 de13 la13 direccioacuten13 de13 memoria13 (Coste)13 con13 el13 acumulador13 13
13
5213 Lenguajes13 de13 programacioacuten13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Son13 independientes13 de13 la13 arquitectura13 qsica13 del13 computador13 (transportables)13
Una13 instruccioacuten13 se13 traduce13 en13 varias13 instrucciones13 en13 lenguaje13 maacutequina13 (potentes)13 13
Ulizan13 una13 nomenclatura13 cercana13 a13 la13 usada13 por13 las13 personas13 (faacutecil13 de13 aprender)13 13
Facilita13 la13 escritura13 y13 lectura13 de13 programas13 (claros13 y13 13 legibles)13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 CARACTERIacuteSTICAS13 Las13 instrucciones13 se13 expresan13 por13 medio13 de13 texto13 (ingleacutes)13 con13 caracteres13 alfanumeacutericos13 y13 caracteres13 especiales13 (+13 -shy‐13 13 13 13 13 =13 )13
Dispone13 de13 instrucciones13 complejas13 para13 todo13 po13 de13 operaciones13 aritmeacutecas13 para13 entradasalida13 de13 datos13
Hay13 una13 gran13 candad13 y13 variedad13 de13 lenguajes13 de13 alto13 nivel13 13
Java13 FORTRAN13 C13 C++13 PASCAL13 Matlab13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
LENGUAJES13 DE13 ALTO13 NIVEL13 13 Ejemplo13 (Matlab)13
13 funcon13 cuadrado13 13 Este13 programa13 calcula13 cuadrados13 de13 113 a13 1013 13 13 for13 i=11013 13 13 13 13 13 13 disp([i13 i^2])13 13 13 end13
5213 Lenguajes13 de13 programacioacuten13 13 Lenguajes13 de13 programacioacuten13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Lenguajes13 de13 Programacioacuten13 1 Tanto los lenguajes de alto nivel como los de bajo nivel no
son entendibles directamente por la maacutequina 2 Necesitan ser traducidos a instrucciones en lenguaje de
maacutequina 3 Es necesario disponer de un traductor o interfase con el
lenguaje de maacutequina para que el programa sea ejecutable Existen dos tipos fundamentales de traductores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Compiladores Compiladores 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703Interpretes13 Interpretes13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Compiladores13
Software que traduce el programa inicial (programa fuente) escrito en un lenguaje de alto nivel a un programa (programa objeto) en lenguaje de maacutequina factible de ser ejecutado13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Inteacuterpretes13
Analizan traducen y ejecutan una a una las instrucciones del programa fuente no se analiza una instruccioacuten hasta que la anterior se haya ejecutado
Los inteacuterpretes no generan programa objeto13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Entornos13 Integrados13 de13 Desarrollo13
Un IDE es un software que incorpora todas las herramientas necesarias para el desarrollo de nuestros programas
Por herramientas entendemos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Editor 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Compilador 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Linker 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depuracioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ejecucioacuten En praacutecticas usaremos el Matlab13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Metodologiacutea13 de13 la13 Programacioacuten13 La utilizacioacuten de conceptos y teacutecnicas adecuadas de programacioacuten es fundamental para obtener programas que cumplan los siguientes requisitos bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Legibles comprensibles por cualquier programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Modificables su estructura debe permitir
modificaciones bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Depurables debe ser faacutecil la localizacioacuten y correccioacuten
de errores Y como elementos adicionales se obtiene bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Reduccioacuten de los costos de mantenimiento bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aumento de la productividad del programador bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas quedan mejor documentados
internamente13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Si no seguimos un meacutetodo de programacioacuten riguroso
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas son riacutegidos y difiacuteciles de adaptar a nuevos requerimientos
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programadores gastan mucho tiempo corrigiendo sus errores
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La comunicacioacuten entre programadores es muy difiacutecil
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Los programas y moacutedulos son poco reusables
bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Existen deficiencias en la documentacioacuten13
Metodologiacutea13 de13 la13 Programacioacuten13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Resolucioacuten13 de13 un13 problema13 mediante13 una13 computadora13
1 Definicioacuten del problema 2 Anaacutelisis del problema 3 Disentildeo del algoritmo 4 Prueba del algoritmo 5 Codificacioacuten del algoritmo en un lenguaje 6 Prueba y puesta a punto del programa 7 Documentacioacuten del programa13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Resolucioacuten13 de13 problemas13 con13 el13 Ordenador13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Anaacutelisis13 de13 Requerimientos13 Esta fase consta de dos partes orientadas a
responder QUE es lo que hay que hacer 1 Definicioacuten del Problema identificar
claramente que es lo que se quiere resolver
2 Anaacutelisis del problema se basa en identificar 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 La fuente y los tipo de datos para las entradas 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Interaccioacuten de los datos y su transformacioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Destino y formato de salida
El anaacutelisis se realiza empleando el lenguaje natural13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Etapa13 de13 Disentildeo13 En esta fase resolvemos el COMO se hace lo especificado en el anaacutelisis de
requerimientos 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 ideamos un algoritmo 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 utilizamos pseudocoacutedigo para su descripcioacuten 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos la teacutecnica divide y venceraacutes la
resolucioacuten de un problema complejo se realiza diviendo el problema en subproblemas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Aplicamos disentildeo descendente o modular 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 El disentildeo del algoritmo es independiente del lenguaje de programacioacuten en el que se vaya a codificar posteriormente13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Implementacioacuten13 y13 Validacioacuten13
Implementacioacuten se pasa del disentildeo obtenido en la etapa anterior a una descripcioacuten escrita en un lenguaje de programacioacuten (un dialecto que pueda comprender el ordenador) Esta descripcioacuten (programa) debe compilarse y ejecutarse para pasar a la fase de validacioacuten
Validacioacuten es el proceso de identificar y eliminar errores para poder responder a dos preguntas
10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Construimos el software correcto (contra el usuario) 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Lo construimos correctamente (contra la especificacioacuten)13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 Conjunto13 ordenado13 de13 pasos13 a13 seguir13 para13 resolver13 un13 problema13 concreto13 en13 un13 empo13 finito13 y13 sin13 ambiguumledad13 ndash Acciones13 bien13 definidas13 ndash Secuencia13 finita13 y13 ordenada13 ndash Tiempo13 finito13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Analogiacutea13 con13 el13 arte13 de13 la13 cocina13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Mi13 Primer13 Algoritmo13
bull Disentildear algoritmos para bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar una tortilla de patatas bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Hacer una llamada telefoacutenica bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Preparar un cubata bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Ordenar una lista de nuacutemeros bull 10485761048577104857810485791048580104858110485821048583104858410485851048586104858710485881048589104859010485911048592104859310485941048595104859610485971048598104859910486001048601104860210486031048604104860510486061048607104860810486091048610104861110486121048613104861410486151048616104861710486181048619104862010486211048622104862310486241048625104862610486271048628104862910486301048631104863210486331048634104863510486361048637104863810486391048640104864110486421048643104864410486451048646104864710486481048649104865010486511048652104865310486541048655104865610486571048658104865910486601048661104866210486631048664104866510486661048667104866810486691048670104867110486721048673104867410486751048676104867710486781048679104868010486811048682104868310486841048685104868610486871048688104868910486901048691104869210486931048694104869510486961048697104869810486991048700104870110487021048703 Buscar el alumno con nota maacutes
alta13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Ejemplo13 de13 ALGORITMO13 13 Determinar13 si13 un13 nuacutemero13 es13 par13 13
1 Leer13 N13 2 Si13 N=213 13 13 Escribe13 ldquoes13 parrdquo13 3 Si13 N=113 13 13 Escribe13 ldquoes13 imparrdquo13 4 Si13 N=113 o13 N=213 ir13 a13 713 5 N=N-shy‐213 6 Ir13 a13 213 7 Fin13 del13 procedimiento13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13 ALGORITMOS13 13 Caracteriacutescas13
ndash Precisioacuten13 (no13 debe13 permir13 dobles13 interpretaciones)13 ndash Repevidad13 13
(si13 el13 algoritmo13 se13 prueba13 dos13 veces13 en13 estas13 dos13 pruebas13 se13 debe13 obtener13 el13 mismo13 resultado)13
ndash Finito13 en13 tamantildeo13 y13 empo13 de13 ejecucioacuten13 ndash Debe13 ser13 general13 es13 decir13 soportar13 la13 mayoriacutea13 de13 las13 variantes13 que13 se13 puedan13 presentar13 en13 la13 definicioacuten13 del13 problema13 (datos13 de13 entrada)13
13 Propiedad13 bull Es13 independiente13 del13 lenguaje13 de13 programacioacuten13 en13 el13 que13 se13
implemente13 y13 de13 la13 computadora13 en13 la13 que13 se13 ejecute13 bull Cero13 o13 maacutes13 entradas13 y13 una13 o13 maacutes13 salidas13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
ALGORITMOS13 13 13 13 Para13 resolver13 un13 mismo13 problema13 se13 pueden13 definir13 varios13 algoritmos13 13 Factores13 para13 decidir13 que13 algoritmo13 usar13
ndash Tiempo13 que13 tarda13 en13 hallar13 la13 solucioacuten13 ndash Recursos13 ulizados13 para13 implantar13 el13 algoritmo13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Instrucciones13
bull Operaciones que ejecutara la computadora al implementar el algoritmo Estas instrucciones utilizan datos en forma de constantes y variables
bull En todos los lenguajes hay un conjunto
miacutenimo de instrucciones que permite especificar el control propio del algoritmo13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 Tanto13 en13 la13 fase13 de13 anaacutelisis13 del13 problema13 como13 en13 el13 disentildeo13 del13
algoritmo13 se13 plantea13 la13 necesidad13 de13 representar13 claramente13 el13 flujo13 ordenado13 de13 operaciones13 que13 se13 han13 de13 ejecutar13 para13 su13 resolucioacuten13
Existen13 diferentes13 meacutetodos13 ndash Organigramas13 o13 diagramas13 de13 flujo13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 13 representacioacuten13 mas13 ulizada13 por13 su13 sencillez13 y13 parecido13 al13 lenguaje13 humano13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Herramienta13 graacutefica13 de13 descripcioacuten13 de13 algoritmos13 faacutecil13 y13 extendida13
Los13 siacutembolos13 representan13 acciones13 Las13 flechas13 representan13 el13 orden13 de13 ejecucioacuten13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Asignacioacuten13
13 13 13 Terminal13
M13 =13 313
Inicio13 Fin13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
Diagrama13 de13 flujo13
Un diagrama de flujo siempre tiene un uacutenico punto de inicio y un uacutenico punto de teacutermino
Ademaacutes todo camino de ejecucioacuten debe permitir llegar desde el inicio hasta el teacutermino13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Organigramas13 o13 diagramas13 de13 flujo13 13 Siacutembolos13 13 Seleccioacuten13 13 13 13 13 13 13 13 13 13 13 13 EntradaSalida13
5313 Organizacioacuten13 de13 los13 programas13 13
Si13 Nltgt013
No13
Leer13 Dato13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13
5313 Organizacioacuten13 de13 los13 programas13 13
Inicio13
Suma = 0
Leer Dato13
Si13 Datoltgt013
No13 Suma = Suma + Dato
Escribir Suma
Fin13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 o13 lenguaje13 de13 descripcioacuten13 de13 algoritmos13 Es13 un13 conjunto13 pequentildeo13 y13 completo13 de13 sentencias13 mediante13 las13 cuales13 podemos13 expresar13 todas13 las13 instrucciones13 baacutesicas13 Reglas13
Cada13 idenficador13 (variable13 constante)13 debe13 tener13 un13 nombre13 significavo13
Cada13 sentencia13 debe13 ir13 en13 una13 liacutenea13 Los13 nombres13 de13 las13 sentencias13 son13 uacutenicos13 13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 Ejemplo13 Suma13 de13 un13 numero13 variable13 de13 datos13
13 13 13 Suma13 =13 013 13 13 13 lee13 (dato)13 13 13 13 mientras13 (dato13 ltgt13 0)13 13 13 13 13 13 13 13 13 suma13 =13 suma13 +13 dato13 13 13 13 13 13 13 13 13 lee13 (dato)13 13 fin13 mientras13
13 13 13 escribe13 (lsquoLa13 suma13 total13 es13 =13 lsquo13 Suma)13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13
5313 Organizacioacuten13 de13 los13 programas13 13
REPRESENTACIOacuteN13 DE13 ALGORITMOS13 ndash Pseudocoacutedigo13 13 ndash Ventajas13 sobre13 las13 representaciones13 graacuteficas13
bull Es13 maacutes13 compacto13
bull Maacutes13 faacutecil13 de13 escribir13 13
bull Maacutes13 faacutecil13 de13 traducir13 a13 un13 lenguaje13 de13 programacioacuten13 concreto13
Organizacioacuten13 de13 los13 programas13 13