Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
El objetivo de esta sesin consistir en explicar los conceptos de algoritmo, programa y lenguaje de programacin. As como explorar otros temas concurrentes.
Temtica
Sistemas de procesamiento de informacin. Concepto de Algoritmo. Lenguaje de programacin. Datos, tipos de datos y operaciones primitivas. Constantes y variables. Expresiones. Funciones intrnsecas. Asignacin. Entrada y salida de informacin.
Un sistema de esta clase se define como un conjunto de componentes interconectados entre s que transforman datos en informacin organizada, significativa y til.
Esquemticamente
Datos
Procesador
Informacin
Un algoritmo consiste en el grupo de instrucciones que definen la secuencia de operaciones a realizar para resolver un sistema especfico o clase de problema.
Conceptos importantes
Hardware: grupo de componentes fsicos de una computadora. Software: conjunto de programas que controlan el funcionamiento de una computadora
2. Concepto de Algoritmo
La metodologa de la programacin es aquella que es necesaria para resolver problemas mediante programas, su eje es el algoritmo.
Problema
Programa
El diseo del algoritmo describe el anlisis del problema y desarrollo del algoritmo. Expresar el algoritmo como un programa en un lenguaje de programacin. Ejecutar y validar el programa por la computadora.
Caractersticas algoritmos
de
los
Preciso, indicar el orden de cada paso. Definido, el mismo resultado se obtendr al ejecutar el algoritmo n ocasiones. Finito, deber terminar en algn momento.
Inicio. Leer el pedido. Examinar el historial crediticio del cliente Si el cliente es solvente, entregar el pedido. En caso contrario, rechazarlo. Fin
Inicio. Hacer SUMA igual cero. Establecer NUMERO igual a 3. Sumar NUMERO a SUMA. Incrementar NUMERO en 3 Si NUMERO es menor o igual que 30 ir a 4; si no imprimir a SUMA. Fin
Ejemplo 2.3 Genere un algoritmo que determine al mayor de tres nmeros enteros.
Inicio Leer los nmeros y guardarlos en NUM1, NUM2 y NUM3 respectivamente Comparar NUM1 y NUM2, el nmero mayor se guarda en AUX. Comparar AUX y NUM3, imprimir el nmero mayor. Fin.
de
el procesador de datos es una computadora entonces el algoritmo de solucin se expresa en un programa. Por tanto, un programa es escrito en un lenguaje de programacin. Luego, la programacin consiste en expresar las operaciones en forma de programa de un algoritmo.
Tipos de lenguajes
Mquina; Bajo
nivel (ensamblador); escrito en nemotcnicos. nivel; diseados para ser entendidos por el ser humano.
Alto
Instrucciones bsicas
Entrada/Salida; transferencia de informacin entre dispositivos perifricos y memoria central. Aritmtico/Lgicas; ejecutan operaciones de stos tipos. Selectivas; seleccionan tareas en funcin de los resultados Repetitivas; permiten la iteracin de secuencias de instrucciones un nmero dado de veces
Programa fuente
Intrprete
Traductores (cont.)
del
Lenguaje
Programa fuente
Compilador (Compiler)
Montador (Linker)
Un dato es la expresin general que describe los objetos con los cuales opera la computadora Los tipos son: simples (no estructurados) y compuestos (estructurados). Aquellos se subdividen en:
Datos primitivos
Datos
Numrico
Carcter
Lgico
Entero
Real
5. Constantes y Variables
Constantes: valores que durante la ejecucin de un programa no cambian su valor. Variables: valores que cambiarn durante la ejecucin del programa
6. Expresiones
Se
definen como una combinacin de constantes, variables, smbolos de operacin, parntesis, y nombres de funciones especiales. Una expresin consta de operandos y operadores. Las expresiones se clasifican en aritmticas, lgicas y carcter.
Expresiones aritmticas
Operador ** + * / Significado Exponenciacin Suma Resta Multiplicacin Divisin Tipo de operandos Entero o real Entero o real Entero o real Entero o real Real Tipo resultado Entero o real Entero o real Entero o real Entero o real Real
Div
Mod
Divisin entera
mdulo
Entero
Entero
Entero
Entero
Reglas de prioridad
Operador Parentesis Exponencial Multi, divide Div y mod Ms y menos Grfo ( ) ** *, / Div, mod +, -
Operadores de relacin
Expresin 1 Operador de relacin Expresin 2
Operadores lgicos
Operador lgico Not And Or Expresin lgica Not p PyQ PoQ Significado Negacin Conjuncin disyuncin
7. Funciones Intrnsecas
Funcin Abs(x) Arctan(x) Cos(x) Exp(x) Ln(x) Log10(x) Round(x) Sin(x) Sqr(x) Sqrt(x) Trunc(x) Descripcin Absoluto Tangente inversa Coseno Exponencial Log neperiano Log decimal Redondeo Seno Cuadrado Raz cuadrada Truncamiento
8. Operacin de Asignacin
Es
la forma de darle valores tanto a variables como constantes, se representa con el smbolo
Tipos de asignacin
Aritmtica
Lgica Cadena
de carcteres
La operacin de lectura READ permite el ingreso de los datos necesarios para los clculos computacionales. La operacin de escritura WRITE imprime la informacin procesada por el programa y su respectivo algoritmo.
11/09/2013
32
INDICE
OBJETIVO
SOLUCION
DE PROBLEMAS ANALISIS DEL PROBLEMA DISEO DEL ALGORITMO SOLUCION DEL PROBLEMA MEDIANTE COMPUTADORA REPRESENTACION GRAFICA DE ALGORITMOS PSEUDOCODIGO
11/09/2013 33
2.1 OBJETIVO
EXPONER
11/09/2013
34
Fases de fragmentacin:
Anlisis del problema: definicin concisa a fin de que sea analizado en todo detalle. Diseo del algoritmo: procedimiento, paso a paso, para la solucionar el problema dado. Solucin del algoritmo con la computadora: codificacin del algoritmo en un lenguaje de programacin
35
11/09/2013
propsito es ayudar al programador a llegar a un cierto grado de comprensin de la naturaleza del problema.
buena definicin del problema, junto con una descripcin detallada de entrada y salida, son los requisitos ms importantes para una solucin eficaz.
36
Una
11/09/2013
valores de los lados (variable LADO1 y variable LADO2). Salida: valor de la hipotenusa (variable LADO3). Variables: LADO1, LADO2 y LADO3 (tipo reales).
Los problemas complejos se resuelven eficazmente si se fragmentan en subproblemas que sean ms sencillos de solucionar que el original. Esta tcnica es conocida como divide y vencers (divide and conquer).
descomposicin del problema original en subproblemas cuya solucin puede implementarse a travs de la computadora se le denomina diseo descendente (top down design) La descripcin detallada de la solucin mediante pasos especficos se le denomina refinamiento del algoritmo (stepwise refinement).
Definicindel Problema Imprimir mltiplos de 9 y su suma siempre y cuando sea menor que 90
d) Num=+9
Sumatoria Total=+num
4.
5.
6.
7.
Inicio Total=0, Num=9, Limite=90 Print Num Total=Total+Num Si Num <= Limite entonces Num=Num+9 y regresar a 3 Print Total Fin
tarea
1. 2.
3.
Determine si una palabra es un palndromo. Determine el mximo comn divisor para dos nmeros enteros. Lea e imprima una serie de nmeros distintos de cero. El algoritmo terminar con un valor que no se debe imprimir . Finalmente obtenga la cantidad de valores ledos.
tarea
4. Imprima y sume la serie de nmeros mltiplos de 3 en el rango cerrado de 3 y 99. 5. Lea cuatro nmeros e imprima el mayor de ellos. 6. Calcule la superficie de un triangulo en funcin de la base y la altura.
Una vez diseado el algoritmo y representado mediante una herramienta de programacin se debe:
Solucin del Problema por Computadora
Los mtodos usuales para representarlo son: Diagrama de flujo Lenguaje de especificacin de algoritmo
2.7 PSEUDOCODIGO
Es
un lenguaje de especificacin de algoritmos que permite una codificacin rpida y simple. Su ventaja radica en que el programador no debe preocuparse por la sintaxis de un lenguaje de programacin en particular. Utiliza palabras sencillas de entender para codificar programas.
ESTRUCTURA DE UN
PROGRAMA
Concepto de Programa
Conjunto de instrucciones que producirn la ejecucin de una determinada tarea. Esencialmente es un medio para lograr un fin.
PROCESO DE PROGRAMACION
Consiste en la solucin de problemas y el desarrollo de programas
Partes de un programa
concepto de caja negra
Entrada Algoritmo Salida
Tipos de Instrucciones
(acciones que resuelven un problema)
De
Palabras reservadas. Identificadores (nombres de variables). Caracteres especiales. Constantes. Variables. Expresiones. instrucciones.
Otros elementos
Iteraciones
Es el segmento de un algoritmo o programa, cuyas instrucciones se repiten un nmero determinado de veces mientras se cumple una determinada condicin. Sus partes son: decisin cuerpo del bucle salida
Contadores
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada iteracin.
Acumuladores
Un Acumulador es una variable cuya misin es almacernar cantidades distintas resultantes de sumas sucesivas.
Interruptores
Un interruptor ( conmutador, bandera, flag) es una variable que puede tomar diversos valoresdurante la ejecucin de un programa y que permite comunicar informacin desde una parte a otra del mismo.
Componentes de un algoritmo
Algoritmo
Cabecera del programa Seccin de declaracin Seccin de acciones
PROGRAMACIN ESTRUCTURADA
Tcnicas de Programacin...
modular: Descomposicin del problema en mdulos.
estructurada: Programacin de cada mdulo mediante mtodos estructurados.
Programacin
Programacin
Todo programa tiene un mdulo principal. Dicho mdulo primario se divide en submdulos, que a su vez ejecutan una tarea nica y podrn codificarse de manera independiente de cualquier otra actividad. Sin embargo, al finalizar su funcin devolvern el control al mdulo principal. Esta independencia alude a que ningn otro mdulo podr accesarlo directamente, a excepcin de sus propios subsubmdulos y al mdulo principal.
Consideraciones .
Mdulo principal. Submdulo impresin de ttulos Submdulo de lectura de datos Submdulo ejecucin de procesos Submdulo impresin de resultados
de tcnicas que reducen el tiempo requerido para escribir, verificar, depurar y mantener los programas. Mediante el uso de:
recursos abstractos, diseo descendente, estructuras bsicas.
Recursos Abstractos
Consiste en descomponer una determinada accin compleja en un nmero de acciones ms simples, capaces de ser ejecutada por una computadora y sus respectivas instrucciones.
Diseo Descendente
TOP-DOWN DESIGN
Esta metodologa efecta una relacin de refinamiento entre las distintas etapas de estructuracin, de modo que se relacionen unas con otras, mediante entradas y salidas de informacin. Descompone el problema en etapas o estructuras jerrquicas, de modo que se pueda considerar cada estructura desde dos puntos de vista: qu hace y cmo lo hace
Diseo Descendente
Desde el exterior ..
Diseo Descendente
Desde el interior ..
Estructuras bsicas
Teorema de la programacin estructurada:
Un programa propio es aquel que cumple las siguientes caractersticas: secuenciales, selectivas, y repetitivas. posee un solo punto de entrada y salida. se puede recorrer toda la estructura del programa modular. todas las instrucciones son ejecutables y no existen bucles infinitos.
Instrucciones Secuenciales
FIN