Está en la página 1de 12

PRINCIPIOS BASICOS DE LA PROGRAMACIÓN

A. Problema y análisis de datos

Un problema en la computación es una tarea propuesta para solución que puede ser
solucionado por medio de la computadora utilizando un programa. Programar es
automatizar y definir una serie de procesos para resolver un problema y obtener un
resultado final.

Análisis de datos es una metodología cuyo objetivo es la colección, comprensión,


tratamiento y modificación de los datos de diferente tipo.

Tipos de datos. Cada problema procesa datos de distintos tipos:

 Numéricos: por ejemplo, para cuentas bancarias, temperaturas;


 Alfanuméricos: por ejemplo, para nombres y direcciones;
 Lógicos: utilizados en el diseño de un circuito; etc.

B. Metodología para la solución de problemas utilizando computadora

Cuando tiene un problema y necesita solucionarlo utilizando la computadora debe seguir


los siguientes pasos:

1. Definir el problema - Definir que desea que realice la computadora

2.- Analizar el problema - Definir:

 Los datos de entrada


 Cuál es la información que se desea producir (salida).
 Los métodos y formulas necesarios para procesar los datos.

3. Diseñar el algoritmo o el diagrama de flujo

Las características de un buen algoritmo son:

□ Tener un punto particular de inicio.


□ Ser definido, no permitir dobles interpretaciones.
□ Ser general, es decir, soportar la mayoría de las variantes que se puedan
representar en la en la definición del problema.
□ Ser finito en tamaño y tiempo de ejecución.

4. Escribir el programa

De acuerdo a la lógica del diagrama de flujo o pseudocódigo debe escribir una serie de
instrucciones detalladas, en un código reconocible por la computadora. A esta serie de
instrucciones detalladas se le conoce como código fuente, el cual se escribe en un
lenguaje de programación o lenguaje de alto nivel

5. Compilar y depurar el programa

Compilar el programa significa traducir el programa de un lenguaje de alto nivel al


lenguaje de la máquina, para que la maquina pueda entender las instrucciones y
ejecutarlos. Existen muchos compiladores. Por ejemplo en el lenguaje C se utiliza el
estándar de Sun. El tcc es el compilador.
El compilador GNU de C es gcc, el cual es bastante popular y está disponible en varias
plataformas.

Existen también compiladores equivalentes de C++ los cuales usualmente son nombrados
como cc. Por ejemplo, Sun provee CC y GNU gcc. El compilador de GNU es también
denotado como g++.

Los errores humanos dentro de la programación de computadoras son muchos y


aumentan considerablemente con la complejidad del programa. El proceso de identificar y
eliminar errores de un programa para que funcione correctamente sin errores se le llama
depuración (debugging).

Si existen obvios errores en el programa (tales como palabras mal escritas, caracteres no
tecleados u omisiones de punto y coma), el compilador se detendrá y los reportara. Desde
luego podría haber errores lógicos que el compilador no podrá detectar. Cuando el
compilador ha terminado con éxito, la versión del programa ya está compilada y
ejecutable.

6. Ejecutar el programa

El siguiente paso es correr el programa ejecutable. En algunos lenguajes se utiliza la


opción run (ejecutar). Por ejemplo para correr un ejecutable escrito en el lenguaje C o C+
+ en DOS, simplemente se escribe el nombre el archivo. Al ejecutar el programa
normalmente se mostrara algún resultado en la pantalla. En este paso, podría haber
errores en tiempo de ejecución (run-time errors), tales como división por cero, o bien,
podrían hacerse evidentes al ver que el programa no produce la salida correcta.

Si lo anterior sucede, entonces se debe regresar a editar el archivo del programa,


recompilarlo, y ejecutarlo nuevamente.

7. Elaborar la documentación

La documentación es la guía o comunicación escrita que nos ayuda a comprender como


usar un programa para facilitar sus futuras modificaciones. Puede presentarse en
diferentes formas como procedimientos, dibujos o diagramas.

La documentación se divide en tres partes:

□ Documentación Interna - Comentarios o mensajes que se añaden al código


fuente para hacer más claro el entendimiento de un proceso.
□ Documentación Extena - Contiene la descripción del problema, el nombre del
autor, el algoritmo (diagrama de flujo o pseudocódigo), diccionario de datos, código
fuente (programa), etc.
□ Manual del Usuario – Describe paso a paso la forma en que funciona el
programa, con el fin de que el usuario obtenga el resultado deseado.

7. Mantenimiento

Se lleva acabo después de terminar el programa, cuando se detecta que es necesario


hacer algún cambio, ajuste o complementación al programa para que siga trabajando de
manera correcta. Para poder realizar este trabajo se requiere que el programa este
correctamente documentado.
C. Lenguaje de programación

Un lenguaje de programación es un conjunto de símbolos, caracteres y reglas


(programas) que permiten a las personas comunicarse con la computadora. Los lenguajes
de programación tienen un conjunto de instrucciones que dan la posibilidad de realizar
operaciones de entrada/salida, calculo, manipulación de textos, lógica (comparación y
almacenamiento) recuperación, etc.

Los lenguajes de programación se clasifica en:

 Lenguajes de la máquina: Son aquellos cuyas instrucciones son directamente


entendibles por la computadora y no necesitan traducción posterior para que la
CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje
maquina se expresan en términos de la unidad de memoria más pequeña, el bit
(digito binario 0 o 1). Ocho bits forman un byte. Los lenguajes de la maquina
dependen de ella y pueden utilizarse sólo en el tipo de computadora para cual
están escritos. Ejemplo: 01100011, 01011110, 10100100.

 Lenguaje de bajo nivel (Ensamblador): En este lenguaje las instrucciones se


escriben en códigos alfabéticos conocidos como mnemotécnicos para las
operaciones y direcciones simbólicas.
El código representa normalmente datos e instrucciones para manipularlos. Un
modo más fácil de comprender el código maquina es dando a cada instrucción un
mnemónico. Los lenguajes de bajo nivel permiten crear programas muy rapidos y
compactos, pero que a menudo son difíciles de aprender. Cabe destacar que los
programas escritos en un lenguaje de bajo nivel son específicos para cada
procesador. Si se lleva el programa a otra máquina con diferente arquitectura de
procesador se debe reescribir el programa desde el principio.

 Lenguaje de alto nivel: Los lenguajes de programación de alto nivel (VISUAL


BASIC, C, C++, PASCAL, BASIC, FORTRAN, COBOL y otros) son aquellos en los
que las instrucciones o sentencias para la computadora son escritas con palabras
similares al lenguaje humano (en general en inglés), lo que facilitan la escritura y
comprensión del programa. Existe también una relación compleja entre los
lenguajes de alto nivel y el código máquina.
Cada programa debe traducirse del lenguaje de programación (de alto nivel) al
lenguaje de la computadora (máquina). Esto se hace a través de compiladores
(traductores) que transforman el programa de un lenguaje de más alto nivel a
lenguaje máquina para que la computadora pueda comprenderlo y ejecutarlo.

 Intérpretes y compiladores: la traducción de una serie de instrucciones en


lenguaje ensamblador (el código fuente) a un código maquina (o código
objeto) se realiza normalmente por un programa especial llamado compilador. La
traducción de un código fuente de alto nivel a un código maquina también se
realiza utilizando compilador más complejo llamado interprete o traductor. Un
compilador crea una lista de instrucciones de código maquina llamado código
objeto, basándose en un código fuente.
El código fuente resultante es un programa rápido y listo para funcionar, pero que
puede hacer que falle la computadora si no está bien diseñado. Los intérpretes
son más lentos que los compiladores ya que no producen un código objeto, sino el
código fuente por línea.
Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por
segunda vez, como en el caso de los programas en que se reutilizan partes del
código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos
susceptible de provocar fallas en la computadora.
Debajo se muestra la transformación del lenguaje fuente (de alto nivel) al lenguaje
objeto (máquina).

1 1 1 1
1. Lenguaje fuente
2. Lenguaje objeto
3. Librería y lenguaje
ensamblador
2 2 2 2 4. Vínculos
5. Programa ejecutable

4 5
3

D. ¿Qué es un programa?

El procesamiento de datos tiene tres pasos:

1. Entrada – Los datos entran a través del teclado, ratón, escáner, otras computadoras,
etc. En el caso de los microcontroladores serán los push button, dip switch, sensores e
interruptores en general.

2. Procesamiento – Los datos se utilizan para hacer los cálculos y/o cambios
correspondientes, se transforman y se almacenan después. Esto lo realiza el
microcontrolador internamente manipulando sus bancos de memoria.

3. Salida – El resultado en forma de datos poder verse a través de la pantalla, impresora,


enviarse a otra computadora, etc.en el caso de los microcontroladores serán leds,
lámparas indicadoras, bocinas, motores, lcds, matrices de leds, etc.

Un programa es un conjunto de instrucciones escritas en un determinado lenguaje ( po


ejemplo: COBOL, C++, VISUAL BASIC,etc) que dirigen a la computadora para la
ejecución de una serie de operaciones, con el objeto de resolver un problema que se ha
definido previamente.

Elementos de un programa:

 Datos(variables)
 Instrucciones o sentencias (código o funciones)

Las variables son los bloques básicos para la construcción de un programa y las
instrucciones (sentencias) le indican a la computadora que hacer con el programa.
También puede usar comentarios, estas notas permitirán tener un programa claro y fácil
de entender.

Al igual que en una construcción se pide el material antes para poder comenzar. En un
programa debe declarar las funciones antes de usarlas.
E. Algoritmos

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe “alkhowarizmi”,


nombre de un matemático y astrónomo árabe que escribió un tratado sobre la
manipulación de números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir para dar solución a un problema específico. Es un procedimiento matemático o
lógico para lograr un fin determinado. Antes de escribir el programa debe tener muy claro
el algoritmo que mostrara los pasos a seguir para resolver el problema. Los algoritmos
tienen una entrada de datos, un procedimiento a seguir y una salida de datos.

Un algoritmo debe contener instrucciones de control que nos permitan decirles al


procesador paso a paso que hacer y cuando terminar la tarea.

¿Por qué necesitamos algoritmos?

 Los problemas complejos deben ser divididos en partes más simples.


 Cada problema simple puede ser solucionado aparte.
 Utilizando algoritmos se puede ver más claro la ruta para solucionar el problema
que nos ahorra tiempo.

Características de los algoritmos

Los algoritmos deben ser:

 Claros en su definición. Si se sigue un algoritmo dos veces, se debe obtener el


mismo resultado cada vez.
 Precisos e indicar el orden de realización de cada paso.
 Finitos y terminar después un cierto número de pasos.

Representación de algoritmos
Existen diversas formas de representan algoritmos. Dentro de las comunes se encuentran
los diagramas de flujo y el pseudocódigo. Cada uno tiene sus ventajas y desventajas, todo
depende del gusto de la persona que aplica el algoritmo.

F. ¿Qué es un diagrama de flujo?

El diagrama de flujo (flow chart) es la representación gráfica de un algoritmo y muestra los


algoritmos de una manera clara y comprensible.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes


procesos en la computadora) se relacionan entre sí mediante líneas que indican el orden
en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por
el Instituto Norteamericano de Normalización. Los elementos que se emplean para los
diagramas son los siguientes:

Símbolo Función
Inicio Inicio de una secuencia (programa o subrutina).

Encendido o controlar las salidas, por ejemplo LED,


Salida motores, sirenas, etc.

Comandos de proceso, por ejemplo, subrutinas, retrasos,


Proceso etc.

Decisión
Comprobación de las entradas, por ejemplo, interruptores
(digitales) o sensores (analógico / digital).

Líneas de flujo o dirección. Indican la secuencia en que se


realizan las operaciones

Conector dentro de la página. Representa la continuidad


A del diagrama dentro de la misma pagina

Fin de una secuencia (programa o subrutina).


Fin

Ejemplo. El diagrama de flujo siguiente ilustra un sencillo programa para controlar una
barrera automática de vehículos en un aparcamiento. Las especificaciones del sistema de
control son los siguientes:

1. Un sensor detecta un vehículo que se aproxima.


2. Pin 1 comprueba si hay entrada del sensor. En caso afirmativo...
3. Salida 0 levanta la barrera.
4. Un segundo sensor detecta que el vehículo se aleja de la barrera.
5. Pin 2 comprueba si hay entrada del sensor. En caso afirmativo...
6. Salida 2 reduce la barrera.
G. ¿Qué es un pseudocódigo?

El pseudocódigo se encuentra a un solo paso de transformarse en un lenguaje de


programación. A diferencia de un diagrama de flujo no es grafico sin embargo puede
leerse y es igual de comprensible. 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.

El pseudocódigo es la parte de programa que puede ser utilizada en un programa real. No


puede ser compilado ni ejecutado, es simplemente un paso para elaborar el código final.
La ventaja del pseudocódigo es que permite al programador utilizarlo en varios códigos
sin la necesidad de escribirlo nuevamente.

Ventajas de utilizar un pseudocódigo a un diagrama de flujo

 Ocupa menos espacio en una hoja de papel


 Permite representar en forma fácil operaciones repetitivas complejas
 Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de
programación
 Si se siguen las reglas se puede observar claramente los niveles que tiene cada
operación

H. ¿Qué es un código?

El código puede ser:

1) Un conjunto de instrucciones para la computadora


2) Un conjunto de símbolos, por ejemplo el código ASCII. El código contiene la
información en una forma apropiada para la comunicación y el procesamiento.

Tipos de códigos

1. Binario - Código utilizado en la computadora donde toda la información es


Representada con dos dígitos = 0 o = 1. Un Bit = 1 o 0. Un Byte = 8 bits.
2. Decimal - Código donde la información se representa con 10 dígitos – del 0 al 9.
3. Octal - En él la información se representa con 8 dígitos – del 0 al 7.
4. Hexadecimal – Código en el cual la información se representa con 16 dígitos – del 0 al
9 y con las letras de la “A” a la “F”.

I. Tipos de estructuras algorítmicas

La estructura es el modo en que se pueden agrupar y organizar las acciones de un


programa.

Las estructuras algorítmicas son:

A. Simples o secuenciales
B. Condicionales
C. Cíclicas

A. Las estructuras secuenciales contienen:

 Asignación
 Procesamiento
 Salida

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en


secuencia. Las tareas suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso.

La secuencia es la más simple y la más común de todas las estructuras y constituye la


esencia de toda tarea programada. Las estructuras secuenciales se componen de: la
secuencia independiente y la secuencia dependiente.

Pasos de una secuencia:

1. Un conjunto de acciones que se ejecutan por una vez al comienzo del proceso, llamado
proceso inicial. Generalmente consiste en la apertura de archivos, ubicación en un lugar
determinado del conjunto, inicialización de variables, impresión de encabezados de
página, etc.

2. Un conjunto de acciones que se ejecutan a continuación, llamado proceso central.


Entre las acciones de este grupo siempre se incluye una estructura de iteración que se
ocupa de la lectura de un dato y su procesamiento – cuenta, acumulación, operación
matemática, etc.

3. Un conjunto de acciones que se ejecutan por única vez al final del proceso, al que
llamaremos proceso final. Generalmente consiste en cierre de archivo, informe de
resultados, impresión de la página, etc.

Inicio
Inicio
Accion1
Accion2
.
Proceso .

Fin
Inicio

B. Las estructuras condicionales contienen:

 Asignación
 Procesamiento
 La operación del programa cambia dependiendo de una condición
 Salida

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 que se requiera. Existen dos tipos básicos de estructuras condicionales:
las simples y las múltiples.

 Simples: la estructura condicional simple se les conoce como “tomas de decisión”.


Estas tomas de decisión tienen la siguiente forma:

Si <condición=cierta> entonces
Falso
Accion(es)
Decisión
Verdadero Fin-si

Proceso

 Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles
Decisiónen función del cumplimiento o no de una determinada

condición. Si <condición= cierta> entonces

Se presenta de la siguiente forma: Accion(es)

Proceso1 Proceso2 Sino

Accion(es)

Fin-si
No si

 Condicionales Múltiples: Las estructuras de comparación multiples, son tomas


de decisión especializada que permiten comparar una variable contra distinta
posibles resultados, ejecutando para cada caso una serie de instrucciones
específicas. Hay dos formas comunes:
Si <condicion1> entonces

No si Accion(es)
Decisión1

Si no

Si <condicion2> entonces

Accion(es)
Decisión2
Proceso1
Si no

Accion(es)
Proceso2 Proceso3
Fin-si

Fin-si
Casos variable

Op1: Accion(es)

Op2:Accion(es)
caso .

.
Opcion1 Opcion4
OpN:Accion(es)
Opcion3
Fin-casos
Opcion2

C. Estructuras cíclicas

 Para - Siempre (For – Next)


 Hacer – Mientras <condición = cierta>….Repetir (Do while…Loop)
 Hacer – Hasta <hasta condición se cumple>…Repetir (Do Until….Loop)

También podría gustarte