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ónMejora 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, MatricesRegistrosArchivosApuntadores


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.

Entradas relacionadas: