sesion_03_-_pseudocodigo_-_teoria.pptx

37
Técnicas de Representación de Algoritmos: Pseudocódigo Ing. Edwin Valencia Informática

Upload: luis-tellez

Post on 24-Sep-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Presentacin de PowerPoint

Tcnicas de Representacin de Algoritmos: PseudocdigoIng. Edwin ValenciaInformticaALGORITMO: Tcnicas de Representacin Est tcnica permite representar el algoritmo mediante un lenguaje ms estructurado, facilitando su posterior codificacin. PseudocdigoInicio Instruccin 1 Instruccin 2 Si condicin entonces Instruccin 3 . . . Instruccin nFinALGORITMO: Tcnicas de Representacin Un pseudocdigo (falso lenguaje), es una serie de normas lxicas y gramaticales parecidas a la mayora de los lenguajes de programacin, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquialEl pseudocdigo no est regido por ningn estndar. pseudo viene de falso y por ende es un cdigo al que aunque es entendible no se aplica al proceso que debe realizar la maquina. PSEUDOCDIGO:Cmo se Hace?Cada instruccin que se va a realizar debe comenzar por un verbo, ejemplo: Leer, Escribir, Calcular, etc.Se debe mantener una identacin o sangra sobre el margen izquierdo para identificar fcilmente el comienzo y final de las estructuras La representacin de las estructuras son similares u homnimas de los lenguajes de programacin, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc.123PSEUDOCDIGO:Cmo se Hace?Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la accin de introducir datos o variables desde un dispositivo estndar de entrada.Calcular : Denota la realizacin de cualquier operacin aritmtica que genere valores para ser almacenados en una variable.

Escribir: Representa la accin de enviar datos desde variables a un dispositivo estndar de salida.Fin: Denota el punto de finalizacin del algoritmo.Datos: Variables: variables a usar en el algoritmoConstantes: constantes a usar en el algoritmoAlgoritmoUn primer ejemplo de PSEUDOCODIGOEl siguiente algoritmo calcula el rea y el permetro de un rectnguloInicioDatosbase, altura, area, perimetronumrico enteroAlgoritmoLeer base ,alturaCalcular area = base * alturaCalcular perimetro =2*(base+ altura) Escribir rea del rectngulo: , areaEscribir Permetro del rectngulo: , perimetroFin Datos de entrada: base y alturaDatos de Salida: area y perimetroProcesos: area = base*altura, perimetro= 2*(base + altura)Anlisis resumido del problemaPedir al usuario la temperatura actual en grados centgrados y mostrar en pantalla su equivalente a grados farenheit: Grados centgrados: 30 Grados farenheit: 86

F = (9/5) x C + 32Iniciodatoscent, far numerico realalgoritmoEscribir Ingrese la temperatura en centgrados: Leer centCalcular far = (9/5) x cent + 32Escribir La temperatura en Fahrenheit es: + farFinElementos de un Algoritmo - PseudocdigoEldatoes una representacin simblica (numrica, alfabtica, algortmica, entre otros.), un atributo o caracterstica de una entidad. Los datos describen hechos empricos, sucesos y entidades.

Los datos aisladamente pueden no contener informacin humanamente relevante.

Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la informacin

DatoEntoces puede significar un numero, una letra, o cualquier smbolo que representa una palabra, una cantidad, una medida o una descripcin.De ah que no debemos confundir entre el dato mismo y su representacin. Por ejemplo:

Dato especficoinformacin que representa25 aosedadDatoLos algoritmos generalmente operan sobre datos, pero estos no son masas de informacin simplemente, sino que involucran importantes relaciones entre s.

Por ejemplo: Dados tres nmeros, que se suponen representan los lados de un tringulo, evaluar sus longitudes para indicar qu tipo de tringulo podemos formar?

Tipos de datosLos datos pueden clasificarse en tipos de datos.

Sirven para indicar al computador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar.

Esto incluye imponer restricciones en los datos, como: qu valores pueden tomar y qu operaciones se pueden realizar. Tipos de datos comunes son: enteros, nmeros decimales, cadenas alfanumricas (usados en programcin), fechas, horas, colores, coches o cualquier cosa que se nos ocurra.

Tipos de DatosALGORITMO: Tipos de DatosCaracterRealEnteroBoleanocadenaNumricosLgicosCarcterTipos de DatosPor ejemplo, en el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, as como las operaciones que se pueden realizar con los enteros, como la suma, resta, multiplicacin y divisin.

Tipos de DatosCualquier programa, independiente del lenguaje usado, se puede entender como un conjunto de operaciones que se aplican a ciertos datos en una cierta secuencia (Pratt y Zelkowitz, 1996)

La diferencia bsica entre los lenguajes se refiere a los tipos de datos permitidos, a los tipos de operaciones disponibles y a los mecanismos de control en la que se aplican las operaciones a los datos Tipos de Datos SimplesSe dividen en:Numricos (enteros, reales)Lgicos (falso, verdadero)Caracter (alfabticos a, b, c , especiales + < )

VariableAquel que permite representar la informacin a la que se refiere el dato. Tambin conocido en matemticas como variable (es un smbolo que representa un elemento o cosa no especificada de un conjunto dado)En el ejemplo: con edad podemos representar a un conjunto universal de edades, donde cada elemento del conjunto es un valor de la variable {25, 3, 14, 89, 32} edad = 3

VariableEn programacin, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecucin de un programa.ConstanteEn programacin, una constante es un valor que no puede ser alterado durante la ejecucin de un programa.Una constante corresponde a una longitud fija de un rea reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.Por ejemplo:El valor de pi = 3.1416

Constantes y VariablesLos programas de computadora contienen ciertos valores (contenedores) que dependen de la caractersticas del problema, es decir:

NO CAMBIAN de valor(es) durante la ejecucin del programa, por eso se conocen como CONSTANTES

2. Pueden CAMBIAR de valor(es) durante la ejecucin del programa, por eso se conocen como VARIABLES, tomando cualquier valor del tipo con el que ha sido declarado

ALGORITMO: OperadoresAritmticosLgicosRelacionales+- > = 3

Expresiones Combinacin de constantes, variables, smbolos de operacin, parntesis y nombres de funciones

Cada expresin toma un valor que se determina tomando los valores de las variables y constante implicadas y la ejecucin de las operaciones

Una expresin consta de operandos y operadores: aritmticos lgicos relacionales caracter Pseudocdigo: DiseoAnlisis del problema

Definicin del problema

Seleccin de la mejor alternativa

AlgoritmoDiagramacinPseudocdigo

Pseudocdigo: Definicin del Problema Est dada por el enunciado del problema, el cul debe ser claro y completo Es importante que conozcamos exactamente que se desea.Mientras qu esto no se comprenda, no tiene caso pasar a la siguiente etapa.

Pseudicdigo: Definicin del ProblemaCapturar un grupo de nmeros hasta que se digite 0, e indicar cuales de ellos son punto silla. Un nmero punto silla es aquel que dado tres valores, el valor central es, es mayor que el de su izquierda y menor que el de su derecha. Ejemplo

Pseudicdigo: Definicin del ProblemaSi los nmeros digitados por el usuario son:5,4,12,15,6,20,32 Los nmeros punto silla sern:12 y 20 EjemploPseudocdigo: Anlisis del ProblemaLos datos de salida o resultados que se esperanLos datos de entrada que nos suministran Los nmeros que el usuario va a digitar, es necesario entender que estos no se van a ingresar al mismo tiempo, por tanto se debe usar un solo espacio de memoria por ejemplo: numEl proceso que debe realizarseLas operaciones que es necesario hacer, en este caso, para hallar el punto silla se deber comparar el segundo numero digitado con el primero y el tercero, esto hace que se generen tres trminos : num_ant , num_m, num_sig y nroT(para saber cuantos nmeros se han digitado)El programa deber mostrar los nmeros punto silla, por lo tanto es mejor ir evaluando cada nmero.Diseo del Pseudocdigo: EjemploDefinicin del problemaCalcular los porcentajes de hombres y mujeres en un grupo de N deportistasAnlisis del problemaDatos a considerar: Sexo de la persona (S)Nmero de personas del sexo masculino (CM)Nmero de personas del sexo femenino (CF)Total de deportistas (N)Porcentaje de hombres (PM)Porcentaje de mujeres (PF)Ejemplos de algoritmos (I.b.) Datos de entrada:Total de deportistas (N)Sexo de la persona (S)Datos de salida:Porcentaje de hombres (PM)Porcentaje de mujeres (PF)Procesos:Contar la cantidad de personas del sexo masculino (CM = CM + 1)Contar la cantidad de personas del sexo femenino (CF = CF + 1)Calcular el porcentaje de hombres en el grupo (PM = CM/N*100)Calcular el porcentaje de mujeres en el grupo (PF = CF/N*100)Continuamos con el anlisis del problema

Ejemplos de algoritmosINICIODATOS2.1 N,S,CM,CF,TP numericos enterosALGORITMO3.1Inicializar [en cero el total de personas del sexo masculino:] CM = 03.2 Inicializar [en cero el total de personas del sexo femenino:] CF = 03.3 Inicializar [en cero el total de personas procesadas:] TP = 03.4 Leer [total de deportistas] N3.5 MIENTRAS TP < N3.5.1Leer [sexo de la persona] S3.5.2SI S =M, entonces CM = CM + 1 3.5.3SI S = F, entonces CF = CF + 13.5.4Incrementar [en 1 el contador:] TP = TP + 13.6 Fin MIENTRAS3.7 Calcular [porcentaje de hombres en el grupo:] PM = CM/N*1003.8 Calcular [porcentaje de mujeres en el grupo:] PF = CF/N*1003.9 Escribir Porcentaje de hombres en el grupo: , PM3.10Escribir Porcentaje de mujeres en el grupo: , PF4.FIN

Ejemplos de algoritmos (I.d.) Algoritmo (continuacin):En este algoritmo se puede apreciar el uso de las tres estructuras de control de la programacin estructurada: Estructura secuencial Estructura selectiva Estructura iterativaEjemplos de algoritmos (II) Clculo de la media de N observaciones numricasDeterminar si un nmero es primo dada una lista de N nmeros enterosClculo del factorial de un nmero NRetiro de efectivo en un cajero automticoReceta para preparar spaghetti alla napoletanaDefinir en cada caso: entrada, procesos/operaciones y salida. Escribir el algoritmo completo para todos los casos.Diseo de algoritmos (VII) Refinamiento del algoritmo (II)InicioLeer cantidad de estudiantesLeer edad y peso de los estudiantesCalcular las medias de la edad y del pesoEscribir resultadosAlgoritmo para el clculo de la media de la edad y peso de un grupo de estudiantes (primer esbozo)INICIOVARIABLESN,NE,SE,SP,ME,MP numerico entero ALGORTIMOLeer [cantidad de estudiantes], NNE 0, SE 0, SP 0MIENTRAS NE < NLeer [edad y peso del estudiante] E, PSE SE + ESP SP + PIncrementar [el contador:] NE NE + 1 FIN-MIENTRASCalcular [la media de la edad:] ME SE/NCalcular [la media del peso:] MP SP/NEscribir La edad promedio es: , MEEscribir El peso promedio es: , MPFINAlgoritmo para el clculo de la media de la edad y peso de un grupo de estudiantes (versin refinada)Diseo de algoritmos (X) Especificacin y representacin grfica del algoritmoPseudocdigoDiagramas de flujoDiagramas de Nassi-Schneiderman (N-S)PSEUDOCDIGO:EjemploInicio Haga num=0, num_ant=0, num_sig=0, nroT=0 Mostrar Digite nmero Capture num Mientras que (num != 0) HaganroT =nroT+1 caso(nroT) caso 1: Haga num_ant=num caso 2: Haga num_m=num caso 3: Haga num_sig=num Si ((num_m>num_ant) y (num_m