SlideShare una empresa de Scribd logo
1 de 31
ALGORITMOS LeidyChavarria
Algoritmos  Definición de lenguaje: Lenguaje: Es una serie de símbolos que sirven para transmitir uno o mas mensajes (ideas) entre dos entidades diferentes. A la transmisión de mensajes se le conoce comúnmente como comunicación. La comunicación es un proceso complejo que requiere una serie de reglas simples, pero indispensablemente para poderse llevar a cabo. Las dos principales son las siguientes:  Los mensajes deben correr en un sentido a la vez. Debe forzosamente existir 4 elementos: Emisor, receptor, medio de comunicación y mensaje  Elaborado por: Leidy Chavarría Grajales
Algoritmos  GeneracionesLa evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. Primera generación: lenguaje maquina.  Segunda generación: se crearon los primeros lenguajes ensambladores.  Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…  Cuarta generación. Son los lenguajes capaces de generar código por si solos, RAD (rapidapplicationdevelopment), con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…  Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Lenguaje de Programación: Un lenguaje de programación: Es un conjunto de símbolos, caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora . Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación.  Los lenguajes de programación se clasifican en:  El lenguaje maquina:  Este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  El lenguaje  de bajo nivel (ensamblador):  El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Lenguajes de alto nivelSon aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Nota:EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Cuando programamos en lenguajes de alto nivel, lo que estamos haciendo en realidad es el código fuente de ese programa. Este código fuente debe ser traducido a binario para que las instrucciones que contienen puedan ser entendidas y ejecutadas por la máquina. Para esto existe un programa encargado de realizar la traducción, llamado traductor del lenguaje.  Estos traductores pueden ser de dos tipos:  Ensambladores Son los encargados de traducir los programas escritos en lenguaje ensamblador a lenguaje máquina Elaborado por: Leidy Chavarría Grajales
Algoritmos  CompiladoresSon programas que leen el código fuente y lo traducen o convierten a otro lenguaje. Estos programas te muestran los errores existentes en el código fuente.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Etapas del proceso de compilación: Edición. Esta fase consiste en escribir el programa empleando algún lenguaje y un editor. Como resultado nos dará el código fuente de nuestro programa.  Compilación. En esta fase se traduce el código fuente obtenido en la fase anterior a código máquina. Si no se produce ningún error se obtiene el código objeto. En caso de errores el compilador los mostraría para ayudarnos a corregirlos y se procedería a su compilación de nuevo, una vez corregidos.  Linkado. Esta fase consiste en unir el archivo generado en la fase dos con determinadas rutinas internas del lenguaje, obteniendo el programa ejecutable. Existen dos tipos de linkados:  linkado estático: Los binarios de las librerías se añaden a nuestros binarios compilados generando el archivo ejecutable.  Linkado dinámico: no se añaden las librerías a nuestro binario sino que hará que se carguen en memoria las librerías que en ese momento se necesiten.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Una vez traducido, compilado y linkado el archivo esta listo para su ejecución donde también podrán surgir problemas y fallos, para los cuales tendríamos que volver a realizar todo el proceso anteriormente citado, de modo que puedan ser corregidos. Por este motivo es importante realizar numerosas pruebas en tiempo de ejecución antes de presentar el programa al cliente. Otro sistema para la ejecución de nuestro código fuente es mediante el uso de intérpretes (estos no se encontrarían dentro de los traductores). http://www.upseros.com/compiladores.php Elaborado por: Leidy Chavarría Grajales
Algoritmos  IntérpretesLos intérpretes realizan la traducción y ejecución de forma simultanea, es decir, un intérprete lee el código fuente y lo va ejecutando al mismo tiempo. Las diferencias entre un compilador y un intérprete básicamente son: Un programa compilado puede funcionar por si solo mientras que un código traducido por un intérprete no puede funcionar sin éste.  Un programa traducido por un intérprete puede ser ejecutado en cualquier máquina ya que, cada vez que se ejecuta el intérprete, tiene que compilarlo.  Un archivo compilado es mucho más rápido que uno interpretado. Intérprete de comandos  En Windows XP se utiliza el Intérprete de comandos, que consta de casi los mismos comandos que MSDOS.  El Intérprete de comando de MSDOS se llama command.com (Inicio/Ejecutar/command)  El Intérprete de comandos de XP se llama cmd (Inicio/Ejecutar/cmd) Elaborado por: Leidy Chavarría Grajales
Algoritmos  Algoritmo La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX Definición 1.: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico. Definicion 2: Un algoritmo se puede definir como una secuencia finita de instrucciones, cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo finito.   Elaborado por: Leidy Chavarría Grajales
Algoritmos  Características de los algoritmos El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".  Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".  Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".  Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".  Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel". Elaborado por: Leidy Chavarría Grajales
Algoritmos  PARTES DE UN ALGORITMO Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida. Donde:     ENTRADA: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.   PROCESO: Pasos necesarios para obtener la solución del problema o la situación planteada.    SALIDA: Resultados arrojados por el proceso como solución.    Elaborado por: Leidy Chavarría Grajales
Algoritmos  En la practica, para evaluar un buen algoritmo se considera el tiempo que requiere su ejecución, esto puede ser expresado en términos de numero de veces que se ejecuta cada paso. Otros criterios de evaluación pueden ser la adaptabilidad del algoritmo al computador, su simplicidad y elegancia, etc. Algunas veces se tiene varios algoritmos para solucionar el mismo problema, y se debe decidir cual es el mejor. Esto ultimo conduce al “análisis de algoritmos”.  Lenguajes  Algorítmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explicita un proceso, estos lenguajes algorítmicos pueden ser: Gráficos: Es la representación grafica de las operaciones que realiza el algoritmo (diagrama de flujo) No gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo) Elaborado por: Leidy Chavarría Grajales
Algoritmos  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Diagrama de flujo Un diagrama de flujo es la representación grafica de un algoritmo. También se puede decir que es la representación detallada en forma grafica de cómo deben realizarse los pasos en la computadora para producir resultados. Esta representación grafica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI) Elaborado por: Leidy Chavarría Grajales
Algoritmos  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Recomendaciones para el diseño de Diagramas de FlujoSe deben usar solamente líneas de flujo horizontales y/o verticales.  Se debe evitar el cruce de líneas utilizando los conectores.  Se deben usar conectores sólo cuando sea necesario.  No deben quedar líneas de flujo sin conectar.  Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.  Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras Elaborado por: Leidy Chavarría Grajales
Algoritmos  PseudocódigoMezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El Pseudocódigo utiliza palabras que indican el proceso a realizar.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Ventajas de utilizar un Pseudocódigo a un Diagrama de FlujoOcupa menos espacio en una hoja de papel  Permite representar en forma fácil operaciones repetitivas complejas  Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación.  Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.  Diagramas estructurados (Nassi-Schneiderman)El diagrama estructurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma:  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Elaborado por: Leidy Chavarría Grajales  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Estructuras AlgorítmicasLas estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:  Elaborado por: Leidy Chavarría Grajales
Algoritmos  La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma:  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Ejemplo : el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos: • Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo Elaborado por: Leidy Chavarría Grajales
Algoritmos  AsignaciónLa asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constante a una variable (a 15)  Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a a + 1)  Acumulador: Consiste en usarla como un sumador en un proceso (a a + b)  De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a c + b*2/4).  En general el formato a utilizar es el siguiente: < Variable >      <valor o expresión > El símbolo      debe leerse “asigne”.  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Escritura o salida de datosConsiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue:  Elaborado por: Leidy Chavarría Grajales
Algoritmos  Lectura o entrada de datosLa lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así:  Elaborado por: Leidy Chavarría Grajales
Algoritmos  DECLARACION DE VARIABLES Y CONSTANTESLa declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es. Contador:   ENTERO Edad, I:   ENTERO Dirección :    CADENA_DE_CARACTERES Salario_Basico :    REAL Opción :    CARACTER En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario_Basico es una variable de tipo real, Opción es de tipo carácter y la variable Dirección está declarada como una variable alfanumérica de cadena de caracteres Elaborado por: Leidy Chavarría Grajales
Algoritmos  En el momento de declarar constantes debe indicarse que lo es y colocarse su respectivo valor. CONSTANTE Pi 3.14159 CONSTANTE Msg “Presione una tecla y continue” CONSTANTE ALTURA 40 Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza declarar las variables. Sin embargo en este curso lo haremos para todos los algoritmos que realicemos, con esto logramos hacerlos más entendibles y organizados y de paso permite acostumbrarnos a declararlas ya que la mayoría de los lenguajes de programación (entre ellos el C++) requieren que necesariamente se declaren las variables que se van a usar en los programas. Elaborado por: Leidy Chavarría Grajales
Algoritmos  Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos.  Elaborado por: Leidy Chavarría Grajales

Más contenido relacionado

La actualidad más candente

Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivasjonathangrief
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladoresCJAO
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- ProgramaciónYenny Salazar
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1X3025990
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazadorRickyZhengHu
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iRossana Sosa
 
Diapositivas de compiladores
Diapositivas de compiladoresDiapositivas de compiladores
Diapositivas de compiladoresHCL Technologies
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
Especialidad
EspecialidadEspecialidad
Especialidadbecew
 

La actualidad más candente (20)

H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
Programacion
ProgramacionProgramacion
Programacion
 
Bootstrapping
BootstrappingBootstrapping
Bootstrapping
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Algoritmos y programas
Algoritmos y programasAlgoritmos y programas
Algoritmos y programas
 
Ensayo
EnsayoEnsayo
Ensayo
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Diapositivas de compiladores
Diapositivas de compiladoresDiapositivas de compiladores
Diapositivas de compiladores
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Especialidad
EspecialidadEspecialidad
Especialidad
 

Similar a ALGORITMOS DEFINICIÓN LENGUAJES

1. Que es programacion
1. Que es programacion1. Que es programacion
1. Que es programacionFausto Orozco
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionjuanjokobrax
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion juanjokobrax
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Vladimir Pomares
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónanderson03230812
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De CompiladorJoel Soto
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compiladorJoel Soto
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 

Similar a ALGORITMOS DEFINICIÓN LENGUAJES (20)

Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
1. Que es programacion
1. Que es programacion1. Que es programacion
1. Que es programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compilador
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (16)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

ALGORITMOS DEFINICIÓN LENGUAJES

  • 2. Algoritmos Definición de lenguaje: Lenguaje: Es una serie de símbolos que sirven para transmitir uno o mas mensajes (ideas) entre dos entidades diferentes. A la transmisión de mensajes se le conoce comúnmente como comunicación. La comunicación es un proceso complejo que requiere una serie de reglas simples, pero indispensablemente para poderse llevar a cabo. Las dos principales son las siguientes: Los mensajes deben correr en un sentido a la vez. Debe forzosamente existir 4 elementos: Emisor, receptor, medio de comunicación y mensaje Elaborado por: Leidy Chavarría Grajales
  • 3. Algoritmos GeneracionesLa evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. Primera generación: lenguaje maquina. Segunda generación: se crearon los primeros lenguajes ensambladores. Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol… Cuarta generación. Son los lenguajes capaces de generar código por si solos, RAD (rapidapplicationdevelopment), con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes… Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP Elaborado por: Leidy Chavarría Grajales
  • 4. Algoritmos Lenguaje de Programación: Un lenguaje de programación: Es un conjunto de símbolos, caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora . Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación. Los lenguajes de programación se clasifican en: El lenguaje maquina: Este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. Elaborado por: Leidy Chavarría Grajales
  • 5. Algoritmos El lenguaje de bajo nivel (ensamblador): El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Elaborado por: Leidy Chavarría Grajales
  • 6. Algoritmos Lenguajes de alto nivelSon aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Nota:EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). Elaborado por: Leidy Chavarría Grajales
  • 7. Algoritmos Cuando programamos en lenguajes de alto nivel, lo que estamos haciendo en realidad es el código fuente de ese programa. Este código fuente debe ser traducido a binario para que las instrucciones que contienen puedan ser entendidas y ejecutadas por la máquina. Para esto existe un programa encargado de realizar la traducción, llamado traductor del lenguaje. Estos traductores pueden ser de dos tipos: Ensambladores Son los encargados de traducir los programas escritos en lenguaje ensamblador a lenguaje máquina Elaborado por: Leidy Chavarría Grajales
  • 8. Algoritmos CompiladoresSon programas que leen el código fuente y lo traducen o convierten a otro lenguaje. Estos programas te muestran los errores existentes en el código fuente. Elaborado por: Leidy Chavarría Grajales
  • 9. Algoritmos Etapas del proceso de compilación: Edición. Esta fase consiste en escribir el programa empleando algún lenguaje y un editor. Como resultado nos dará el código fuente de nuestro programa. Compilación. En esta fase se traduce el código fuente obtenido en la fase anterior a código máquina. Si no se produce ningún error se obtiene el código objeto. En caso de errores el compilador los mostraría para ayudarnos a corregirlos y se procedería a su compilación de nuevo, una vez corregidos. Linkado. Esta fase consiste en unir el archivo generado en la fase dos con determinadas rutinas internas del lenguaje, obteniendo el programa ejecutable. Existen dos tipos de linkados: linkado estático: Los binarios de las librerías se añaden a nuestros binarios compilados generando el archivo ejecutable. Linkado dinámico: no se añaden las librerías a nuestro binario sino que hará que se carguen en memoria las librerías que en ese momento se necesiten. Elaborado por: Leidy Chavarría Grajales
  • 10. Algoritmos Una vez traducido, compilado y linkado el archivo esta listo para su ejecución donde también podrán surgir problemas y fallos, para los cuales tendríamos que volver a realizar todo el proceso anteriormente citado, de modo que puedan ser corregidos. Por este motivo es importante realizar numerosas pruebas en tiempo de ejecución antes de presentar el programa al cliente. Otro sistema para la ejecución de nuestro código fuente es mediante el uso de intérpretes (estos no se encontrarían dentro de los traductores). http://www.upseros.com/compiladores.php Elaborado por: Leidy Chavarría Grajales
  • 11. Algoritmos IntérpretesLos intérpretes realizan la traducción y ejecución de forma simultanea, es decir, un intérprete lee el código fuente y lo va ejecutando al mismo tiempo. Las diferencias entre un compilador y un intérprete básicamente son: Un programa compilado puede funcionar por si solo mientras que un código traducido por un intérprete no puede funcionar sin éste. Un programa traducido por un intérprete puede ser ejecutado en cualquier máquina ya que, cada vez que se ejecuta el intérprete, tiene que compilarlo. Un archivo compilado es mucho más rápido que uno interpretado. Intérprete de comandos En Windows XP se utiliza el Intérprete de comandos, que consta de casi los mismos comandos que MSDOS. El Intérprete de comando de MSDOS se llama command.com (Inicio/Ejecutar/command) El Intérprete de comandos de XP se llama cmd (Inicio/Ejecutar/cmd) Elaborado por: Leidy Chavarría Grajales
  • 12. Algoritmos Algoritmo La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX Definición 1.: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico. Definicion 2: Un algoritmo se puede definir como una secuencia finita de instrucciones, cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo finito. Elaborado por: Leidy Chavarría Grajales
  • 13. Algoritmos Características de los algoritmos El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos". Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos". Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas". Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel". Elaborado por: Leidy Chavarría Grajales
  • 14. Algoritmos PARTES DE UN ALGORITMO Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida. Donde:    ENTRADA: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.   PROCESO: Pasos necesarios para obtener la solución del problema o la situación planteada.   SALIDA: Resultados arrojados por el proceso como solución.    Elaborado por: Leidy Chavarría Grajales
  • 15. Algoritmos En la practica, para evaluar un buen algoritmo se considera el tiempo que requiere su ejecución, esto puede ser expresado en términos de numero de veces que se ejecuta cada paso. Otros criterios de evaluación pueden ser la adaptabilidad del algoritmo al computador, su simplicidad y elegancia, etc. Algunas veces se tiene varios algoritmos para solucionar el mismo problema, y se debe decidir cual es el mejor. Esto ultimo conduce al “análisis de algoritmos”. Lenguajes Algorítmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explicita un proceso, estos lenguajes algorítmicos pueden ser: Gráficos: Es la representación grafica de las operaciones que realiza el algoritmo (diagrama de flujo) No gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo) Elaborado por: Leidy Chavarría Grajales
  • 16. Algoritmos Elaborado por: Leidy Chavarría Grajales
  • 17. Algoritmos Diagrama de flujo Un diagrama de flujo es la representación grafica de un algoritmo. También se puede decir que es la representación detallada en forma grafica de cómo deben realizarse los pasos en la computadora para producir resultados. Esta representación grafica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI) Elaborado por: Leidy Chavarría Grajales
  • 18. Algoritmos Elaborado por: Leidy Chavarría Grajales
  • 19. Algoritmos Recomendaciones para el diseño de Diagramas de FlujoSe deben usar solamente líneas de flujo horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores sólo cuando sea necesario. No deben quedar líneas de flujo sin conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras Elaborado por: Leidy Chavarría Grajales
  • 20. Algoritmos PseudocódigoMezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El Pseudocódigo utiliza palabras que indican el proceso a realizar. Elaborado por: Leidy Chavarría Grajales
  • 21. Algoritmos Ventajas de utilizar un Pseudocódigo a un Diagrama de FlujoOcupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación. Diagramas estructurados (Nassi-Schneiderman)El diagrama estructurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma: Elaborado por: Leidy Chavarría Grajales
  • 22. Algoritmos Elaborado por: Leidy Chavarría Grajales Elaborado por: Leidy Chavarría Grajales
  • 23. Algoritmos Estructuras AlgorítmicasLas estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en: Elaborado por: Leidy Chavarría Grajales
  • 24. Algoritmos La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: Elaborado por: Leidy Chavarría Grajales
  • 25. Algoritmos Ejemplo : el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos: • Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo Elaborado por: Leidy Chavarría Grajales
  • 26. Algoritmos AsignaciónLa asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constante a una variable (a 15) Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a a + 1) Acumulador: Consiste en usarla como un sumador en un proceso (a a + b) De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a c + b*2/4). En general el formato a utilizar es el siguiente: < Variable >      <valor o expresión > El símbolo      debe leerse “asigne”. Elaborado por: Leidy Chavarría Grajales
  • 27. Algoritmos Escritura o salida de datosConsiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue: Elaborado por: Leidy Chavarría Grajales
  • 28. Algoritmos Lectura o entrada de datosLa lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así: Elaborado por: Leidy Chavarría Grajales
  • 29. Algoritmos DECLARACION DE VARIABLES Y CONSTANTESLa declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es. Contador:   ENTERO Edad, I:   ENTERO Dirección :    CADENA_DE_CARACTERES Salario_Basico :    REAL Opción :    CARACTER En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario_Basico es una variable de tipo real, Opción es de tipo carácter y la variable Dirección está declarada como una variable alfanumérica de cadena de caracteres Elaborado por: Leidy Chavarría Grajales
  • 30. Algoritmos En el momento de declarar constantes debe indicarse que lo es y colocarse su respectivo valor. CONSTANTE Pi 3.14159 CONSTANTE Msg “Presione una tecla y continue” CONSTANTE ALTURA 40 Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza declarar las variables. Sin embargo en este curso lo haremos para todos los algoritmos que realicemos, con esto logramos hacerlos más entendibles y organizados y de paso permite acostumbrarnos a declararlas ya que la mayoría de los lenguajes de programación (entre ellos el C++) requieren que necesariamente se declaren las variables que se van a usar en los programas. Elaborado por: Leidy Chavarría Grajales
  • 31. Algoritmos Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. Elaborado por: Leidy Chavarría Grajales