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
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
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.
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.
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.
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)
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.
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
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.