Taller de algoritmo 2 Nombre CRISTIAN GIOVANNI RIVEROS VALENCIA Profesor(a): Sandy Romero Cuello Universidad de la guajira Ing. De sistemas Riohacha- guajira Año: 2012-03-23 TALLER 2 PRIMITIVAS ALGORITMICAS Y METODOS DE REPRESENTACIÓN DE ALGORITMOS 1. Que es una primitiva algorítmica 2. Enúncielas y clasifíquelas 3. Identifique y explique la estructura de las primitivas algorítmicas secuenciales y condicionales 4. Explique los siguientes métodos de representación algorítmicas e identifique las convenciones símbolos o estructuras que utiliza cada una. a) Pseudocódigo b) Diagrama de flujo c) Diagrama de caja. 5. Proponga y realice 5 Algoritmos en Pseudocódigo con las primitivas secuenciales básicas. 6. Realice estos mismos algoritmos propuestos en diagrama de flujo y caja. Todos los temas se encuentran en el manual, cualquier duda me pueden mandar un correo desde la wiki en la pestaña de dashboard (tablero de herramientas) donde aparece tu nombre de usuario en la pestaña de correos, identificado con el sobrecito. Muchos éxitos ¡ 1. Que es una primitiva algorítmica Un algoritmo primitivo no es más que un conjunto de factores o elementos, los cuales nos dan la capacidad de crear o desarrollar algoritmos a partir de cada elemento que la conforma, ya que son vitales para un buen desarrollo de estas 2) Enúncielas y clasifíquelas Las primitivas algorítmicas serian: TIPOS DE DATOS: -Numéricos -Simples lógicos -Alfanuméricos -Tipos de datos Arreglos (vectores, matrices) -Estructurados registros -Apuntadores EXPRECIONES -Expresiones Aritméticas -Expresiones Relacionales -Expresiones Lógicas OPERADORES Y OPERANDOS -Operadores aritméticos -Operadores lógicos -Operadores relacionales IDENTIFICADORES -Constantes -Variables ALGORTIMICAS SECUENCIALES Se conforma por: -Asignación -Entrada -Salida 3)Identifique y explique la estructura de las primitivas algorítmicas secuenciales y condicionales Estructuras Secuenciales La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Inicio Accion1 Accion2 . . Acción N Fin - Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constate a una variable (a=15) Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a=a+1) Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b) De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4). - Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocodigo como sigue: Leer a, b Donde “a” y “b” son las variables que recibirán los valores Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocódigo como sigue: Escribe “El resultado es:”, R Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor. ALGORTIMOS CONDICIONALES Se conforma por -Simples -Dobles -Múltiples Estructuras de Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen dos tipos básicos, las simples y las múltiples. Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: Si <condición> entonces Acción(es) Fin-si Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Si <condición> entonces Acción(es) si no Acción(es) Fin-si Donde: Si………………… Indica el comando de comparación Condición…………Indica la condición a evaluar Entonces……..……Precede a las acciones a realizar cuando se cumple la condición Acción(es)…………Son las acciones a realizar cuando se cumple o no la condición Si no………………Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o mas acciones. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común es la siguiente: Si <condición> entonces Acción(es) si no Si <condición> entonces Acción(es) si no . .Varias condiciones 4)Explique los siguientes métodos de representación algorítmicas e identifique las convenciones símbolos o estructuras que utiliza cada una. PSEUDOCODIGO Mescla del lenguaje de programación y español(o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar Secuencia Inicio acción1 acción2 Acción n Fin DIAGRAMA DE FLUJO Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Inicio o fin del programa Pasos, procesos o líneas de instruccion de programa de computo Operaciones de entrada y salida Toma de desiciónes y Ramificación Conector para unir el flujo a otra parte del diagrama Cinta magnética Disco magnético Conector de pagina Líneas de flujo Anotación Display, para mostrar datos Envía datos a la impresora Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías. Símbolos gráficos Dentro de los símbolos fundamentales para la creación de diagramas de flujo, los símbolos gráficos son utilizádos específicamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados: + Sumar - Menos * Multiplicación / División ± Mas o menos = Equivalente a > Mayor que < Menor que ³ Mayor o igual que £ Menor o igual que ¹ o <> Diferente de Si No True False DIAGRAMA DE CAJA Un diagrama de caja es un gráfico, basado en cuartiles, mediante el cual se visualiza un conjunto de datos. Está compuesto por un rectángulo, la "caja", y dos brazos, los "bigotes". Es un gráfico que suministra información sobre los valores mínimo y máximo, los cuartiles Q1, Q2 o mediana y Q3, y sobre la existencia de valores atípicos y la simetría de la distribución. Las partes del diagrama de caja se identifican como sigue: 1.-Límite superior: Es el extremo superior del bigote. Las opiniones por encima de este límite se consideran atípicas. Para más detalles consulte sobre la construcción de los límites y los valores atípicos. 2.-Tercer cuartil (Q3): Por debajo de este valor se encentran como máximo el 75% de las opiniones de los estudiantes. 3.-Mediana: Coincide con el segundo cuartil. Divide a la distribución en dos partes iguales. De este modo, 50% de las observaciones están por debajo de la mediana y 50% está por encima. 4.-Primer cuartil (Q1): Por debajo de este valor se encuentra como máximo el 25% de las opiniones de los estudiantes 5.-Límite inferior: Es el extremo inferior del bigote. Las opiniones por debajo de este valor se consideran atípicas. Para más detalles consulte sobre la construcción de los límites y los valores atípicos. 6.-Valores atípicos: Opiniones que están apartadas del cuerpo principal de datos. Pueden representar efectos de causas extrañas, opiniones extremas o en el caso de la tabulación manual, errores de medición o registro. Se colocan en la gráfica con asteriscos (*) o puntos (.) según se alejan menos o más del conjunto de datos. Se utiliza un superíndice numérico para indicar el número de veces que aparece ese dato como atípico. NOTA: Esta presentación en línea del Boxplot está en primera versión y aun en proceso de mejora. Se señalan los datos atípicos con una circunferencia (o) en el caso de ser única la observación. En caso contrario, usted sólo verá un triángulo ($). Si esto sucede, debe remitirse al reporte numérico para verificar la cantidad de observaciones atípicas por pregunta. 7.-Media aritmética: Es lo que tradicionalmente se conoce como promedio. Originalmente no forma parte del boxplot, sin embargo, se consideró su inclusión para dar una idea del puntaje general obtenido por pregunta. Actualmente se trabaja en la elaboración de estadísticos más representativos que la media aritmética para describir el conjunto de datos. 5)Proponga y realice 5 Algoritmos en Pseudocódigo con las primitivas secuenciales básicas. 6)Realice estos mismos algoritmos propuestos en diagrama de flujo y caja. A) ESCRIBA UN ALGORITMO QUE LEA LAS CALIFICACIONES DE LOS PERIODOS DE UN ESTUDIANTE DE 11ª Y QUE CALCULE EL PROMEDIO DE ESTA INICIO PESUDOCODIGO Per1,Per2,Per3,Per4 INICIO LEA: (Per1,Per2,Per3,Per4) Promedio ← (Per1+Per2+Per3+Per4)ª∕4 ESCRIBA: “El promedio es “: promedio FIN Promedio←(Per1+Per2+Per3+Per4)ª∕4 “El promedio es “: promedio FIN B) ESCRIBA UN ALGORITMO QUE ME PERMITA CONOCER LA DENCIDAD DE UN OBJETO APARTIR DE SU MAS Y SU VOLUMEN INICIO INICIO Masa, volumen= Entero ESCRIBE: “Diga la masa” LEA: la masa ESCRIBE: “Diga el volumen” LEA: el volumen ESCRIBA: “Densidad de un objeto=(Masa/Volumen) FIN Masa,volumen=entero “Diga la masa” La masa “Diga el volumen” El volumen “Densidad de un objeto=(Masa/Volumen) FIN C) ESCRIBA UN ALGORTIMO QUE LEA EL SUELDO DE TRES EMPLEADOS Y APLICARLES UN AUMENTO DEL 10, 12, 15% RESPECTIVAMENTE DESPLEGAR EL INICIO RESULTADO INICIO LEER (S1, S2, S3) Aum1 ← S1* 0.10 Aum2 ← S2* 0.12 Aum3 ← S3* 0.15 Sf1 ← S1+ Aum1 (S1, S2, S3) Aum1 ← S1* 0.10 Aum2 ← S2* 0.12 Aum3 ← S3*0.15 Sf2 ← S2+Aum2 Sf3← S3+ Aum3 ESCRIBA (Sf1, Sf2, Sf3) FIN Sf1 ← S1 + Aum1 Sf2 ← S2+Aum3 Sf3 ← S3 + Aum3 (Sf1, Sf2, Sf3) FIN D) ESCRIBA UN ALGORITMO QUE PERMITA CONOCER LA EDAD DE UNA PERSONA SABIENDO QUE NACIO EN 1964 INICIO INICIO Fecha actual, Fecha de nacimiento = Natural ESCRIBA: “Fecha actual” LEA: Fecha actual ESCRIBA: “Fecha de nacimiento” LEA: Fecha de nacimiento Fecha actual, fecha de nacimiento = Natural “Fecha actual” Fecha actual EDAD ← Fecha actual – fecha de nacimiento ESCRIBA: “Edad de la persona”= Edad FIN “Fecha de nacimiento” Fecha de nacimiento EDAD ← Fecha actual – fecha de nacimiento “Edad de la persona”= Edad FIN E) ESCRIBIR UN ALGORTIMO QUE LEA 4 VALORES Y QUE ASUVES LOS MULTIPLIQUE INICIO INICIO LEA: (V1, v2, v3, v4) Multiplicación ← (v1*v2*v3*v4) ESCRIBIR: “La multiplicación es”= multiplicación FIN (V1, v2, v3, v4) Multiplicación ← (v1*v2*v3*v4) “La multiplicación es”= multiplicación FIN