Anda di halaman 1dari 20

Algoritmos y Programacin

Asignatura: Algoritmia y Estructura de Datos


Recopilado por Ing. Carol Rojas Moreno

Propsito de la Clase

Diferencia el algoritmo computacional en el uso de los lenguajes de programacin y las tcnicas de la programacin estructurada.

Algoritmo
1.1 Definicin de Algoritmo

Conjunto ordenado y finito de pasos (acciones, instrucciones) ordenados que conducen a la solucin de un problema.
Por ejemplo: - Al instalar un equipo de sonido ejecutamos las instrucciones (algoritmo) contenidas en el manual del equipo. - Algoritmo matemtico de Euclides para la obtencin del mximo comn divisor de dos nmeros. Si un algoritmo puede ser ejecutado por una computadora, se dice que es un algoritmo computacional; en caso contrario, se dice que es un algoritmo no computacional.

Algoritmo : se expresa en instrucciones a travs de un lenguaje de programacin, teniendo como resultado un programa.

Todo algoritmo puede ser descompuesto en tres partes: E= Entrada de datos. Proceso. S=Salida de resultados. En cada uno de ellos se necesita el uso de variables. Variable: Localizacin de memoria principal que almacena un valor que puede cambiar en el transcurso de la ejecucin del programa. Tiene un nombre, un tipo de dato y un valor. Ejemplo 1: Entero edad

18 Entero edad (direccion en memoria 00BF)

Ejemplo 2: Real peso, talla

1.2 Caractersticas de un algoritmo

Ser preciso: los pasos del algoritmo deben desarrollarse en un orden estricto, obedecer a un orden lgico. Ser definido. El computador solo desarrollar las tareas programadas y con los datos suministrados; no puede improvisar el dato que necesite para realizar un proceso. Ser finito: implica que el nmero de pasos de un algoritmo, debe ser limitado. Presentacin formal: para que el algoritmo sea entendido se exprese en alguna de las formas comnmente aceptadas: el pseudocdigo, diagrama de flujo y diagramas de Nassi/Schneiderman, entre otras. Correccin: Para garantizar que el algoritmo logre el objetivo, es necesario ponerlo a prueba: verificacin o prueba de escritorio. Eficiencia: es evaluar los recursos que requiere para almacenar datos y para ejecutar operaciones frente al beneficio que ofrece.

1.3 Instrucciones Algortmicas Bsicas


a. Entrada
Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. En general, la accin de ingresar un dato a una variable se expresa en el pseudocdigo mediante la palabra LEER, de la siguiente forma: LEER variable Ejemplo: LEER edad

b. Salida
Consiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. En general, la accin de mostrar el valor de una variable se expresa en el pseudocdigo mediante la palabra IMPRIMIR (ESCRIBIR) de la siguiente forma:
IMPRIMIR variable Ejemplo: IMPRIMIR TotalCompra

c. Asignacin
Consiste en dar a una variable el valor de una expresin. La asignacin se expresa en el pseudocdigo de la siguiente forma: variable = expresin variable expresin Donde variable y el valor de expresin deben tener el mismo tipo de dato. Ejemplo: resultado numero1 + numero 2

1.4 Representacin del Algoritmo Pseudocdigo


Es la representacin del algoritmo en lenguaje natural. Ejemplo: sumar dos nmeros enteros.

Ejemplo: sumar dos nmeros.

Diagrama de Flujo Estructurado

Representacin con flujos entre los procesos a realizar. Los principales smbolos de representacin para este diagrama son:

Diagrama Nassi/Schneiderman (N-S)

Representacin en bloques, es decir cada uno de los procesos como ingreso/salida de datos, decisiones, acciones, repeticiones; estn representados en bloques de tareas consecutivos.

Actividades Elaborar el algoritmo y su respectiva representacin, identificando los elementos de entrada y los elementos de salida, para los siguientes casos: El proceso de asistir a clases a un centro de estudios. El proceso de solicitar un libro en la biblioteca de una universidad. El proceso de un punto de ventas de un supermercado. El proceso de intercambiar dos valores numricos. El proceso de calcular la regla de tres simple. El proceso de matrcula para elaborar una lista de contactos digital. El proceso de Matrcula en una universidad. Como ejercitar una Mente Abierta: http://es.wikihow.com/ejercitar-una-mente-abierta

Programacin en el Computador
2.1 Programa Secuencia de instrucciones que especifican las operaciones que debe realizar la computadora, en la cual cada paso del algoritmo est expresado por medio de una instruccin.

2.2 Lenguaje de Programacin


Conjunto de sentencias utilizadas para escribir secuencias de instrucciones que para que ejecute un programa en una computadora. Se clasifican en: Lenguaje Mquina, Lenguajes de Bajo Nivel, Lenguajes Alto Nivel.

Tipos de Lenguaje de Programacin


Lenguaje Mquina: Lenguaje de programacin que la computadora interpreta y ejecuta directamente, y est compuesto de instrucciones codificadas en binario (0, 1). Lenguaje de Bajo Nivel: tambin llamados lenguajes ensambladores, permiten al programador escribir instrucciones de un programa usando abreviaturas del lenguaje natural (ingls), tambin llamadas palabras nemotcnicas (ADD, DIV, SUB, etc).

Lenguaje de Alto Nivel: permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintcticas muy similares al lenguaje natural (ingls).

2.3 Programas Traductores Traducen los programas fuente de a cdigo mquina. Pueden ser:

Intrprete: es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta.

Compilador: es un traductor que toma un programa fuente, y lo traduce sentencia por sentencia.

La compilacin es el proceso de traduccin del programa fuente a programa objeto (traducido a cdigo mquina), a travs de un programa enlazador, para conducir al programa ejecutable.

2.4 Programacin Estructurada Conjunto de tcnicas para escribir, verificar, depurar, y mantener los programas. Es una metodologa de desarrollo de programas llamada refinamientos sucesivos: - Se plantea una operacin como un todo. - Se divide en segmentos ms sencillos o de menor complejidad. - Luego unificar las aplicaciones. Este enfoque utiliza tres tcnicas:

- Recursos Abstractos. - Diseo Descendente. - Estructuras Bsicas.

Tcnicas usadas: ste conjunto de tcnicas permite elaborar programas en cualquier lenguaje de programacin.
Recursos Abstractos Descomponer una determinada accin compleja en acciones ms simples, para ser ejecutadas y que sern instrucciones. Diseo Descendente El problema se descompone en niveles o pasos sucesivos: que hace? como lo hace?

Estructuras bsicas Son estructuras de control para el programa: Secuenciales Selectivas Repetitivas

2.5 Resolucin de un Problema Los siguientes pasos propuestos para la resolucin de problemas estn basados en el Ciclo de Vida Clsico en la Construccin de un Software.

Anlisis del Problema:

examinar cuidadosamente el problema , obtener una idea clara sobre lo que se solicita y de lo que se necesita necesarios para solucionarlo.

Diseo del Algoritmo

secuencia ordenada de pasos, sin ambigedades, que conducen a la resolucin de un problema.

Expresar el algoritmo en un programa.

escribir el algoritmo usando la sintaxis de un lenguaje de programacin.

Ejecucin y Validacin del programa.

corregir el programa y ejecutarlo con las validaciones.

TA N 1 Investigar y presentar: Tipos de Datos, Variables, Constantes, Operadores y Jerarqua de Operadores en el lenguaje C/C++. - Trabajo Individual - Fecha de Presentacin: Lunes 17 de Marzo - Formato de Presentacin: Impreso

Sntesis
Algoritmo es:
Conjunto de pasos, ordenados y finitos, para resolver un problema. No Computacional Computacional

Programa

Se representa: Pseudocodigo Diagrama de Flujo Diagrama N-S. Intrprete Compilador


1. Recursos Abstractos 2. Diseo Descendente 3. Sentencias Bsicas a. Secuencial

Tipos de Programas Traductores:

Tcnicas de Programacin Estructurada:

b. Selectivas c. Repetitivas

Anda mungkin juga menyukai