Está en la página 1de 29

Universidad Autnoma de Campeche

Facultad de ingeniera Mecatrnica


Programacin bsica
Semestre: Primero
Grupo: B
Docente: Hctor Manuel Quej Cosgaya
27/enero/2016

Alumno:
Helmer Eduardo huchin can

1.1.-Concepto de
programa
La programacin se define como el proceso decrear, probar,
depurar, compilar y mantenerun programa de computadora, todo
ello mediante sentencias lgicas escritas en un lenguaje humano y que
despus ser traducido a un lenguaje que la computadora pueda
procesar.
El trmino programa hace referencia a unplan o proyecto organizado
de las distintas actividades que se ir a realizar. Tambin, es
unsistema de distribucin de las distintas materias de un curso o
asignatura. La expresin palabra es de origen latn programmaque a
su vez tiene su origen en un vocablo griego.

1.2.-Existen varias clases de


programacin, dependiendo
de los mtodos utilizados y
las tcnicas empleadas.
Los tipos o tcnicas de programacin son bastante variados,
aunque puede que muchos de los lectores slo conozcan una
metodologa para realizar programas. En la mayora de los casos,
las tcnicas se centran en programacin modular y programacin
estructurada, pero existen otros tipos de programacin. Los
explicaremos a lo largo del artculo.

Programacin estructurada
(PE)
La programacin estructurada esta compuesta por un
conjunto de tcnicas que han ido evolucionando
aumentando considerablemente la productividad del
programa reduciendo el tiempo de depuracin y
mantenimiento del mismo.
Esta programacin estructurada utiliza un nmero
limitado de estructuras de control, reduciendo as
considerablemente los errores.

Esta tcnica incorpora:


Diseo descendente (top-dow): el problema se descompone en
etapas o estructuras jerrquicas.

Recursos abstractos (simplicidad): consiste en descompones las


acciones complejas en otras ms simples capaces de ser resueltas
con mayor facilidad.

Estructuras bsicas: existen tres tipos de estructuras bsicas:

Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de una accin
es la entrada de otra.

Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del resultado
de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas.

Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero determinado de


veces.

Las principales ventajas de la programacin estructurada son:


Los programas son mas fciles de entender

Se reduce la complejidad de las pruebas

Aumenta la productividad del programador

Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un nico punto de entrada


y slo uno de salida, existen de "1 a n" caminos desde el principio
hasta el fin del programa y por ltimo, que todas las instrucciones
son ejecutables sin que aparezcan bucles infinitos.

Programacin modular
En la programacin modular consta de varias secciones
dividas de forma que interactan a travs de llamadas a
procedimientos, que integran el programa en su totalidad.
En la programacin modular, el programa principal
coordina las llamadas a los mdulos secundarios y pasa los
datos necesarios en forma de parmetros.
A su vez cada modulo puede contener sus propios datos y
llamar a otros mdulos o funciones.

Programacin orientada a
objetos (POO)
Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo
de los programas gracias a la reutilizacin de los objetos.
El elemento principal de la programacin orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y
forman parte de una organizacin.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales caractersticas y por ello
dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos.
En DesarrolloWeb.com hemos publicado anteriormente una explicacin de lo que
es laprogramacin orientada a objetos.

Programacin concurrente
Este tipo de programacin se utiliza cuando tenemos
que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios
y programas a un recurso de forma simultanea.
Se trata de una programacin ms lenta y laboriosa,
obteniendo unos resultados lentos en las acciones.

Programacin funcional
Se caracteriza
principalmente por permitir
declarar y llamar a
funciones dentro de otras
funciones.

Programacin lgica
Se suele utilizar en la
inteligencia artificial y
pequeos programas
infantiles. Se trata de una
programacin basada en el
clculo de predicados (una
teora matemtica que
permite lograr que un
ordenador basndose en
hecho y reglas lgicas, pueda
dar soluciones inteligentes).

1.3.-METODOLOGA
LA
SOLUCIN
PROBLEMAS

PARA
DE

METODOLOGA PARA LA
SOLUCIN DE PROBLEMAS

El proceso de resolucin de un problema con una computadora conduce a la escritura


de un programa y su ejecucin en la misma. Aunque el proceso de disear
programas es esencialmente un proceso creativo, se pueden considerar una serie de
fases o pasos comunes, que generalmente deben seguir todos los programadores.

Las fases de resolucin de un problema con computadora son:


Anlisis

del problema
Diseo del algoritmo
Codificacin
Compilacin y ejecucin
Verificacin
Depuracin
Mantenimiento
Documentacin

METODOLOGA PARA LA
SOLUCIN
DE
PROBLEMAS
Las dos primeras fases conducen a un diseo detallado escrito en forma de
algoritmo. Durante la tercera etapa (codificacin) se implementa el
algoritmo en un cdigo escrito en un lenguaje de programacin, reflejando
las ideas desarrolladas en las fases de anlisis y diseo.

La fase de compilacin y ejecucin traduce y ejecuta el programa. En las


fases de verificacin y depuracin el programador busca errores de las
etapas anteriores y los elimina. Comprobar que mientras ms tiempo se
invierta en la fase de anlisis y diseo menos tiempo se perder en la
depuracin del programa. Por ltimo, se debe realizar la documentacin del
programa.

Antes de conocer las tareas a realizar en cada fase, vamos a considerar el


concepto y significado de la palabra algoritmo. La palabra algoritmo se

METODOLOGA PARA LA
SOLUCIN
DE
Anlisis del problema
PROBLEMAS
La primera fase de la resolucin de un problema con

computadora es el anlisis del problema. Esta fase


requiere una clara definicin, donde se contemple
exactamente lo que debe hacer el programa y el
resultado o solucin deseada.

Dado que se busca una solucin por computadora,


se precisan especificaciones detalladas de entrada y
salida. La siguiente figura muestra los requisitos que
se deben definir en el anlisis,

METODOLOGA PARA LA
SOLUCIN DE
PROBLEMAS
Para poder definir bien un problema es conveniente responder

a las siguientes preguntas:


Qu entradas e requieren? (tipo y cantidad)
Cul es la salida deseada? (tipo y cantidad)
Qu mtodo produce la salida deseada?

METODOLOGA PARA LA
SOLUCIN DE
PROBLEMAS
Ejemplo

1:

Se desea obtener una tabla con las depreciaciones acumuladas y dos valores
reales de cada ao de un automvil comprado en $380,000 en el ao 1996,
durante los seis aos siguientes suponiendo un valor de recuperacin o rescate
de $45,000. Realizar el anlisis del problema, conociendo la frmula de
depreciacin anual constante D para cada ao de vida til.

Entradas:
Costo original
Vida til
Valor de recuperacin

Salida:
Depreciacin anual por
ao
Depreciacin acumulada
en cada ao
Valor del automvil en
cada ao

Proceso:
Depreciacin acumulada
Clculo de la
depreciacin acumulada
cada ao
Clculo del valor del
automvil en cada ao

METODOLOGA PARA LA
SOLUCIN DE PROBLEMAS
Diseo del algoritmo

En la etapa de anlisis del proceso de programacin se determina qu


hace el programa. En la etapa de diseo se determina cmo hace el
programa la tarea solicitada. Los mtodos ms eficaces para el proceso de
diseo en el refrn conocido divide y vencers. Es decir, la resolucin de
un problema complejo se realiza dividiendo el problema en subproblemas
y a continuacin subdividir estos subproblemas en otros de nivel ms
bajo, hasta que pueda ser implementada una solucin en la computadora.
Este mtodo se conoce tcnicamente como diseo descendente (topdown) o modular. El proceso de dividir el problema en cada etapa y
expresar cada paso en forma ms detallada se denomina refinamiento
sucesivo.

Cada subproblema es resuelto mediante un mdulo (subprograma) que


tiene un solo punto de entrada y un solo punto de salida.

METODOLOGA PARA LA
SOLUCIN DE
Herramientas de programacin
PROBLEMAS
Las

dos herramientas ms utilizadas para disear algoritmos son:


diagramas de flujo y pseudocdigos.

Diagramas
Un

de flujo

diagrama de flujo (flowchart) es una representacin grfica de un


algoritmo. (los smbolos utilizados han sido normalizados por el Instituto
Norteamericano de Normalizacin (ANSI, por sus siglas en ingls) y los ms
frecuentemente empleados se muestran en la siguiente tabla:

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS
Herramientas de programacin
Smbolo

Utilizacin

Terminal

Subprograma

Entrada/salida

Decisin

Proceso

Conectores

METODOLOGA PARA LA
SOLUCIN DE
PROBLEMAS
Pseudocdigo
El

pseudocdigo es una herramienta de programacin en que las


instrucciones se escriben en palabras similares al ingls o espaol, que
facilitan tanto la escritura como la lectura de programas. En esencia, el
pseudocdigo se puede definir como un lenguaje de especificaciones de
algoritmos.

Aunque

no existen reglas para escritura del pseudocdigo en espaol, se


ha recogido una notacin estndar que es muy empleada en los libros de
programacin en espaol. Las palabras reservadas bsicas se
representan en letras negritas minsculas. Estas palabras son traduccin
libre de palabras reservadas de lenguajes como C, Pascal, etc.

METODOLOGA PARA LA
SOLUCIN DE
PROBLEMAS

Ejemplo 2

El pseudocdigo que resuelve el ejemplo 1 es el siguiente:


Previsiones de depreciacin

Introducir costo inicial


Vida til
Valor final de rescate (recuperacin)

Imprimir encabezados
Establecer el valor inicial del ao
Calcular depreciacin
mientras valor ao <= vida til hacer
calcular depreciacin acumulada
calcular valor actual
imprimir una lnea en la tabla
incrementar el valor del ao
fin de mientras

METODOLOGA PARA LA
SOLUCIN
DE
El diagrama de flujo se muestra en la siguiente figura:
PROBLEMAS

Fin del ejemplo 2

METODOLOGA PARA LA
SOLUCIN DE
Codificacin de un programa
PROBLEMAS
Una

vez que el algoritmo se ha convertido en un programa fuente, es


preciso introducirlo en memoria mediante el teclado y almacenarlo
posteriormente en un disco. Esta operacin se realiza con un programa
editor, posteriormente el programa fuente se convierte en un archivo de
programa que se guarda (graba) en disco.

El

programa fuente debe ser traducido a lenguaje mquina, este proceso


se realiza con el compilador y el sistema operativo que se encarga
particularmente de la compilacin.

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS

Codificacin de un programa

Si tras la compilacin se presentan errores (errores de compilacin) en el


programa fuente, es preciso volver a editar el programa, corregir los errores
y compilar nuevamente. Este proceso se repite hasta que no se producen
errores, obtenindose el programa objeto que todava no es ejecutable
directamente. Suponiendo que no existen errores en el programa fuente, se
debe instruir al sistema operativo para que realice la fase de montaje o
enlace (link), es decir, la carga del programa objeto con las libreras del
programa de compilador. El proceso de montaje produce un programa
ejecutable.

Cuando el programa ejecutable se ha creado, se puede ya ejecutar desde el


sistema operativo con solo teclear su nombre, desde sistema operativo
DOS, o bien haciendo doble clic, desde Windows.

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS

Verificacin y depuracin de un programa

La verificacin de un programa es el proceso de ejecucin del programa con


una amplia variedad de datos de entrada, llamados datos de test o prueba, que
determinarn si el programa tiene errores (bugs). Para realizar la verificacin
se debe desarrollar una amplia gama de datos de test: valores normales de
entrada, valores extremos de entrada que comprueben los lmites del
programa y valores de entrada que comprueben aspectos especiales del
programa.

La depuracin es el proceso de encontrar los errores del programa y corregir o


eliminar dichos errores.

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS

Verificacin y depuracin de un programa


Cuando se ejecuta un programa se pueden producir tres tipos de
errores:

Errores de compilacin. Se producen normalmente por un uso


incorrecto de las reglas del lenguaje de programacin y suelen
ser errores de sintaxis. Si existe un error de sintaxis, la
computadora ni puede comprender la instruccin, no se
obtendr el programa objeto y el compilador imprimir una
lista de todos los errores encontrados durante la compilacin.

Errores de ejecucin. Estos errores se producen por


instrucciones que la computadora puede comprender pero no
ejecutar. Ejemplos tpicos son: divisin entre cero y races
cuadradas de nmeros negativos. En estos casos se detiene la
ejecucin del programa y se imprime un mensaje de error.

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS

Verificacin y depuracin de un programa

Errores de lgica. Se producen en la lgica del programa y la


fuente del error suele ser el diseo del algoritmo. Estos errores
son los ms difciles de detectar, ya que el programa puede
funcionar y no producir errores de compilacin ni de ejecucin, y
slo puede advertir el error por la obtencin de resultados
incorrectos. En este caso se debe volver a la fase de diseo del
algoritmo, modificar el algoritmo, cambiar el programa fuente y
compilar y ejecutar una vez ms.

METODOLOGA PARA LA SOLUCIN DE


PROBLEMAS

Documentacin y mantenimiento
La

documentacin de un problema consta de las descripciones de los


pasos a dar en el proceso de resolucin de un problema. La importancia
de la documentacin debe ser destacada por su decisiva influencia en el
producto final. Programas pobremente documentados son difciles de
leer, ms difciles de depurar y casi imposibles de mantener y modificar.

La

documentacin de un programa puede ser interna y externa. La


documentacin interna es la contenida en lneas de comentarios. La
documentacin externa incluye anlisis, diagramas de flujo,
pseudocdigos, manuales de usuario con instrucciones para ejecutar el
programa y para interpretar los resultados.

La

documentacin es vital cuando se desea corregir posibles errores


futuros o bien cambiar el programa. Tales cambios se denominan
mantenimiento del programa. Despus de cada cambio la documentacin
debe ser actualizada para facilitar cambios posteriores.