Algoritmos (FF)
-
Upload
sergio-eduardo-arboleda-villa -
Category
Documents
-
view
13 -
download
0
description
Transcript of Algoritmos (FF)
-
Introduccinalaprogramacin:
Introduccinalaprogramacin:
Algoritmos
-
Algoritmo La palabra algoritmo proviene del nombre del matemtico
persa del siglo IX Muhammad ibn Musa al-Jwarizmi
Un algoritmo es una secuencia ordenada de pasos, sinambigedades, que permite la resolucin de un problemadado y expresado en lenguaje natural, ej. en castellano.
Caractersticas de un algoritmo Preciso: Indica el orden de realizacin de cada uno de sus
pasos. Finito: si se sigue el algoritmo, se debe terminar en algn
momento, es decir tiene un numero finito de pasos. Definido: si se sigue dos veces el algoritmo con los mismo
datos de entrada, la salida debe ser la misma.
-
Algoritmoparacambiarunalamparita 1. Retirar la lamparita fundida
1. Colocar una escalera debajo de la lmpara 2. Subir la escalera 3. Desenroscar la lamparita en el sentido contrario de las agujas del
reloj 4. Bajar la escalera
2. Poner una lamparita nueva 1. Tomar la lamparita nueva 2. Subir la escalera 3. Enroscar la lamparita en el sentido de las agujas del reloj 4. Bajar la escalera 5. Retirar la escalera
-
Descripcindealgoritmos Metodologa para describir algoritmos
Entrada: Informacin dada al algoritmo. Proceso: Operaciones o clculos necesarios para encontrar la solucin
del problema. Salida: Respuestas dadas por el algoritmo o resultados finales de los
procesos realizados.
El lenguaje algortmico debe ser independiente de cualquierlenguaje de programacin particular, pero fcilmentetraducible a cada uno de ellos. Alcanzar estos objetivosconducir al empleo de mtodos normalizados para larepresentacin de algoritmos, tales como los diagramas deflujo o el pseudocdigo.
-
Notacionesparadescribiralgoritmos Mtodo informal
Lenguaje natural Ventajas: comprensible e intuitivo Inconveniente: impreciso
Mtodos formales Pseudocdigo
Lenguaje natural limitado y sin ambigedad Diagramas
Diagramas de flujo u organigramas Utiliza un conjunto de smbolos para representar cada estructura de control y mediante
lneas de flujo se indica el orden en que se realiza el flujo lgico del algoritmo
Diagramas de Nassi-Schneiderman o Diagramas N-S Los pasos sucesivos se escriben en cajas con distintas formas segn la estructura de
control que representen
-
Notacionesparadescribiralgoritmos Variables
Numricas: Enteros: integer Reales (punto flotante): real
Alfanumricas: Carcter: char Cadena de caracteres: string
Lgicas: boolean
Operaciones: Asignacin: = Aritmticas: +, -, *, /, ^ (potenciacin), MOD (resto divisin entera) Lgicas: >,
-
Algoritmoquecalculelasuperficiedeunrectnguloproporcionndolesubaseyaltura.(Metodologa) Especificaciones de entrada:
Qu datos son de entrada? Cuntos datos se introducirn? Cuntos son datos de entrada validos?
Especificaciones de salida: Cules son los datos de salida? Cuntos datos de salida se producirn? Qu formato y precisin tendrn los resultados?
El algoritmo que podemos utilizar es el siguiente: Paso 1: Entrada desde el teclado de los datos de base y altura Paso 2: Calculo de la superficie, multiplicando la base por la altura Paso 3: Salida por pantalla de base, altura y superficie calculada.
-
Algoritmoparacalcularelcocientedeunadivisinenterasinusarlaoperacindedivisin(LenguajeNatural)
1. Leer el numerador N y el denominador D 2. Inicializar el cociente a 0 (C 0) 3. Si N=D volver al paso 4 7. Mostrar el valor de C
10 250
-
Algoritmoparacalcularelcocientedeunadivisinentera(Diagramadeflujo)
-
DiagramasdeFlujoSon grficas detalladas que representan los pasos que se debenejecutar dentro de la computadora a fin de producir los resultadosesperados. Los Diagramas de Flujos son una tcnica estndar pararepresentar algoritmos y son independientes del lenguaje deprogramacin utilizado.
InicioyTrminodeprogramaosubprograma.
Asignacin/Accin
Entradadeinformacin
Salidadeinformacin
CicloiterativoMientras
CiclorepetitivoPara
Cierredeciclos
SentidodelFlujo
Simbologa
Condicin(Direccindelflujodecontrol)
MQ
PARA
CIERRE
-
DiagramasdeFlujo Todo diagrama de flujo debe tener un inicio y un fin. Las lneas utilizadas para indicar la direccin del diagrama
deben ser rectas, horizontales o verticales, nunca se debencruzar entre si.
No deben haber lneas sin conexin a los dems elementosdel diagrama de flujo.
Un diagrama de flujo se debe construir de arriba hacia abajoy de requerirse de izquierda a derecha.
La notacin o smbolos utilizados son independientes dellenguaje de programacin utilizado para la elaboracin delprograma o aplicacin.
No puede llegar mas de una lnea de conexin a un smbolo.
-
EstructurasBsicasdelosDiagramasdeFlujo
1) Secuencia Simple
C= (A+B)*(A-B)
Leer A, B
Inicio
Imprimir C
Final
-
2) Decisin Simple
Condicin
INST
F
V
Forma1 Forma2
Condicin
INST 2
FV
INST 1
A = 20
A = A + 1
F
V
A < 20
A = C
FV
A = B
Ejemplos:
El objeto decisin selecciona el flujo a seguir de acuerdo al valor lgico de una condicin. La condicin debe ser siempre una expresin que al ser evaluada de como resultado un valor Lgico.
-
3) Decisin Mltiple
INST 1
Variable
B
INST 2 INST 3
CA
A = A + 1
I
2
A = A + 2 A = A + 3
31
-
4) Iteracin
El objeto Ciclo Mientras tiene como funcin el ejecutar un bloque de objetos mientras que una condicin sea verdadera. La condicin debe ser siempre una expresin que al ser evaluada de como resultado un valor de tipo Lgico. Si al evaluar la condicin se obtiene el valor F la ejecucin del algoritmo continuar a partir del objeto que sigue al Cierre.
Condicin
INST
A < 10
A = A + 1
Ejemplos:
MQ
MQ
-
5) Repeticin
Ejemplos:
v = inicio, fin, incremento
INST
I = 1, 20, 1
A = A + 1
Su funcin es ejecutar un bloque de objetos mientras que la variable contadora no alcance el lmite establecido por el valor final. El contador es siempre una variable de tipo de dato entero. Contiene adems un valor inicial que ser asignado al contador al iniciar la ejecucin del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecucin continuar a partir del objeto que sigue al Cierre. En caso contrario, se ejecutar el cuerpo del ciclo y el contador ser incrementado en el valor indicado por el incremento.
PARA
-
EJEMPLODeterminar si un nmero ingresado por el usuario es par o impar.
Leer A
Inicio
Imprimir par
Final
A > 0
A = A - 2
A = 0FV
Imprimir impar
MQ
-
Se denomina notacin de pseudocdigo a aquella quepermite describir la solucin de un problema en forma dealgoritmo dirigido a una computadora utilizando palabras yfrases del lenguaje natural sujetas a determinadas reglas.
El pseudocdigo se considera una herramienta para el diseoque permite obtener una solucin mediante aproximacionessucesivas.
Pseudocdigo
1. Inicio2. Int a, b, c // declara las variables a, b y c como enteras3. a
-
Algoritmoparacalcularlasumadedosvaloresingresadosporteclado(Pseudocdigo)
1. Inicio2. Int a, b, c3. Escribir Ingrese un valor entero4. Leer a5. Escribir Ingrese otro valor entero6. Leer b7. c
-
WebgrafayLicencia: Textos tomados, corregidos y modificados de diferentes pginas
de Internet, tutoriales y documentos. Este documento se encuentra bajo Licencia Creative Commons
2.5 Argentina (BY-NC-SA), por la cual se permite su exhibicin,distribucin, copia y posibilita hacer obras derivadas a partir dela misma, siempre y cuando se cite la autora del Prof. Matas E.Garca y slo podr distribuir la obra derivada resultante bajouna licencia idntica a sta.
Autor:
Matas E. Garca.
Prof. & Tec. en Informtica [email protected]