profesor: mtra. luz yuvina campos garcía grupo: fecha ... · un buen hábito y como buenos...

9
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN. Cuando nos proponemos a resolver problemas en programación siempre pasamos directamente al computador y empezamos a escribir código sin antes haber analizado en lo más mínimo el problema, o bueno lo vamos analizando y directamente vamos escribiendo el código y pues en algunos casos esta práctica funciona, claro está, cuando los problemas son sencillos o cuando eres un programador experimentado, no así con problemas más complejos y más aún cuando estas empezando a programar. A veces pensamos que con hacer las cosas directamente vamos a ganar más tiempo, pero en realidad no es así, muchas de las veces el tiempo que se lleva programando un problema directamente sin haber hecho un análisis previo, es el doble o triple que si hubiésemos hecho previamente un análisis, por lo general se cometen muchos errores, que a la larga perdemos tiempo. Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo que este sea. Es por eso que esta vez vamos a ver algunos pasos que debemos seguir para resolver un problema en programación y básicamente la idea es convertirlo en un hábito cada vez que vayamos a programar. 1. ANÁLISIS PREVIO DEL PROBLEMA En esta etapa se debe definir y tener claro lo que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la solución, qué datos necesito para realizar la tareas, que formato deben tener los datos de entrada, de donde provienen los datos de entrada, como se obtienen esos datos, cómo interactúan los datos entre sí para obtener el resultado, muy importante tener claro cuál será el resultado que se desea obtener, tampoco dejar de lado las restricciones que puede haber al momento de procesar los datos. De igual forma se debe analizar todos los escenarios que pueden darse ya que un cambio de escenario puede variar el resultado final del programa, siempre vale la pena cuestionarse y hacer la pregunta: y si pasa esto o aquello? qué comportamiento tomaría el programa. Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha: Unidad 1. Manejo de los componentes del lenguaje C. Resultado de Aprendizaje 1.1 Identifica los elementos y las características de un programa desarrollado en lenguaje C, de acuerdo con estándares internacionales. Nombre del Módulo: Programación básica Nombre del Alumno: A. Desarrollo de rutinas de programación Análisis de requerimientos Algoritmos Pseudocódigos Diagramas de flujo

Upload: vankhanh

Post on 16-Mar-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN.

Cuando nos proponemos a resolver problemas en programación siempre pasamos directamente al

computador y empezamos a escribir código sin antes haber analizado en lo más mínimo el problema, o bueno

lo vamos analizando y directamente vamos escribiendo el código y pues en algunos casos esta práctica

funciona, claro está, cuando los problemas son sencillos o cuando eres un programador experimentado, no así

con problemas más complejos y más aún cuando estas empezando a programar.

A veces pensamos que con hacer las cosas directamente vamos a ganar más tiempo, pero en realidad no es

así, muchas de las veces el tiempo que se lleva programando un problema directamente sin haber hecho un

análisis previo, es el doble o triple que si hubiésemos hecho previamente un análisis, por lo general se cometen

muchos errores, que a la larga perdemos tiempo.

Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un

problema por más mínimo que este sea. Es por eso que esta vez vamos a ver algunos pasos que debemos seguir

para resolver un problema en programación y básicamente la idea es convertirlo en un hábito cada vez que

vayamos a programar.

1. ANÁLISIS PREVIO DEL PROBLEMA

En esta etapa se debe definir y tener claro lo que el programa tiene que

hacer junto con las tareas que debe realizar para llevar a cabo la solución,

qué datos necesito para realizar la tareas, que formato deben tener los datos

de entrada, de donde provienen los datos de entrada, como se obtienen esos

datos, cómo interactúan los datos entre sí para obtener el resultado, muy

importante tener claro cuál será el resultado que se desea obtener, tampoco

dejar de lado las restricciones que puede haber al momento de procesar los datos.

De igual forma se debe analizar todos los escenarios que pueden darse ya que un cambio de escenario puede

variar el resultado final del programa, siempre vale la pena cuestionarse y hacer la pregunta: y si pasa esto o

aquello? qué comportamiento tomaría el programa.

Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha:

Unidad 1. Manejo de los componentes del lenguaje C.

Resultado de Aprendizaje 1.1 Identifica los elementos y las características de un programa desarrollado en lenguaje

C, de acuerdo con estándares internacionales.

Nombre del Módulo: Programación básica Nombre del Alumno:

A. Desarrollo de rutinas de programación

Análisis de requerimientos

Algoritmos

Pseudocódigos

Diagramas de flujo

Page 2: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

2 Mtra. Luz Yuvina Campos García

Para clarificar dudas se debe pedir formatos (formas de presentación de los datos o de donde se obtienen los

datos cuando se hacen de forma manual), fórmulas, realizar ejemplos y verificar los resultados.

Básicamente en este punto o fase se debe recoger todos los requerimientos y especificaciones del problema.

Este punto debe ser uno de los más importantes y críticos de la resolución de problemas ya que un mal análisis

lleva a un mal diseño y posterior a un mal resultado.

En lo personal no importa el tiempo que demores en esta etapa, la idea es que quede bien claro todo, la

primera vez puede que te demores un montón pero a medida que lo practicas vas cogiendo experiencia y si

lo tomas como hábito en las próximas veces lo harás aún más rápido.

2. DISEÑO DEL ALGORITMO

Una vez que tenemos claro el problema, después de haber definido

todas las entradas y salidas que va tener el programa, también las

tareas a realizar, es hora de diseñar el algoritmo y que irá de acuerdo

a todas las especificaciones anteriores y posteriormente será

implementado en un lenguaje de programación para ser ejecutado

por la computadora.

El algoritmo se lo puede hacer de cualquier forma: Pseudocódigo o

Diagrama de Flujo, la idea principal es que sea entendible, y no solo

por el que lo diseñó si no por cualquier persona.

En conclusión en la etapa anterior se define qué es lo que hará el

programa, en esta fase, se define como lo hará.

Algo importante de este diseño es que sea entendible para el programador que lo va implementar.

3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN

Esta etapa consiste en transcribir o adaptar el algoritmo a

un lenguaje de programación, se tendrá que adaptar todos los

pasos diseñados en el algoritmo con sentencias y sintaxis propias

del lenguaje.

Verificar errores, organizar el código y comentarlo, son buenas

prácticas que hacen programas más legibles y facilitan la

depuración.

Previamente a la codificación se debe tener configurado el

entorno de trabajo: IDEs, librerías, Frameworks (aunque este

último no lo recomiendo si estas empezando a programar, es

mejor aprender las cosas más básicas los fundamentos, todo a

mano primero y luego los frameworks) y luego pasar el algoritmo al lenguaje de programación.

4. COMPILACIÓN Y PRUEBAS

La fase de compilación permitirá detectar errores en tiempo de compilación,

ejecución y lógicos, y en el caso de Java se generará uno o varios archivos bytecode

que serán ejecutados por la computadora.

En esta fase también es necesario realizar pruebas con una gran cantidad de datos

para encontrar posibles errores y corregirlos.

5. DOCUMENTACIÓN Y MANTENIMIENTO

Page 3: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

3 Mtra. Luz Yuvina Campos García

Por últimos se debe tener una documentación de todos los pasos hasta llegar a la solución del

problema, a veces es un poco tedioso esta fase pero también es muy importante ya que

muchas veces suceden modificaciones con el pasar del tiempo y estas se hace en algunos

casos por otros programadores diferentes a los que lo crearon (que incluso cuando uno mismo

va a modificar no se acuerda que rayos hacia ese código, me ha pasado), y cuando un

programa es pobre en documentación este proceso de modificación es totalmente

complejo.

Actividad 1.

Actividad 2.

Definición de algoritmo Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea específica, como la

solución de un problema. Los algoritmos son independientes tanto del lenguaje de programación en que se

expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un

lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será

siempre el mismo.

Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en

español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se

realizaran sin importar el cocinero.

Los pasos a seguir en la solución de una ecuación de segundo grado.

Los pasos matemáticos para la solución de un número factorial.

Las instrucciones para la liquidación de una nómina.

Las acciones que se deben seguir para la obtención de una estadística.

Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin

algoritmo no puede existir un programa.

Características de los algoritmos

Las características fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo

resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe

de tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

En el algoritmo citado anteriormente se tendrá:

Lee detenidamente la lectura anterior y Subraya lo más importante del texto

Genera un mapa conceptual con la información que subrayaste en una hoja doble carta.

Page 4: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

4 Mtra. Luz Yuvina Campos García

Entrada ingredientes y utensilios empleados

Proceso elaboración de la receta de cocina

Salida terminación del plato (por ejemplo, cordero)

Un algoritmo exige que se tengan varias propiedades importantes:

Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes significados), deben

seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema en un número

finito de pasos.

El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.

Cambiar un foco quemado podría resumirse en dos pasos:

Quitar el foco quemado

Colocar un foco nuevo

Pero, si tuviera que entrenar un robot domestico para que efectúe esta tarea, tendrá que ser mas especifico y

claro en los pasos a seguir, dar más detalles (suponga que el foco se encuentra en el techo de una

habitación):

Situar escalera bajo el foco quemado.

Elegir un foco de reemplazo (de la misma potencia que el anterior).

Subir por la escalera hasta alcanzar el foco.

Girar el foco contra las manecillas del reloj hasta que esté suelto.

Ubicar el foco nuevo en el mismo lugar que el anterior.

Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.

Bajar de la escalera.

¿Qué es el Pseudocódigo?

Cuando se trabaja e programación, antes de escribir nuestro programa, primero escribimos el pseudocódigo.

El pseudocódigo es una forma de escribir los pasos que va a realizar un programa de la forma más cercana al

lenguaje de programación que vamos a utilizar posteriormente. Es como un falso lenguaje, pero en nuestro

idioma, en el lenguaje humano y en español.

Page 5: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

5 Mtra. Luz Yuvina Campos García

Diagrama De Flujo

Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de término.

Las siguientes son acciones previas a la realización del diagrama de flujo:

● Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar presentes el autor o responsable

del proceso, los autores o responsables del proceso anterior y posterior y de otros procesos interrelacionados, así

como las terceras partes interesadas.

● Definir qué se espera obtener del diagrama de flujo.

● Identificar quién lo empleará y cómo.

● Establecer el nivel de detalle requerido.

● Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

● Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama.

Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.

● Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden

cronológico.

● Si el nivel de detalle definido incluye actividades menores, listarlas también.

● Identificar y listar los puntos de decisión.

● Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.

● Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

Page 6: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

6 Mtra. Luz Yuvina Campos García

Símbolo Símbolo Nombre

(Alias)

Símbolo Descripción

Proceso / Símbolos Operación

Proceso: Mostrar un proceso o paso de acción. Este es el símbolo más común en los

diagramas de flujo de procesos y mapas de procesos de negocio.

Proceso predefinido

(Subrutina):

Un símbolo predefinidos proceso es un marcador de otra etapa del proceso o una

serie de medidas de flujo del proceso que están formalmente definidos en otros

lugares. Esta forma normalmente representa subprocesos (o subrutinas en

diagramas de flujo de programación).

Suplente Proceso: Como su nombre lo sugiere la forma, este símbolo de diagrama de flujo se utiliza

cuando el paso de flujo del proceso es una alternativa a la etapa del proceso

normal.

Retraso: El símbolo de diagrama de flujo de retardo representa un período de espera que

es parte de un proceso. Hay un atraso de las formas comunes de mapeo de

procesos.

Preparación: Como dice el nombre, cualquier paso del proceso que es un proceso de

preparación de caudal, como una puesta a punto la operación.

Manual de Operación: Manual de las formas de diagrama de flujo de operaciones que se muestran, los

pasos del proceso no están automatizados. En los diagramas de flujo de proceso

de datos, esta forma de flujo de datos indica una operación de bucle junto con un

símbolo de límite de bucle (que no es compatible con Microsoft Office, sino un

símbolo Manual de Operación de girar 180 ° hará el truco.)

Control De Ramificación De Los Símbolos De Flujo

Flow Line

(Flecha, conector)

Conectores de flujo línea de mostrar la dirección que el proceso de los flujos.

Terminator

(Terminal Punto de

óvalo):

Terminators mostrar los puntos de inicio y fin de un proceso. Cuando se utiliza como

un símbolo en Inicio, terminadores representan un grupo de disparo, que establece

el flujo de proceso en marcha.

Decisión: Indica una pregunta o una sucursal en el flujo del proceso. Por lo general, una forma

de diagrama de flujo Decisión se utiliza cuando hay dos opciones (Sí / No, No / No-

Go, etc)

Page 7: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

7 Mtra. Luz Yuvina Campos García

Conector (Inspección): Diagrama de flujo: En los diagramas de flujo, este símbolo suele ser pequeño y se

utiliza como un conector para mostrar un aumento de un punto en el flujo de

proceso a otro. Los conectores son usualmente marcadas con letras mayúsculas (A,

B, AA) para mostrar los puntos de coincidencia salto. Son útiles para evitar el flujo

de las líneas que se cruzan otras formas y líneas de flujo. Ellos también son útiles para

el salto y de un subprocesos definidos en la zona para que el diagrama de flujo

principal.

Proceso de Asignación: En los mapas de procesos, este símbolo es de tamaño

completo y muestra un punto de inspección en el flujo del proceso.

Conector fuera de

página:

Fuera de la página Conector muestra la continuación de un organigrama de

proceso en otra página. Cuando se utilizan en combinación con conectores, lo

mejor es para diferenciar las etiquetas, por ejemplo, números de uso para Off-Page

Conectores y letras mayúsculas para conectores. En la práctica, la mayoría de los

diagramas de flujo sólo tiene que utilizar la forma de conectar dos referencias en la

página y fuera de la página.

Combinación

(Almacenamiento):

Diagrama de flujo: Muestra la fusión de varios procesos y la información en una sola.

Proceso de asignación: por lo general indica que el almacenamiento de materias

primas.

Extracto (medición): Diagrama de flujo: Aparece cuando un proceso se divide en caminos paralelos.

También indica una frecuencia de medición, con "M" mayúscula dentro del

símbolo.

Proceso de asignación: por lo general indica que el almacenamiento de productos

terminados.

O: La muestra o símbolo lógico cuando un proceso se aparta - por lo general durante

más de dos ramas. Cuando se utiliza este símbolo, es importante etiquetar las líneas

de flujo saliente para indicar los criterios a seguir cada rama.

En resumen la salida: La lógica Resumiendo forma de diagrama de flujo de conexiones se muestra

cuando convergen varias ramas en un solo proceso. El símbolo de combinación es

más común para este uso, sin embargo.Este símbolo y el símbolo O son realmente

más relevantes en el procesamiento de datos de diagramas de flujo que en los

diagramas de flujo del proceso.

Entrada Y Símbolos De Salida

Datos

(E / S):

La forma de diagrama de flujo de datos indica que las entradas y salidas de un

proceso. Como tal, la forma es más a menudo se conoce como E / S que forma

una forma de datos.

Documento: Muy explica por sí mismo - el símbolo de diagrama de flujo de documentos es para

una fase del proceso que produce un documento.

Page 8: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

8 Mtra. Luz Yuvina Campos García

Multi-Documento: Igual que el documento, excepto, bueno, varios documentos. Esta forma no es tan

de uso general como la forma de diagrama de flujo de documentos, incluso

cuando están implicados varios documentos.

Mostrar: Indica una etapa del proceso donde la información se muestra a una persona (por

ejemplo, los usuarios de PC, operador de la máquina).

Manual de Entrada: Manual de las formas de diagrama de flujo de entrada muestra los pasos del

proceso donde se le pide al operador / usuario para obtener información que

deben introducir manualmente en un sistema.

Tarjeta: Esta es la compañía de las formas de diagrama de flujo de cinta perforada.Esta

forma se utiliza raramente.

Perforadas de cinta: Si eres muy bueno en todos los estiramientos de la vida de una máquina, usted

todavía puede tener el uso del símbolo de cintas perforadas - se usa para la

entrada en ordenadores antiguos y máquinas CNC.

Archivo Y Almacenamiento De Símbolos De Información

Los datos

almacenados:

Un general de almacenamiento de datos forma de diagrama de flujo utilizado para

cualquier etapa del proceso que almacena los datos (a diferencia de las formas

más específicas a seguir al lado de este cuadro).

Disco magnético (base

de datos):

El símbolo más universalmente reconocibles para una ubicación de

almacenamiento de datos, esta forma de diagrama de flujo representa una base

de datos.

Almacenamiento de

acceso directo:

Direct Access Storage es una manera elegante de decir unidad de disco duro.

De almacenamiento

interno:

Se utiliza en los diagramas de flujo de programación en el sentido de la información

almacenada en la memoria, en lugar de en un archivo.

De almacenamiento

de acceso secuencial

(Cinta magnética):

A pesar de que parece una "Q", el símbolo se supone que se vea como un rollo de

cinta.

Símbolos De Datos De Procesamiento

Page 9: Profesor: Mtra. Luz Yuvina Campos García Grupo: Fecha ... · Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo

Programación Básica PBAS-02

9 Mtra. Luz Yuvina Campos García

Cotejar: La forma de diagrama de flujo Intercalar indica una fase del proceso que requiere

la organización de los datos, información o materiales de acuerdo a un formato

estándar o el arreglo.

Ordenar: Indica la clasificación de datos, información, materiales en un orden predefinido.

Actividad 3.

Actividad 4.

Actividad 5.

B. Identificación de elementos del lenguaje C.

* Definición de lenguaje C

* ANSI C

* Estructura general de un programa en lenguaje C

-Bibliotecas

-Declaración de funciones, variables, constantes y macros

- Función main ()

-Comentarios

* Sintaxis de C

* Semántica

Lee la información y subraya los conceptos más importantes de cada tema

Genera un camino Arcoíris delos temas (debe tener concepto, definición e imagen).

1. Algoritmo

2. Pseudocódigo

3. Diagrama de flujo

Realiza un reporte de investigación de los temas antes mencionados del inciso B con una secuencia y redacción

como la del inciso A, el reporte debe ser impreso e ilustrado con imágenes.