SlideShare una empresa de Scribd logo
Sistema 
Operativo 
Características 
Windows 7 Última versión del sistema operativo Windows de Microsoft. 
Sustituye al poco exitoso Windows Vista. H tenido una gran 
repercusión e impacto tanto en computadoras grandes, como 
en personales y portátiles (laptop, notebooks, netbooks, 
etcétera). 
Chrome Sistema operativo de Google, pensado para computadoras 
tipo netbooks; se presentó en 2010 pero todavía no se 
comercializa. 
Windows Vista Sistema operativo de Microsoft que se presentó a principios 
del año 2007 y que no ha tenido gran éxito. 
Windows XP Sistema operativo más utilizado en la actualidad, tanto en el 
campo de enseñanza como en la industria y negocios. Su 
fabricante es Microsoft. 
Windows 
98/ME/2000 
Versiones anteriores de Windows que todavía se utilizan 
UNIX Sistema operativo de fuente abierta, escrito en C y que aún se 
utiliza en el campo profesional. 
Linux Sistema operativo de fuente abierta, gratuito y de libre 
distribución. Similar a UNIX y una gran alternativa ante 
Windows. Actualmente se utiliza en servidores de aplicaciones 
para internet. 
Mac OS Sistema operativo de las computadoras Apple Macintosh. Su 
versión más popular es Mac OS X. 
DOS, MS-DOS y 
OS/2 
Sistemas operativos creados por Microsoft e IBM 
respectivamente. Actualmente son poco utilizados pero son la 
base de los actuales sistemas operativos. 
CP/M Sistema operativo de 8 bits para las primeras 
microcomputadoras de la década de 1970. 
IPhone OS (IOS) Sistema operativo que utilizan los teléfonos iPhone de Apple. 
En la actualidad 4.0 es la última versión y sirve para teléfonos 
3G, 3GS y previsiblemente 4G. 
Android Sistema operativo abierto creado por Google que tiene gran 
aceptación en teléfonos inteligentes (smartphones). Ultimas 
versiones 2.3 y 3.0. 
Symblan Sistema operativo para teléfonos móviles apoyado 
fundamentalmente por el fabricante de teléfonos celulares 
Nokia. 
PalmOS Sistema operativo para agendas digitales (PDA) del fabricante 
Palm, propiedad de Hewlett-Packard. 
Windows Mobile Sistema operativo para teléfonos móviles con arquitectura y 
apariencias similares a Windows XP. 
Windows Phone 7 Versión de Windows 7 para teléfonos inteligentes que 
Microsoft comercializa desde octubre de 2010.
LIBRO: PROGRAMACION EN JAVA 
Algoritmos, programación orientada a objetos e interfaz grafica de usuario 
Luis Joyanes Aguilar 
Ignacio Zahonero Martinez 
JAVA 
Es un lenguaje de programación creado para desarrollar programas que ejecuten 
tareas de diversos tipos tales como escribir documentos, hojas de cálculo, nominas 
o aplicaciones estadísticas, navegadores (browsers), programas de correo 
electrónico, etc. y se diseñó de manera concreta para realizar una amplia gama de 
actividades en internet. 
Resolución de problemas con JAVA 
El proceso para resolver problemas con una computadora implica la escritura de un 
programa y su posterior ejecución; así, la programación es un proceso de resolución 
de problemas. Existen diferentes técnicas para resolverlos, y aunque el proceso de 
diseñar y construir programas es esencialmente creativo, se pueden considerar 
diferentes etapas en el proceso de programación. Las fases de resolución de un 
problema y sus características más destacadas son: 
 Análisis: El problema se examina considerando la especificación de los 
requisitos dados por el cliente, respecto al programa. 
 Diseño del Algoritmo: Una vez que se analiza el problema, se diseña una 
solución que conduzca a un algoritmo (método) que lo resuelva. 
 Codificación (implementación): La solución se escribe en la sintaxis de algún 
lenguaje de alto nivel, en este caso Java, y se obtiene un programa fuente que a 
continuación se compilara. 
 Compilación y ejecución: El programa se agrupa, en el caso de Java se 
interpreta, y ejecuta. 
 Verificación y depuración: El programa se comprueba rigurosamente y se 
eliminan todos los errores que aparezcan; dichas erratas se les domina bugs. 
 Mantenimiento: El programa se actualiza y se modifica cada vez que sea 
necesario para que se cumplan todas las necesidades de los usuarios; en esta 
fase se utilizan y mejoran los algoritmos realizando los cambios si los requisitos 
así lo exigen. 
 Documentación: Escritura de las diferentes fases del ciclo de vida del software, 
escecialmente el análisis, diseño y codificación; junto con manuales de usuario y 
de referencia, así como normas para el mantenimiento.
Análisis del problema 
Esta fase requiere definir el problema y especificar claramente las tareas que el 
programa debe realizar y el resultado o solución que se espera; esta etapa se divide 
en varias fases: 
 Comprender el problema lo más fielmente posible 
 Entender y describir los requerimientos o requisitos del problema. Es necesario 
aclarar si el programa requiere interacción con el usuario para leer datos de 
entrada y especificar los formatos de salida o resultados. 
 Especificar los datos supone describirlos y representarlos en su formato 
correspondiente. 
 Si el programa produce una salida, se debe especificar como generar y dar 
formato a los resultados. 
El análisis del problema requiere una definición clara que considere exactamente lo 
que el programa hará y la solución que se espera; a continuación especificamos 
algunas interrogantes que hay que tener presentes en esta fase: 
¿Qué entradas se requieren? El tipo y cantidad de datos con los cuales se trabaja. 
¿Cuál es la salida deseada? El tipo y cantidad de datos esperados en los 
resultados. 
¿Qué método produce la salida deseada? Los requisitos o necesidades adicionales 
y las restricciones de la solución. 
Diseño del algoritmo 
Después de analizar el problema y la descripción de las especificaciones 
necesarias, el paso siguiente es diseñar un algoritmo que lo resuelva; para esto, la 
computadora necesita que se le indiquen las tareas o acciones a ejecutar y su orden 
sucesivo. Un algoritmo es un método para resolver un problema mediante una serie 
de pasos precisos, definidos y finitos (la solución se alcanza en tiempo definido). 
Los pasos sucesivos que indican las acciones o instrucciones a ejecutar por la 
maquina constituyen el algoritmo; para completarlo se requiere el diseño previo del 
mismo, lo cual es independiente tanto del lenguaje de programación en que se 
expresara como la computadora que lo ejecutara. En la resolución del problema, el 
algoritmo se puede expresar en un lenguaje de programación diferente y ejecutarse 
en una computadora distinta, pero será siempre el mismo; por ejemplo: en una 
analogía de la vida diaria, una receta de cocina se puede expresar en español, 
inglés o francés, pero independientemente del lenguaje que hable el cocinero, los 
pasos de la receta serán los mismos.
La especificación del orden en el que se realizan las instrucciones o acciones del 
programa, se denomina control del programa; este control se realiza con 
instrucciones secuenciales o repetitivas (bucles o lazos). 
Las instrucciones del algoritmo en los lenguajes de programación de alto nivel 
también se conocen como sentencias. 
En la etapa del análisis del proceso de programación se determina lo que el 
programa hará y en la etapa de diseño se define como se realizara la tarea 
solicitada; los métodos más eficaces para diseñar se basan en la sentencia de Julio 
Cesar: divide y vencerás, es decir la solución de un problema complejo se realiza 
dividiendo el problema en subproblemas y a continuación fraccionando estos 
subproblemas en otros de nivel más bajo hasta que pueda implementarse una 
solución; este método se conoce técnicamente como diseño descendente (top-down) 
o modular. El proceso de dividir el problema en etapas y expresar cada paso 
en forma detallada se denomina refinamiento sucesivo, donde cada subprograma se 
resuelve mediante un módulo o subprograma que tiene un solo punto de entrada y 
un solo punto de salida. 
Cualquier software bien diseñado consta de un programa principal, siendo este el 
módulo de nivel más alto que llama a subprogramas o módulos de nivel más bajo 
que a su vez pueden llamar a otros subprogramas. Los módulos pueden planearse, 
codificarse, comprobarse y depurarse independientemente, incluso por diferentes 
programadores que los podrán combinar entre sí. 
El proceso implica ejecutar los siguientes pasos hasta que el programa se concluye: 
1.- Programar un modulo 
2.- comprobarlo 
3.- Si es necesario, depurarlo 
4.- Combinarlo con los módulos anteriores. 
El proceso que convierte los resultados del análisis del problema en un diseño 
modular con refinamientos sucesivos que permitan una posterior traducción aun 
lenguaje de programación en el que posteriormente se codificara. 
Como último paso en el diseño del algoritmo se debe comprobar y verificar su 
exactitud; es decir, que produzca un resultado en un tiempo finito. Los métodos que 
utilizan algoritmos se denominan algorítmicos. En contraste con los métodos 
heurísticos que implican algún juicio o interpretación, los primeros se pueden 
implementar en computadoras, mientras que los segundos, con dificultad. 
Los algoritmos se pueden expresar y representar gráficamente por medio de 
fórmulas, diagramas de flujo N-S y pseudocodigos; esta última representación es la 
más utilizada en las técnicas de programación modernas.
Ejemplo de un algoritmo “ir al cine a ver la película de Harry Potter” 
1.- inicio 
2.- ver la cartelera de cines por internet 
3.- si no proyectan “Harry Potter” entonces 
3.1.- decidir otra actividad 
3.2.- bifurcar al paso 7 
sino 
3.3.- ir al cine 
fin_si 
4.- si hay fila entonces 
4.1.- formarse 
4.2.- mientras haya personas delante hacer 
4.2.1.- avanzar en la fila 
fin_mientras 
fin_si 
5.- si hay localidades entones 
5.1.- comprar una entrada 
5.2.- ingresar a la sala 
5.3.- localizar la(s) butaca(s) 
5.4.- mientras proyectan la película hacer 
5.4.1.- Ver la película 
fin_mientras 
5.5.- abandonar el cine 
si_no 
5.6.- refunfuñar 
fin_si 
6.- volver a casa
7.- fin 
En el algoritmo anterior hay diferentes aspectos a considerar. En primer lugar, 
algunas palabras reservadas se han escrito deliberadamente en negrita (mientras, 
si_no; etc.). Estas palabras describen las estructuras fundamentales y los procesos 
de toma de decisión en el algoritmo; también incluyen los conceptos importantes de 
selección (expresadas por si-entonces- si_no, if-then-else) y de repetición 
(expresadas con mientras-hacer, hacer-mientras o a veces repetir-hasta o 
interar-fin_interar, en ingles, while do y do while, repeat-until) que se encuentran 
en casi todos los algoritmos, especialmente en los de proceso de datos. La 
capacidad de decisión permite seleccionar alternativas de acciones a seguir o 
indicar la repetición una y otra vez de operaciones básicas: 
si proyectan la película seleccionada ir al cine 
si_no ver la televisión, ir al futbol o leer el periódico 
Codificación 
La codificación es la escritura en lenguaje de programación de la representación del 
algoritmo desarrollada en las etapas precedentes. Puesto que el diseño de un 
algoritmo es independiente del lenguaje de programación utilizado para su 
implementación, el código puede escribirse con facilidad en un lenguaje o en otro. 
Para convertir el algoritmo en programa se deben sustituir las palabras reservadas 
en español por sus equivalentes en ingles, y las operaciones/instrucciones indicadas 
en lenguaje natural por las correspondientes en el lenguaje de programación 
correspondiente, siguiendo las reglas de sintaxis del mismo. Al terminar el diseño 
del algoritmo y verificar su exactitud, se procede a convertirlo en un programa y se 
escribe en lenguaje de alto nivel, en este caso, Java en alguna de sus versiones. 
Una vez escrito el código fuente del programa, este se debe introducir en la 
computadora mediante un editor de textos siguiendo las reglas de sintaxis de Java. 
Esta operación se realiza con un programa editor para posteriormente convertir el 
código fuente en un archivo de programa que se guarda o graba para su uso 
posterior. 
En el caso de Java, el programa fuente se guarda en un archivo de texto 
denominado NombrePrograma con la extensión .java, es decir 
NombrePrograma.java; el paso siguiente es compilar el código fuente. Si hay fallas, 
el compilador generara mensajes de error que se deben identificar y corregir para 
compilar nuevamente. Este paso se debe realizar las veces necesarias para eliminar 
todos los errores. El compilador genera el código maquina o bytecode en el caso de 
Java, cuando se han eliminado todos los errores de sintaxis.

Más contenido relacionado

PPT
Resolucion de problemas
PPT
Algoritmos y programacion
PPT
Algoritmos primero
PPT
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
DOC
Las fases de la programación
PDF
1.5 Metodología para la Solucion de Problemas
PPTX
3 resolucion de problemas con la computadora
DOC
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Resolucion de problemas
Algoritmos y programacion
Algoritmos primero
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Las fases de la programación
1.5 Metodología para la Solucion de Problemas
3 resolucion de problemas con la computadora
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...

La actualidad más candente (18)

DOC
Fases de programacion
PPTX
1 introduccion a la programacion 1
DOCX
Metodología para la resolución de problemas
PPTX
Fases del proceso de programación
PDF
Pasos para la solución de un problema por computador
PPS
Pasos Para Resolver Un Problema Utilizando Un Pc
PPS
Solucion de problemas por medio de computadoras
PPTX
Metodología de solución de problemas y programación
PPT
Tarea4
PDF
Resolucion De Problemas Con Computadora
PPTX
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
PPTX
PRUEBAS Y DEPURACIÓN
PPTX
Exposicion unidad-iii
PPTX
Algoritmos
PDF
Ingeniería introducción completa
PPT
Lenguajes de programación parte i.3
PPT
Tarea4
Fases de programacion
1 introduccion a la programacion 1
Metodología para la resolución de problemas
Fases del proceso de programación
Pasos para la solución de un problema por computador
Pasos Para Resolver Un Problema Utilizando Un Pc
Solucion de problemas por medio de computadoras
Metodología de solución de problemas y programación
Tarea4
Resolucion De Problemas Con Computadora
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
PRUEBAS Y DEPURACIÓN
Exposicion unidad-iii
Algoritmos
Ingeniería introducción completa
Lenguajes de programación parte i.3
Tarea4
Publicidad

Similar a Java y conceptos de apoyo (20)

PPTX
Conceptos básicos y metodología de la programación
PPT
Instructivo de TIC. Software
PPTX
Etapas para Desarrollar un Programa
DOCX
Actividad 7
DOCX
Fases de programacion
PDF
El algoritmo como estrategia y herramienta para la solución de problemas
DOCX
DOCX
Actividad 7
PPTX
MP.pptx
DOCX
Visual basic terminado[1]
DOCX
Visual basic terminado[1]
PPTX
Resolución de problemas haciendo uso del computador
DOCX
PPTX
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
PPTX
Metodologia
DOCX
DOCX
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
DOCX
ACTIVIDAD #7
DOCX
Actividad 7
DOCX
Actividad 7
Conceptos básicos y metodología de la programación
Instructivo de TIC. Software
Etapas para Desarrollar un Programa
Actividad 7
Fases de programacion
El algoritmo como estrategia y herramienta para la solución de problemas
Actividad 7
MP.pptx
Visual basic terminado[1]
Visual basic terminado[1]
Resolución de problemas haciendo uso del computador
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
Metodologia
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
ACTIVIDAD #7
Actividad 7
Actividad 7
Publicidad

Último (20)

DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
PDF
IPERC...................................
PDF
TOMO II - LITERATURA.pd plusenmas ultras
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Atencion prenatal. Ginecologia y obsetricia
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
informe tipos de Informatica perfiles profesionales _pdf
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PLANES DE área ciencias naturales y aplicadas
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
EL aprendizaje adaptativo bajo STEM+H.pdf
IPERC...................................
TOMO II - LITERATURA.pd plusenmas ultras
PLAN DE CASTELLANO 2021 actualizado a la normativa
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
Atencion prenatal. Ginecologia y obsetricia
V UNIDAD - PRIMER GRADO. del mes de agosto
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Presentación de la Cetoacidosis diabetica.pptx
informe tipos de Informatica perfiles profesionales _pdf
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS

Java y conceptos de apoyo

  • 1. Sistema Operativo Características Windows 7 Última versión del sistema operativo Windows de Microsoft. Sustituye al poco exitoso Windows Vista. H tenido una gran repercusión e impacto tanto en computadoras grandes, como en personales y portátiles (laptop, notebooks, netbooks, etcétera). Chrome Sistema operativo de Google, pensado para computadoras tipo netbooks; se presentó en 2010 pero todavía no se comercializa. Windows Vista Sistema operativo de Microsoft que se presentó a principios del año 2007 y que no ha tenido gran éxito. Windows XP Sistema operativo más utilizado en la actualidad, tanto en el campo de enseñanza como en la industria y negocios. Su fabricante es Microsoft. Windows 98/ME/2000 Versiones anteriores de Windows que todavía se utilizan UNIX Sistema operativo de fuente abierta, escrito en C y que aún se utiliza en el campo profesional. Linux Sistema operativo de fuente abierta, gratuito y de libre distribución. Similar a UNIX y una gran alternativa ante Windows. Actualmente se utiliza en servidores de aplicaciones para internet. Mac OS Sistema operativo de las computadoras Apple Macintosh. Su versión más popular es Mac OS X. DOS, MS-DOS y OS/2 Sistemas operativos creados por Microsoft e IBM respectivamente. Actualmente son poco utilizados pero son la base de los actuales sistemas operativos. CP/M Sistema operativo de 8 bits para las primeras microcomputadoras de la década de 1970. IPhone OS (IOS) Sistema operativo que utilizan los teléfonos iPhone de Apple. En la actualidad 4.0 es la última versión y sirve para teléfonos 3G, 3GS y previsiblemente 4G. Android Sistema operativo abierto creado por Google que tiene gran aceptación en teléfonos inteligentes (smartphones). Ultimas versiones 2.3 y 3.0. Symblan Sistema operativo para teléfonos móviles apoyado fundamentalmente por el fabricante de teléfonos celulares Nokia. PalmOS Sistema operativo para agendas digitales (PDA) del fabricante Palm, propiedad de Hewlett-Packard. Windows Mobile Sistema operativo para teléfonos móviles con arquitectura y apariencias similares a Windows XP. Windows Phone 7 Versión de Windows 7 para teléfonos inteligentes que Microsoft comercializa desde octubre de 2010.
  • 2. LIBRO: PROGRAMACION EN JAVA Algoritmos, programación orientada a objetos e interfaz grafica de usuario Luis Joyanes Aguilar Ignacio Zahonero Martinez JAVA Es un lenguaje de programación creado para desarrollar programas que ejecuten tareas de diversos tipos tales como escribir documentos, hojas de cálculo, nominas o aplicaciones estadísticas, navegadores (browsers), programas de correo electrónico, etc. y se diseñó de manera concreta para realizar una amplia gama de actividades en internet. Resolución de problemas con JAVA El proceso para resolver problemas con una computadora implica la escritura de un programa y su posterior ejecución; así, la programación es un proceso de resolución de problemas. Existen diferentes técnicas para resolverlos, y aunque el proceso de diseñar y construir programas es esencialmente creativo, se pueden considerar diferentes etapas en el proceso de programación. Las fases de resolución de un problema y sus características más destacadas son:  Análisis: El problema se examina considerando la especificación de los requisitos dados por el cliente, respecto al programa.  Diseño del Algoritmo: Una vez que se analiza el problema, se diseña una solución que conduzca a un algoritmo (método) que lo resuelva.  Codificación (implementación): La solución se escribe en la sintaxis de algún lenguaje de alto nivel, en este caso Java, y se obtiene un programa fuente que a continuación se compilara.  Compilación y ejecución: El programa se agrupa, en el caso de Java se interpreta, y ejecuta.  Verificación y depuración: El programa se comprueba rigurosamente y se eliminan todos los errores que aparezcan; dichas erratas se les domina bugs.  Mantenimiento: El programa se actualiza y se modifica cada vez que sea necesario para que se cumplan todas las necesidades de los usuarios; en esta fase se utilizan y mejoran los algoritmos realizando los cambios si los requisitos así lo exigen.  Documentación: Escritura de las diferentes fases del ciclo de vida del software, escecialmente el análisis, diseño y codificación; junto con manuales de usuario y de referencia, así como normas para el mantenimiento.
  • 3. Análisis del problema Esta fase requiere definir el problema y especificar claramente las tareas que el programa debe realizar y el resultado o solución que se espera; esta etapa se divide en varias fases:  Comprender el problema lo más fielmente posible  Entender y describir los requerimientos o requisitos del problema. Es necesario aclarar si el programa requiere interacción con el usuario para leer datos de entrada y especificar los formatos de salida o resultados.  Especificar los datos supone describirlos y representarlos en su formato correspondiente.  Si el programa produce una salida, se debe especificar como generar y dar formato a los resultados. El análisis del problema requiere una definición clara que considere exactamente lo que el programa hará y la solución que se espera; a continuación especificamos algunas interrogantes que hay que tener presentes en esta fase: ¿Qué entradas se requieren? El tipo y cantidad de datos con los cuales se trabaja. ¿Cuál es la salida deseada? El tipo y cantidad de datos esperados en los resultados. ¿Qué método produce la salida deseada? Los requisitos o necesidades adicionales y las restricciones de la solución. Diseño del algoritmo Después de analizar el problema y la descripción de las especificaciones necesarias, el paso siguiente es diseñar un algoritmo que lo resuelva; para esto, la computadora necesita que se le indiquen las tareas o acciones a ejecutar y su orden sucesivo. Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos (la solución se alcanza en tiempo definido). Los pasos sucesivos que indican las acciones o instrucciones a ejecutar por la maquina constituyen el algoritmo; para completarlo se requiere el diseño previo del mismo, lo cual es independiente tanto del lenguaje de programación en que se expresara como la computadora que lo ejecutara. En la resolución del problema, el algoritmo se puede expresar en un lenguaje de programación diferente y ejecutarse en una computadora distinta, pero será siempre el mismo; por ejemplo: en una analogía de la vida diaria, una receta de cocina se puede expresar en español, inglés o francés, pero independientemente del lenguaje que hable el cocinero, los pasos de la receta serán los mismos.
  • 4. La especificación del orden en el que se realizan las instrucciones o acciones del programa, se denomina control del programa; este control se realiza con instrucciones secuenciales o repetitivas (bucles o lazos). Las instrucciones del algoritmo en los lenguajes de programación de alto nivel también se conocen como sentencias. En la etapa del análisis del proceso de programación se determina lo que el programa hará y en la etapa de diseño se define como se realizara la tarea solicitada; los métodos más eficaces para diseñar se basan en la sentencia de Julio Cesar: divide y vencerás, es decir la solución de un problema complejo se realiza dividiendo el problema en subproblemas y a continuación fraccionando estos subproblemas en otros de nivel más bajo hasta que pueda implementarse una solución; este método se conoce técnicamente como diseño descendente (top-down) o modular. El proceso de dividir el problema en etapas y expresar cada paso en forma detallada se denomina refinamiento sucesivo, donde cada subprograma se resuelve mediante un módulo o subprograma que tiene un solo punto de entrada y un solo punto de salida. Cualquier software bien diseñado consta de un programa principal, siendo este el módulo de nivel más alto que llama a subprogramas o módulos de nivel más bajo que a su vez pueden llamar a otros subprogramas. Los módulos pueden planearse, codificarse, comprobarse y depurarse independientemente, incluso por diferentes programadores que los podrán combinar entre sí. El proceso implica ejecutar los siguientes pasos hasta que el programa se concluye: 1.- Programar un modulo 2.- comprobarlo 3.- Si es necesario, depurarlo 4.- Combinarlo con los módulos anteriores. El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamientos sucesivos que permitan una posterior traducción aun lenguaje de programación en el que posteriormente se codificara. Como último paso en el diseño del algoritmo se debe comprobar y verificar su exactitud; es decir, que produzca un resultado en un tiempo finito. Los métodos que utilizan algoritmos se denominan algorítmicos. En contraste con los métodos heurísticos que implican algún juicio o interpretación, los primeros se pueden implementar en computadoras, mientras que los segundos, con dificultad. Los algoritmos se pueden expresar y representar gráficamente por medio de fórmulas, diagramas de flujo N-S y pseudocodigos; esta última representación es la más utilizada en las técnicas de programación modernas.
  • 5. Ejemplo de un algoritmo “ir al cine a ver la película de Harry Potter” 1.- inicio 2.- ver la cartelera de cines por internet 3.- si no proyectan “Harry Potter” entonces 3.1.- decidir otra actividad 3.2.- bifurcar al paso 7 sino 3.3.- ir al cine fin_si 4.- si hay fila entonces 4.1.- formarse 4.2.- mientras haya personas delante hacer 4.2.1.- avanzar en la fila fin_mientras fin_si 5.- si hay localidades entones 5.1.- comprar una entrada 5.2.- ingresar a la sala 5.3.- localizar la(s) butaca(s) 5.4.- mientras proyectan la película hacer 5.4.1.- Ver la película fin_mientras 5.5.- abandonar el cine si_no 5.6.- refunfuñar fin_si 6.- volver a casa
  • 6. 7.- fin En el algoritmo anterior hay diferentes aspectos a considerar. En primer lugar, algunas palabras reservadas se han escrito deliberadamente en negrita (mientras, si_no; etc.). Estas palabras describen las estructuras fundamentales y los procesos de toma de decisión en el algoritmo; también incluyen los conceptos importantes de selección (expresadas por si-entonces- si_no, if-then-else) y de repetición (expresadas con mientras-hacer, hacer-mientras o a veces repetir-hasta o interar-fin_interar, en ingles, while do y do while, repeat-until) que se encuentran en casi todos los algoritmos, especialmente en los de proceso de datos. La capacidad de decisión permite seleccionar alternativas de acciones a seguir o indicar la repetición una y otra vez de operaciones básicas: si proyectan la película seleccionada ir al cine si_no ver la televisión, ir al futbol o leer el periódico Codificación La codificación es la escritura en lenguaje de programación de la representación del algoritmo desarrollada en las etapas precedentes. Puesto que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede escribirse con facilidad en un lenguaje o en otro. Para convertir el algoritmo en programa se deben sustituir las palabras reservadas en español por sus equivalentes en ingles, y las operaciones/instrucciones indicadas en lenguaje natural por las correspondientes en el lenguaje de programación correspondiente, siguiendo las reglas de sintaxis del mismo. Al terminar el diseño del algoritmo y verificar su exactitud, se procede a convertirlo en un programa y se escribe en lenguaje de alto nivel, en este caso, Java en alguna de sus versiones. Una vez escrito el código fuente del programa, este se debe introducir en la computadora mediante un editor de textos siguiendo las reglas de sintaxis de Java. Esta operación se realiza con un programa editor para posteriormente convertir el código fuente en un archivo de programa que se guarda o graba para su uso posterior. En el caso de Java, el programa fuente se guarda en un archivo de texto denominado NombrePrograma con la extensión .java, es decir NombrePrograma.java; el paso siguiente es compilar el código fuente. Si hay fallas, el compilador generara mensajes de error que se deben identificar y corregir para compilar nuevamente. Este paso se debe realizar las veces necesarias para eliminar todos los errores. El compilador genera el código maquina o bytecode en el caso de Java, cuando se han eliminado todos los errores de sintaxis.