Vous êtes sur la page 1sur 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
2 2 2 2 ensamblador
4. Vínculos
5. Programa ejecutable

3 4 5

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.

Comprobación de las entradas, por ejemplo, interruptores


Decisión (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
Decisión Accion(es)

Verdadero Fin-si

Proceso

 Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada
condición.
Se presenta de la siguiente forma:

Si <condición= cierta> entonces


No Decisión
si
Accion(es)

Sino

Proceso1 Proceso2 Accion(es)

Fin-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ón
1
Si no

Si <condicion2> entonces

Accion(es)
Proceso1
Decisión
2 Si no

Accion(es)
Proceso2 Proceso3
Fin-si

Fin-si
Casos variable

Op1: Accion(es)

Op2:Accion(es)
caso
.

Opcion1 Opcion4 .

Opcion3 OpN:Accion(es)

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)

Vous aimerez peut-être aussi