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
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.
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
Representacin con flujos entre los procesos a realizar. Los principales smbolos de representacin para este diagrama son:
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.
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:
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:
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.
examinar cuidadosamente el problema , obtener una idea clara sobre lo que se solicita y de lo que se necesita necesarios para solucionarlo.
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
b. Selectivas c. Repetitivas