Ejercicios de pseudocodigo y diagrama de flujo resueltos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 9,94 KB
Programación:Creatividad
: El ser humano por naturaleza es creativo, puede encontrar más de una solución a un problema que se le presente
Lógica:
es el orden en que llevamos a cabo
cualquier actividad mental Razonamiento:
es la capacidad que tenemos para resolver problemas, extraer conclusiones y aprender de manera consciente
Beneficios de la programación
• Mejora la capacidad de atención y concentración • Fomenta la experimentación y la creatividad existen diferentes formas de dar
solución a un mismo problema • Proporciona mayor orden y capacidad de comprensión • Mejora la capacidad de cálculo y de lógica. Desarrolla habilidades para la solución de problemas lógicos.
Fomenta el pensamiento crítico • Mayores oportunidades de empleo.
Actualmente, no hay suficiente talento para cubrir la demanda laboral en el sector tecnológico
• Proporciona mayor capacidad de adaptación al estilo de vida actual.
El
mundo depende de la tecnología cada vez más. Los jóvenes necesitan
comprender cómo funciona la tecnología y cómo hacer que funcione para ellos • El emprendimiento se vuelve una opción tangible.
Grandes negocios han surgido gracias al conocimiento del lenguaje de programación
• Importante
: Tener una idea clara de qué hay
que hacer • Importante
: Tener una idea clara de cómo se tiene que hacer
Algoritmo
Método para resolver un problema mediante una serie de pasos precisos, definidos y finitos
Problema ->diseño del algorismo->programa de computadora
Algoritmos + Estructuras de datos = Programas
Tipos de Algoritmos:
Cualitativos
Se describen los pasos utilizandopalabras Cuantitativos:
Se describen los pasos con cálculosnuméricos
Lenguajes Algorítmicos
: símbolos y reglas que se utilizan para describir de manera explícita un proceso
Gráficos
: diagrama de flujo Descriptivos
: pseudocódigo
Método de resolución de problemas
1. Definición del Problema 2. Análisis del Problema 3. Diseño del Algoritmo 4. Codificación 5. Compilación y Depuración 6. Ejecución 7. Documentación8. Mantenimiento
Método de resolución de problemas 1. Definición del Problema:
Enunciado claro y preciso (¿Qué queremos que realice la computadora?)
2. Análisis del Problema
Definir datos de entrada, salida y los métodos y fórmulas para procesar datos.
Método de resolución de problemas
3. Diseño del Algoritmo • Punto de inicio
• Claro, sin ambigüedades, preciso en el orden de cada paso • General (soportar la mayoría de variantes que se den en la definición del problema)
• Instrucciones simples (no más refinamientos)
• Finito en tamaño y tiempo de ejecución => +eficiente si
+pequeño en tamaño y tiempo
4. Codificación
escribir la solución del problema según la lógica del algoritmo, en instrucciones detalladas y en código reconocible por Pc (en un
Lenguaje de programación) => programa fuente
Método de resolución de problemas
5. Compilación y Depuración
Traducir el programa fuente a un código ejecutable por el Pc, detectando errores de programación y
Eliminándolos 6. Ejecución.
Para obtener el resultado deseado. Si no, volver a la fase de programación ó análisis
Método de resolución de problemas 7. Documentación.
Guía escrita para comprender o usar un programa y facilita modificaciones futuras • D.Interna: comentarios en el código fuente • D.Externa: descripción del problema, Autor, Algoritmo, diccionario de datos, código fuente.• Manual Usuario: describe el funcionamiento 8. Mantenimiento.
Si fuera necesario cambiar, ajustar, complementar al programa para obtener el resultado deseado
Elementos que intervienen en un algoritmo -Datos -Expresiones
-Operadores –identificadores
Tipos de Datos:
Nombre
Designa al objeto Valor:
Contenido en un instante dado Tipo:
Clase de datos a la que pertenece (cjto de valores y operaciones)
SIMPLES:
Numéricos (N,R)Lógicos (V,F)
Alfanuméricos (string)
ESTRUCTURADOS
Vectores, MatricesRegistrosArchivosApuntadores
Técnicas de diseño de algoritmos
1.- Modular o Top-Down dividir el problema en subproblemas más sencillos
niveles de mayor a menor complejidad relacionados por E/S de información
primer nivel: enunciado muy general de la solución,con pocas tareas
cada tarea se descompone en otras más simples en el siguiente nivel incrementando el detalle
Hasta problemas sencillos con instrucciones simples que puedan ser ejecutados por la máquina
Objetivos:
• Simplificación problema• Programación independiente• Programa final en módulos
Técnicas de diseño de algoritmos
2.- Bottom-up
Se identifican los procesos que necesitan programarse conforme van apareciendo
Satisface el problema inmediato
Inconvenientes:
• Problemas de integración entre subsistemas • No se tiene visión global del sistema >> no se
satisfacen los objetivos globales• Duplican esfuerzos• Se introducen datos carentes de valor
Técnicas de diseño de algoritmos
Conclusión
Programación estructurada
Escribir un programa de acuerdo a las reglas:
– Programa con diseño modular– Módulos diseñados de modo descendente– Cada módulo codificado con estructuras
básicas de control (secuenciales, selección y cíclicas)
Tipos de algoritmos
:
Diagrama de flujo, pseudocódigo,
Diagrama estructurado
Diagrama de Flujo
Representación gráfica de un algoritmo-Indica como deben realizarse los pasos en la computadora para producir resultados -
Símbolos (procesos) unidos por líneas
(orden de ejecución de los procesos) -Símbolos: normalizados por el Instituto -Norteamericano de Normalización (Ansí)
Diagrama de Flujo:-Usa líneas horizontales y/o verticales-Conectores: evita cruce de líneas-No deben quedar líneas de flujo sin conectar
Leer símbolos: -arriba > abajo -izqda > dcha
Texto dentro del símbolo: escueto y claro
Pseudocódigo: -
Mezcla de lenguaje de programación-español utilizado para el diseño de un programa -Lenguaje de especificaciones de algoritmos:
narra los pasos a seguir por un algoritmo para dar solución a un problema (usa palabras que indican el proceso a realizar)
Ventajas:-Ocupa menos espacio-Fácil representar op’s repetitivas complejas -Fácil ver los niveles de cada op’s (módulo) -Fácil pasar de pseudocódigo a programa
Diagramas estructurados o
Nassi-Schneiderman o Chapín:
-Diagrama de flujo, se omiten flechas de uníón -Resalta la estructura de los programas -Las acciones sucesivas en cajas sucesivas
-Varias acciones en una caja -Un diagrama en una página > modularidad
Estructuras algorítmicas: -
Secuenciales:
• Asignación • De entrada • De salida -
Condicionales (Selección):
• Simples • Dobles • múltiples -
Cíclicas:
• Repetir un nº determinado de veces • Repetir con condición inicial• Repetir con condición final
Secuenciales de Asignación: -
Secuenciales
: Una acción sigue a otra, la salida de una es la entrada de la siguiente
Asignación
: paso de valores o resultados a una zona de la memoria ó nombre de la variable que recibe el valor
Tipos de variables por su función: -
Simple
: pasa un valor constante a una variable (a=
15)-
Contador
: variable como verificador del nº de vecesque se realiza un proceso (a=a+1)
Acumulador
: variable como sumador (a=a+b) -
De trabajo
: recibe el resultado de una operación con variables (a=c+b*2/4)
Secuenciales de Entrada/Salida:-
Lectura
: se recibe desde un dispositivo de entrada (teclado) el valor que tomará una variable
•pseudocódigo:
Leer a, b -
Escritura
: se envía a un dispositivo de salida (monitor, impresora..) el valor de una variable, un resultado y/o mensaje •pseudocódigo:
Escribir “El resultado es:”, r
Condicionales: -
“Tomas de decisión” -Comparan una variable con otro valor.
Condicionales Múltiples:-
Comparan una variable con distintos posibles resultados.