Está en la página 1de 23

Programacin

Introduccin.
A continuacin encontraremos conceptos breves acerca de esta unidad, como lo que
es computacin, algoritmos y programacin.
Estos temas se dividen en muchos mas por ejemplo, hardware y software son dos
cosas muy esenciales para poder programar, no sabes la infinidad de cosas que
puedes realizar si sabes lo que es programacin, otro tema muy interesante es el de
introduccin de datos y expresiones, es indispensable saber o definir muy bien estos
temas por tal motivo me di a la tarea de investigar estos temas muy afondo para
tener muy en claro cada uno.
Esperando queden claros y sea de su agrado la siguiente informacin.

Unidad 1. Computacin.
Emigdio Conde Ramrez.

Programacin
1.1.- Conceptualizacin.
La computacin o informtica es la disciplina que estudia e investiga las tcnicas y
dispositivos
tecnolgicos
digitales.
El trmino informtica fue por primera vez usado en 1962 por un ingeniero, Philippe
Dreyfus y es una unin de los trminos informacin y automtica. Si bien el
trmino puede emplearse para referir a diversas disciplinas y tecnologas que ahondan
en la administracin de informacin, hoy es muy comnmente utilizado como
sinnimo de computadora u ordenador. En s, la computacin se encarga de estudiar y
analizar los mtodos, procesos, desarrollos y funcionamiento de computadoras a
pequea o gran escala que tienen la capacidad de almacenar, procesar y hacer uso de
informacin
en
formato
digital.
Se considera al Z3, una creacin de Konrad Zuse, como la primera computadora que
poda ser programada y actuar de manera automtica. Pesaba alrededor de una
tonelada y demoraba ms de 3 segundos en hacer una operacin simple como una
multiplicacin.
Para considerar a un sistema como informtico, ste debe cumplir tres tareas
principales: entrada (captacin de datos en formato digital), proceso (tratamiento y
administracin de esa informacin) y salida (transmisin de los resultados digitales de
esas operaciones). Entonces, un proceso informtico puede ser tan simple como
escribir un documento en el procesador de textos, o tan complejo como programar el
funcionamiento de un dispositivo de navegacin espacial. La computacin consiste en
cuestiones tan distintas como disear un programa de edicin de imgenes
tridimensionales, entretenerse con un juego de video, escuchar msica en formato
MP3, navegar por Internet, editar un video y transformarlo en una pelcula de alto
impacto
y
muchas
otras
actividades.
Hoy en da, adems, con el surgimiento de las nuevas tecnologas, la informtica ha
alcanzado todos los aspectos de nuestra vida cotidiana, personal, laboral y recreativa.
Una computadora nos permite atender asuntos de negocios, como tambin
vincularnos y conectarnos con personas en todo el mundo, almacenar informacin
relevante
y
entretenernos
de
manera
multimedia.
La computacin es un aspecto tan relevante de nuestras vidas que, como enseanza,
es altamente considerada en instituciones educativas de todo el mundo.
1.2.- Hardware y software.
Conjunto formado por la computadora (Hard) y el programa (Soft).
Ms all de la popular definicin hardware es lo que golpeas cuando falla el software,
el Hardware son todos los componentes y dispositivos fsicos y tangibles que forman
una computadora como la CPU o la placa base, mientras que el Software es el
equipamiento lgico e intangible como los programas y datos que almacena la
computadora.
Hardware
Los
componentes
y
dispositivos
Bsico y Hardware Complementario

Emigdio Conde Ramrez.

del Hardware se

dividen

en Hardware

Programacin

El Hardware Bsico: son las piezas fundamentales e imprescindibles para que la


computadora funcione como son: Placa base, monitor, teclado y ratn.
El Hardware Complementario: son todos aquellos dispositivos adicionales no
esenciales como pueden ser: impresora, escner, cmara de vdeo digital,
webcam, etc.

Placa Base o Placa Madre


Los componentes Hardware ms importantes de la computadora y esenciales para su
funcionamiento se encuentran en la Placa Base (tambin conocida como Placa Madre),
que es una placa de circuito impreso que aloja a la Unidad Central de Procesamiento
(CPU) o microprocesador, Chipset (circuito integrado auxiliar), Memoria RAM, BIOS o
Flash-ROM, etc., adems de comunicarlos entre s.
Grupos de Hardware
Segn sus funciones, los componentes y dispositivos del hardware se dividen en varios
grupos y en el siguiente orden:
Dispositivos de Entrada
Los Dispositivos de Entrada son aquellos a travs de los cuales se envan datos
externos a la unidad central de procesamiento, como el teclado, ratn, escner, o
micrfono, entre otros.
Chipset (Circuito Integrado Auxiliar)
El Chipset o Circuito Integrado Auxiliar es la mdula espinal de la computadora,
integrado en la placa base, hace posible que esta funcione como eje del sistema
permitiendo el trfico de informacin entre el microprocesador (CPU) y el resto de
componentes de la placa base, interconectndolos a travs de diversos buses que
son: el Northbridge (Puente Norte) y el Southbridge (Puente Sur).
El Northbridge o Puente Norte es un circuito integrado que hace de puente de enlace
entre el microprocesador y la memoria adems de las tarjetas grficas o de vdeo AGP
o PCI-Express, as como las comunicaciones con el Puente Sur.
El Southbridge o Puente Sur (tambin conocido como Concentrador de Controladores
de Entrada/Salida), es un circuito integrado que coordina dentro de la placa base los
dispositivos de entrada y salida adems de algunas otras funcionalidades de baja
velocidad. El Puente Sur se comunica con la CPU a travs del Puente Norte.
Unidad Central de Procesamiento (CPU)
La CPU (Central Processing Unit o Unidad Central de Procesamiento) puede estar
compuesta por uno o varios microprocesadores de circuitos integrados que se
encargan de interpretar y ejecutar instrucciones, y de administrar, coordinar y
procesar datos, es en definitiva el cerebro del sistema de la computadora. adems, la
velocidad de la computadora depende de la velocidad de la CPU o microprocesador
que se mide en Mhz (unidad de medida de la velocidad de procesamiento). Se divide
en varios registros:
Unidad de Control

Emigdio Conde Ramrez.

Programacin
La Unidad de Control es la encargada de controlar que las instrucciones se ejecuten,
buscndolas en la memoria principal, decodificndolas (interpretndolas) y que
despus sern ejecutadas en la unidad de proceso.
Unidad Aritmtico-Lgica
La Unidad Aritmtico-Lgica es la unidad de proceso donde se lleva a cabo la
ejecucin de las instrucciones con operaciones aritmticas y lgicas.
Unidad de Almacenamiento
La Unidad de Almacenamiento o Memoria guarda todos los datos que son procesados
en la computadora y se divide en Memoria Principal y Memoria Secundaria o Auxiliar.
Memoria Principal o Primaria (RAM ROM)
En la Memoria Principal o Primaria de
memorias RAM, ROM y CACH.

la

computadora

se

encuentran

las

La Memoria RAM (Random Access Memory o Memoria de Acceso Aleatorio) es un


circuito integrado o chip que almacena los programas, datos y resultados ejecutados
por la computadora y de forma temporal, pues su contenido se pierde cuando esta se
apaga. Se llama de acceso aleatorio - o de acceso directo - porque se puede acceder a
cualquier posicin de memoria sin necesidad de seguir un orden. La Memoria
RAM puede ser leda y escrita por lo que su contenido puede ser modificado.
La Memoria ROM (Read Only Memory o Memoria de slo lectura) viene grabada en
chips con una serie de programas por el fabricante de hardware y es slo de lectura,
por lo que no puede ser modificada - al menos no muy rpida o fcilmente - y tampoco
se altera por cortes de corriente. En esta memoria se almacenan los valores
correspondientes a las rutinas de arranque o inicio del sistema y a su configuracin.
La Memoria Cach o RAM Cach es una memoria auxiliar de alta velocidad, que no es
ms que una copia de acceso rpido de la memoria principal almacenada en los
mdulos deRAM.
Memoria Secundaria (Disco Duro, Disco Flexibles, etc.)
La Memoria Secundaria (tambin llamada Perifrico de Almacenamiento) est
compuesta por todos aquellos dispositivos capaces de almacenar datos en dispositivos
que pueden ser internos como el disco duro, o extrable como los discos flexibles
(disquetes), CDs, DVDs, etc.
Dispositivos de Salida
Los Dispositivos de Salida son aquellos que reciben los datos procesados por la
computadora y permiten exteriorizarlos a travs de perifricos como el monitor,
impresora, escner, plotter, altavoces,etc.

Dispositivos de Entrada/Salida (Perifricos mixtos): Hay dispositivos que son tanto de


entrada como de salida como los mencionados perifricos de almacenamiento, CDs,
DVDs, as como mdems, faxes, USBs, o tarjetas de red.

Emigdio Conde Ramrez.

Programacin

Software
El Software es el soporte lgico e inmaterial que permite que la computadora pueda
desempear tareas inteligentes, dirigiendo a los componentes fsicos o hardware con
instrucciones y datos a travs de diferentes tipos de programas.
El Software son los programas de aplicacin y los sistemas operativos, que segn las
funciones que realizan pueden ser clasificados en:

Software de Sistema
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven
para interactuar con el sistema, confiriendo control sobre el hardware, adems de dar
soporte a otros programas.
El Software de Sistema se divide en:

Sistema Operativo
Controladores de Dispositivos
Programas Utilitarios

Sistema operativo
El Sistema Operativo es un conjunto de programas que administran los recursos de la
computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones bsicas: Suministro de Interfaz al
Usuario, Administracin de Recursos, Administracin de Archivos, Administracin de
Tareas y Servicio de Soporte.
1.

Suministro de interfaz al usuario: Permite al usuario comunicarse con la


computadora por medio de interfaces que se basan en comandos, interfaces que
utilizan mens, e interfaces grficas de usuario.

2.

Administracin de recursos: Administran los recursos del hardware como la


CPU, memoria, dispositivos de almacenamiento secundario y perifricos de
entrada y de salida.

3.

Administracin de archivos: Controla la creacin, borrado, copiado y acceso


de archivos de datos y de programas.

4.

Administracin de tareas: Administra la informacin sobre los programas y


procesos que se estn ejecutando en la computadora. Puede cambiar la prioridad
entre procesos, concluirlos y comprobar el uso de estos en la CPU, as como
terminar programas.

5.

Servicio de soporte: Los Servicios de Soporte de cada sistema operativo


dependen de las implementaciones aadidas a este, y pueden consistir en
inclusin de utilidades nuevas, actualizacin de versiones, mejoras de seguridad,
controladores de nuevos perifricos, o correccin de errores de software.

Emigdio Conde Ramrez.

Programacin
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que permiten a otros programa de
mayor nivel como un sistema operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para resolver problemas
especficos, adems de realizar tareas en general y de mantenimiento. Algunos se
incluyen en el sistema operativo.
Software de Aplicacin
El Software de Aplicacin son los programas diseados para o por los usuarios para
facilitar la realizacin de tareas especficas en la computadora, como pueden ser las
aplicaciones ofimticas (procesador de texto, hoja de clculo, programa de
presentacin, sistema de gestin de base de datos...), u otros tipos de software
especializados como software mdico, software educativo, editores de msica,
programas de contabilidad, etc.
Software de Programacin
El Software de Programacin es el conjunto de herramientas que permiten al
desarrollador informtico escribir programas usando diferentes alternativas y
lenguajes de programacin.
Este tipo de software incluye principalmente compiladores, intrpretes,
ensambladores, enlazadores, depuradores, editores de texto y un entorno de
desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta
una avanzada interfaz grfica de usuario (GUI).

Unidad 2.- Algoritmos.


2.1. Conceptualizacin.
Conjunto ordenado de operaciones sistemticas que permite hacer un
clculo y hallar la solucin de un tipo de problemas.

En el rabe es donde podemos encontrar el origen etimolgico del trmino algoritmo


que ahora vamos a analizar en profundidad. Ms exactamente se halla en el nombre
del matemtico Al-Khwarizmi, que naci en la Edad Media en una de las zonas de lo
que hoy se conoce como Uzbiekistn, en Asia central.

En Bagdad fue donde este desarroll gran parte de su carrera y es que hasta all se
traslad para, por orden del califa, crear un centro superior de investigaciones
cientficas que se dio en llamar Casa de la Sabidura. Diversos tratados de lgebra o
astronoma fueron algunos de los trabajos que realiz dicho sabio que tambin ha

Emigdio Conde Ramrez.

Programacin
dado lugar a la creacin de otra serie de trminos cientficos tales como lgebra o
guarismo.

Tal fue la importancia que tuvo dicho personaje histrico que actualmente est
considerado no slo como el padre del lgebra sino tambin como quien se encarg
de introducir nuestro sistema de numeracin.

Se denomina algoritmo a un grupo finito de operaciones organizadas de


manera lgica y ordenada que permite solucionar un determinado problema. Se
trata de una serie de instrucciones o reglas establecidas que, por medio de una
sucesin de pasos, permiten arribar a un resultado o solucin.

Segn los expertos en matemtica, los algoritmos permiten trabajar a partir de un


estado bsico o inicial y, tras seguir los pasos propuestos, llegar a una solucin. Cabe
resaltar que, si bien los algoritmos suelen estar asociados al mbito matemtico (ya
que permiten, por citar casos concretos, averiguar el cociente entre un par de dgitos
o determinar cul es el mximo comn divisor entre dos cifras pertenecientes al grupo
de los enteros), aunque no siempre implican la presencia de nmeros.

Adems de todo lo expuesto, en el mbito matemtico, y cuando estamos decididos a


llevar a cabo la descripcin de uno de esos algoritmos hay que tener en cuenta que se
puede efectuar mediante tres niveles. As, en primer lugar, nos encontramos con el de
alto nivel, lo que es la descripcin formal y finalmente la tarea de implementacin.

Asimismo tampoco podemos pasar por alto que los algoritmos se pueden expresar a
travs de lenguajes de programacin, pseudocdigo, el lenguaje natural y tambin a
travs de los conocidos como diagramas de flujo.

Un manual de instrucciones para el funcionamiento de un electrodomstico y una


serie de rdenes del jefe a un empleado para desarrollar una cierta tarea tambin
pueden incluir algoritmos.

Esta amplitud de significado permite apreciar que no existe una definicin formal y
nica de algoritmo. El trmino suele ser sealado como el nmero fijo de pasos
necesarios para transformar informacin de entrada (un problema) en una
Emigdio Conde Ramrez.

Programacin
salida (su solucin). De todas formas, algunos algoritmos carecen de final o no
resuelven un problema en particular.

Existen ciertas propiedades que alcanzan a todos los algoritmos, con excepcin de los
denominados algoritmos paralelos: el tiempo secuencial (los algoritmos funcionan
paso a paso), el estado abstracto (cada algoritmo es independiente de su
implementacin) y la exploracin acotada (la transicin entre estados queda
determinada por una descripcin finita y fija).

Cabe mencionar por ltimo que los algoritmos son muy importantes en
la informtica ya que permiten representar datos como secuencias de bits. Un
programa es un algoritmo que indica a la computadora qu pasos especficos debe
seguir para desarrollar una tarea.

2.2 Tipos de algoritmos.

Qu tipos de algoritmos existen?


Tipos de algoritmos segn su funcin
Existen dos tipos y son llamados as por su naturaleza:
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los
pasos del proceso.
Tcnicas de diseo de algoritmos
Algoritmos voraces (greedy): seleccionan los elementos ms prometedores del
conjunto de candidatos hasta encontrar una solucin. En la mayora de los casos la
solucin no es ptima.
Algoritmos paralelos: permiten la divisin de un problema en sub problemas de
forma que se puedan ejecutar de forma simultnea en varios procesadores.
Algoritmos probabilsticos: algunos de los pasos de este tipo de algoritmos estn
en funcin de valores pseudo aleatorios.
Algoritmos determinsticos: el comportamiento del algoritmo es lineal: cada paso del
algoritmo tiene nicamente un paso sucesor y otro antecesor.

Emigdio Conde Ramrez.

Programacin
Algoritmos no determinsticos: el comportamiento del algoritmo tiene forma de
rbol y a cada paso del algoritmo puede bifurcarse a cualquier nmero de pasos
inmediatamente posteriores, adems todas las ramas se ejecutan simultneamente.
Divide y vencers: dividen el problema en subconjuntos disjuntos obteniendo una
solucin de cada uno de ellos para despus unirlas, logrando as la solucin
al problema completo.
Meta heursticas: encuentran soluciones aproximadas (no ptimas) a problemas
basndose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
Programacin dinmica: intenta resolver
computacional aumentando el coste espacial.

problemas

disminuyendo

su

coste

Ramificacin y acotacin: se basa en la construccin de las soluciones al problema


mediante un rbol implcito que se recorre de forma controlada encontrando
las mejores soluciones.

2.3. Lenguajes algortmicos.

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos
lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificacin de los lenguajes para algoritmos puede enunciarse de la siguiente
manera
:

Lenguaje
Lenguaje
Lenguaje
Lenguaje

Natural.
de Diagrama de Flujo.
Natural de Programacin.
de Programacin de Algoritmos.

Lenguaje Natural.
Es aqul que describe en espaol, para nuestro caso, los pasos a seguir utilizando un
vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan trminos
especializados de una determinada ciencia, profesin o grupo.
Lenguaje de Diagrama de Flujo.
Es aqul que se vale de diversos smbolos para representar las ideas o acciones a
desarrollar. Es til para organizar las acciones o pasos de un algoritmo pero requiere
de etapas posteriores para implementarse en un sistema de cmputo.
Lenguaje Natural de Programacin.
Son aqullos que estn orientados a la solucin de problemas que se definen de una
manera precisa. Generalmente son aplicados para la elaboracin de frmulas o
mtodos
cientficos.

Emigdio Conde Ramrez.

Programacin
El lenguaje natural tiene las siguientes caractersticas :

Evita la ambigedad (algo confuso que se puede interpretar de varias maneras).


Son precisos y bien definidos.
Utilizan trminos familiares al sentido comn.
Elimina instrucciones innecesarias.
Lenguaje de Programacin de Algoritmos.
Es aqul que se utiliza para introducir en la computadora un algoritmo especfico. Se
les
conoce
tambin
como
Lenguaje
de
Programacin.
Lenguaje de Programacin: Es un conjunto de palabras, smbolos y reglas sintcticas
mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver
un
problema.
Los lenguajes de programacin pueden clasificarse por diversos criterios, siendo el
ms comn su nivel de semejanza con el lenguaje natural, y su capacidad de manejo
de
niveles
internos
de
la
mquina.
Los principales tipos de lenguajes utilizados son tres:

Lenguaje Mquina.
Lenguaje de bajo Nivel (ensamblador).
Lenguajes de Alto Nivel.
Lenguaje Mquina.
Son aqullos que estn escritos en lenguajes directamente inteligibles por la mquina
(computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de
caracteres de dgitos 0 y 1) que especifican una operacin y las posiciones (direccin)
de memoria implicadas en la operacin se denominan instrucciones de mquina o
cdigo
mquina.
El
cdigo
mquina
es
el
conocido
cdigo
binario.
Ventajas del Lenguaje Mquina
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier
otro
lenguaje
de
programacin.
Desventajas del Lenguaje Mquina

Dificultad y lentitud en la codificacin.


Poca fiabilidad.
Gran dificultad para verificar y poner a punto los programas.
Los programas solo son ejecutables en el mismo procesador (CPU).
En la actualidad, las desventajas superan a las ventajas, lo que hace prcticamente no
recomendables a los lenguajes mquinas.
Lenguajes de Bajo Nivel.
Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos,
dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el
Emigdio Conde Ramrez.

Programacin
ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas
como nemotcnicos. Por ejemplo, nemotcnicos tpicos de operaciones aritmticas
son : en ingls : ADD, SUB, DIV, etc. ; en espaol : SUM, RES, DIV, etc.
Una instruccin tpica de suma sera: ADD M, N, P
Esta instruccin significa "sumar el contenido en la posicin de memoria M al nmero
almacenado en la posicin de memoria N y situar el resultado en la posicin de
memoria P" . Evidentemente es ms sencillo recordar la instruccin anterior con un
nemotcnico
que
su
equivalente
en
cdigo
mquina.
0110

1001

1010

1011

Un programa escrito en lenguaje ensamblador, requiere de una fase de traduccin al


lenguaje mquina para poder ser ejecutado directamente por la computadora.

Desventajas del lenguaje ensamblador.


Dependencia total de la mquina lo que impide la transportabilidad de los programas
(posibilidad de ejecutar un programa en diferentes mquinas. El lenguaje ensamblador
del PC es distinto del lenguaje ensamblador del Apple Machintosh.
La formacin de los programadores es ms compleja que la correspondiente a los
programadores de alto nivel, ya que exige no solo las tcnicas de programacin, sino
tambin
el
conocimiento
del
interior
de
la
mquina.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran
bsicamente en aplicaciones de tiempo real, control de procesos y de dispositivos
electrnicos.
Lenguajes de Alto Nivel.
Estos lenguajes son los ms utilizados por los programadores. Estn diseados para
que las personas escriban y entiendan los programas de un modo mucho ms fcil
que los lenguajes mquina y ensambladores. Un programa escrito en lenguaje de alto
nivel es independiente de la mquina (las instrucciones no dependen del diseo del
hardware o de una computadora en particular), por lo que estos programas son
portables o transportables. Los programas escritos en lenguaje de alto nivel pueden
ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras.
Ventajas de los lenguajes de alto nivel.

El tiempo de formacin de los programadores es relativamente corto comparado con


otros lenguajes.
La escritura de programas se basa en reglas sintcticas similares a los lenguajes
humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
Las modificaciones y puestas a punto de los programas son ms fciles.
Reduccin del costo de los programas.
Transportabilidad.

Emigdio Conde Ramrez.

Programacin
Desventajas de los lenguajes de alto nivel.
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del
programa fuente para conseguir el programa definitivo.
No se aprovechan los recursos internos de la mquina que se explotan.
mucho mejor en lenguajes mquina y ensambladores.
Aumento de la ocupacin de memoria.
El tiempo de ejecucin de los programas es mucho mayor.

Para una mejor compresin de este tema se definir el concepto de programa, por ser
este un trmino muy utilizado en el diseo estructurado de algoritmos.

Programa: Es un conjunto de instrucciones escritas en un lenguaje de programacin


que indica a la computadora la secuencia de pasos para resolver un problema.

2.4. Diagrama de flujo.

Qu es un Diagrama de Flujo?
Un diagrama de flujo es una representacin grfica de un proceso. Cada paso del
proceso es representado por un smbolo diferente que contiene una breve descripcin
de la etapa de proceso. Los smbolos grficos del flujo del proceso estn unidos entre
s con flechas que indican la direccin de flujo del proceso.
El diagrama de flujo ofrece una descripcin visual de las actividades implicadas en un
proceso mostrando la relacin secuencial ente ellas, facilitando la rpida comprensin
de cada actividad y su relacin con las dems, el flujo de la informacin y los
materiales, las ramas en el proceso, la existencia de bucles repetitivos, el nmero de
pasos del proceso, las operaciones de interdepartamentales Facilita tambin la
seleccin de indicadores de proceso
Beneficios del Diagrama de Flujo.

En primer lugar, facilita la obtencin de una visin transparente del proceso,


mejorando su comprensin. El conjunto de actividades, relaciones e incidencias de
un proceso no es fcilmente discernible a priori. La diagramacin hace posible
aprehender ese conjunto e ir ms all, centrndose en aspectos especficos del
mismo, apreciando las interrelaciones que forman parte del proceso as como las
que se dan con otros procesos y subprocesos.

Emigdio Conde Ramrez.

Programacin

Permiten definir los lmites de un proceso. A veces estos lmites no son tan
evidentes, no estando definidos los distintos proveedores y clientes (internos y
externos) involucrados.
El diagrama de flujo facilita la identificacin de los clientes, es ms sencillo
determinar sus necesidades y ajustar el proceso hacia la satisfaccin de sus
necesidades y expectativas.
Estimula el pensamiento analtico en el momento de estudiar un proceso,
haciendo ms factible generar alternativas tiles.
Proporciona un mtodo de comunicacin ms eficaz, al introducir un lenguaje
comn, si bien es cierto que para ello se hace preciso la capacitacin de aquellas
personas que entrarn en contacto con la diagramacin.
Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las
actividades que componen el proceso.
Igualmente, constituye una excelente referencia para establecer mecanismos
de control y medicin de los procesos, as como de los objetivos concretos para las
distintas operaciones llevadas a cabo.
Facilita el estudio y aplicacin de acciones que redunden en la mejora de las
variables tiempo y costes de actividad e incidir, por consiguiente, en la mejora de la
eficacia y la eficiencia.
Constituye el punto de comienzo indispensable para acciones de mejora o
reingeniera.

Las actividades de anlisis y diagramacin de procesos ayudan a la organizacin a


comprender cmo se estn desarrollando sus procesos y actividades, al tiempo que
constituyen el primer paso para mejorar las prcticas organizacionales.
Diagramar es establecer una representacin visual de los procesos y subprocesos, lo
que permite obtener una informacin preliminar sobre la amplitud de los mismos, sus
tiempos y los de sus actividades.
La representacin grfica facilita el anlisis, uno de cuyos objetivos es la
descomposicin de los procesos de trabajo en actividades discretas. Tambin hace
posible la distincin entre aquellas que aportan valor aadido de las que no lo hacen,
es decir que no proveen directamente nada al cliente del proceso o al resultado
deseado. En este ltimo sentido cabe hacer una precisin, ya que no todas las
actividades que no proveen valor aadido han de ser innecesarias; stas pueden ser
Emigdio Conde Ramrez.

Programacin
actividades de apoyo y ser requeridas para hacer ms eficaces las funciones de
direccin y control, por razones de seguridad o por motivos normativos y de
legislacin.
Todas estas razones apuntan hacia el diagrama de flujo de procesos como un
instrumento primordial para la correcta gestin de los procesos.
La realizacin de un diagrama de flujo es una actividad ntimamente ligada al hecho
de modelar un proceso, que es por s mismo un componente esencial en la gestin de
procesos.
Frecuentemente los sistemas (conjuntos de procesos y subprocesos integrados en una
organizacin) son difciles de comprender, amplios, complejos y confusos; con
mltiples puntos de contacto entre s y con un buen nmero de reas funcionales,
departamentos y personas implicadas. Un modelo una representacin de una realidad
compleja) puede dar la oportunidad de organizar y documentar la informacin sobre
un sistema. El diagrama de flujo de proceso constituye la primera actividad para
modelar un proceso.
Pero qu es un modelo? Un modelo es una representacin de una realidad compleja.
Modelar es desarrollar una descripcin lo ms exacta posible de un sistema y de las
actividades llevadas a cabo en l.
Cuando un proceso es modelado, con ayuda de una representacin grfica (diagrama
de flujo de proceso), pueden apreciarse con facilidad las interrelaciones existentes
entre distintas actividades, analizar cada actividad, definir los puntos de contacto con
otros procesos, as como identificar los subprocesos comprendidos. Al mismo tiempo,
los problemas pueden ponerse de manifiesto claramente dando la oportunidad al
inicio de acciones de mejora.
Elaboracin del Diagrama de Flujo
El diagrama de flujo debe ser realizado por un equipo de trabajo en el que las distintas
personas aporten, en conjunto, una perspectiva completa del proceso, por lo que con
frecuencia este equipo ser multifuncional y multijerrquico.

Determinar el proceso a diagramar.


Definir el grado de detalle. El diagrama de flujo del proceso
puede mostrar a grandes rasgos la informacin sobre el flujo general de
actividades pricipales, o ser desarrollado de modo que se incluyan todas las
actividades y los puntos de decisin. Un diagrama de flujo detallado dar la
oportunidad de llevar realizar un anlisis ms exhaustivo del proceso.
Identificar la secuencia de pasos del proceso. Situndolos en
el orden en que son llevados a cabo.
Construir el diagrama de flujo. Para ello se utilizan
determinados smbolos. Cada organizacin puede definir su propio grupo de
smbolos. En la figura anterior se mostraba un conjunto de smbolos
habitualmente utilizados. Al respecto cabe decir que en la figura Conector de
proceso es frecuentemente utilizado un crculo como smbolo.
Revisar el diagrama de flujo del proceso.

Emigdio Conde Ramrez.

Programacin

Unidad 3 Programacin.

3.1 Conceptualizacin.

Programacin es la accin y efecto de programar. Este verbo tiene varios usos:


se refiere a idear y ordenar las acciones que se realizarn en el marco de un proyecto;
al anuncio de las partes que componen un acto o espectculo; a la preparacin de
mquinas para que cumplan con una cierta tarea en un momento determinado; a la
elaboracin de programas para la resolucin de problemas mediante ordenadores; y a
la preparacin de los datos necesarios para obtener una solucin de un problema a
travs
de
una
calculadora
electrnica,
por
ejemplo.
En la actualidad, la nocin de programacin se encuentra muy asociada a la creacin
de aplicaciones informaticas y videojuegos; es el proceso por el cual una persona
desarrolla un programa valindose de una herramienta que le permita escribir el
cdigo (el cual puede estar en uno o varios lenguajes, tales como C++, Java y Python)
y de otra que sea capaz de traducirlo a lo que se conoce como lenguaje de
mquina, el cual puede ser entendido por un microprocesador.
Este ltimo paso se conoce como compilacin y es necesario para que el cdigo
pueda ser ejecutado por la plataforma para la cual haya sido creado, que pueda ser
un ordenador, una tableta, una consola o un telfono mvil, por ejemplo. Existe
tambin una forma de traducir el cdigo denominada interpretacin, que consiste en
analizar lnea a lnea, hasta que se traduzca lo suficiente como para poder realizar una
tarea. Cabe mencionar que los lenguajes de programacin se dividen en dos grandes
grupos, donde los que pueden ser compilados no pueden ser interpretados, y
viceversa.

La totalidad del proceso de desarrollo abarca varias etapas y requiere del trabajo de
diferentes especialistas. En principio, partiendo de la base de un proyecto bien
organizado, es necesario dar con una idea atractiva, interesante, que justifique los
meses o aos de esfuerzo que vendrn. Tan slo esta primera parte puede tomar
mucho tiempo, dado que lo que comienza como un producto perfecto puede
convertirse, luego de cuestionarlo y observarlo desde diferentes ngulos, en
un fracaso seguro.

Una vez hallada la idea, se debe establecer el diseo de la misma; en otras palabras,
se trata de formalizar todo aquello que se haya discutido durante la bsqueda inicial.
Si bien cada equipo trabaja a su manera, dado que no se puede estructurar la creacin
Emigdio Conde Ramrez.

Programacin
de una forma rgida, es probable que el siguiente paso lgico sea comenzar a
experimentar a travs de la programacin, para facilitar a los diseadores un contacto
directo e interactivo con su idea.

Los programadores tienen en sus manos el poder de dar vida a un sistema, a una
aplicacin, a un videojuego. Es importante notar que todos estos productos pueden
ser definidos en absoluto detalle en un documento, incluyendo imgenes y grficos
que expliquen cmo funciona cada milmetro de los mismos; sin embargo, hasta que
un desarrollador de software no entra en accin, no es posible verlos en movimiento,
probarlos, pasar de la teora a la prctica.

En un plano ms tcnico, la programacin se realiza mediante el uso de algoritmos,


que son secuencias finitas, ordenadas y no ambiguas de instrucciones que deben
seguirse para resolver un problema. Algunas de ellas pueden agruparse y recibir un
nombre para poder ser invocadas con facilidad tantas veces como sea necesario. Del
mismo modo que los seres humanos necesitamos respirar constantemente, una
aplicacin informtica necesita conocer la posicin del puntero del ratn a cada
momento, as como su actividad (si se ha hecho clic y con qu botn, si se ha soltado
o si se mantiene presionado, etctera).

3.2 Estructura de un programa.


Un programa puede considerarse como una secuencia de acciones (instrucciones) que
manipulan un conjunto de objetos (datos).

Bloque de declaraciones: en l se especifican todos los objetos que utiliza el


programa (constantes, variables, tablas, registros, archivos, etc.).

Bloque de instrucciones: constituido por el conjunto de operaciones que se


han de realizar para la obtencin de los resultados deseados.

Partes principales de un programa


Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes
fundamentales. En algunos casos, estas tres partes estn perfectamente delimitadas,
pero en la mayora sus instrucciones quedan entremezcladas a lo largo del programa,
si bien mantienen una cierta localizacin geomtrica impuesta por la propia
naturaleza de las mismas.
Emigdio Conde Ramrez.

Programacin

Entrada de datos: la constituyen todas aquellas instrucciones que toman


datos de un dispositivo externo, almacenndolos en la memoria central para que
puedan ser procesados.

Proceso o algoritmo: est formado por las instrucciones que modifican los
objetos a partir de su estado inicial hasta el estado final, dejando stos disponibles
en la memoria central.

Salida de resultados: conjunto de instrucciones que toman los datos finales


de la memoria central y los envan a los dispositivos externos.

Clasificacin

de

las

Instrucciones.

Una instruccin se caracteriza por un estado inicial y final del entorno. El estado final
de una instruccin coincide con el inicial de la siguiente. No siempre una instruccin
modifica el entorno, pues su cometido puede limitarse a una mera observacin del
mismo o a un cambio en el orden de ejecucin de otras. Las instrucciones pueden ser:

Instrucciones de declaracin: Se utilizan en aquellos lenguajes de


programacin que no tienen declaracin explcita de los objetos. Su misin
consiste en indicar al procesador que reserve espacio en la memoria para un
objeto del programa, indicando asimismo su nombre, tipo y caractersticas.

Instrucciones primitivas: Son aquellas que ejecuta el procesador de modo


inmediato. Las principales son asignacin, entrada y salida.

Instruccin de asignacin: Consiste en calcular el valor de una expresin y


almacenarlo en una variable. En algn lenguaje es preciso calcular previamente el
resultado de la expresin, pues la instruccin de asignacin slo permite el
movimiento de un valor simple.

Instruccin de entrada: Toma un dato de un dispositivo de entrada y lo


almacena en un objeto. En algn lenguaje, los datos de entrada no provienen de
un dispositivo externo, sino que han sido colocados previamente en el mismo
programa.

Instruccin de salida: Toma el valor de una expresin u objeto y lo lleva a un


dispositivo externo.

Instrucciones compuestas: Son aquellas que el procesador no puede


ejecutar directamente, sino que realiza una llamada a un subprograma, subrutina o
prrafo.

Instrucciones de control: Son aquellas de controlar la ejecucin de otras


instrucciones.

Instruccin alternativa: Controla la ejecucin de unas u otras instrucciones


segn una condicin. Puede ser simple o doble (SI y SINO).

Instruccin de salto incondicional: Altera la secuencia normal de ejecucin


de un programa, continuando la misma en la lnea indicada en la propia instruccin
(IR A).

Emigdio Conde Ramrez.

Programacin

Instruccin de salto condicional: Altera la secuencia normal de ejecucin de


un programa nicamente en el caso de cumplimiento de una condicin asociada a
la propia instruccin (SI ... IR A).

Instruccin repetitiva: Hace que se repitan una o varias instrucciones un


nmero determinado o indeterminado de veces (PARA, MIENTRAS, HASTA e
ITERAR).

Elementos auxiliares de un programa


Son variables que realizan funciones especficas dentro de un programa, y por su gran
utilidad, frecuencia de uso y peculiaridades, conviene hacer un estudio separado de
las mismas. Las ms importantes son:

Contadores: Un contador es un campo de memoria cuyo valor se incrementa


en una cantidad fija, positiva o negativa, generalmente asociado a un bucle. Toma
un valor inicial antes de comenzar su funcin, y cada vez que se realiza el suceso,
incrementa su valor. Se utiliza en los siguientes casos:
o

Para contabilizar el nmero de veces que es necesario repetir una accin


(variable de control de un bucle).

Para contar un suceso particular solicitado por el enunciado del problema


(asociado a un bucle o independientemente).

Acumuladores: Un acumulador es un campo de memoria cuyo valor se


incrementa sucesivas veces en cantidades variables. Se utiliza en aquellos casos
en que se desea obtener el total acumulado de un conjunto de cantidades, siendo
preciso inicializarlo con el valor 0. Tambin en las situaciones en que hay que
obtener un total como producto de distintas cantidades se utiliza un acumulador,
debindose inicializar con el valor 1.

Interruptores (switches): Un interruptor es un campo de memoria que puede


tomar dos valores exclusivos (0 y 1, -1 y 1, FALSO y CIERTO, etc.). Se utiliza para:
o

Recordar en un determinado punto de un programa la ocurrencia o no de


un suceso anterior, para salir de un bucle o para decidir en una instruccin
alternativa qu accin realizar.

Para hacer que dos acciones diferentes se ejecuten alternativamente


dentro de un bucle.

Tipos de programas
Un programa, por lo general, estar compuesto por una secuencia de acciones,
algunas de las cuales sern alternativas o repetitivas. En determinados programas
sencillos, no se da esta mezcla de acciones, en cuyo caso se pueden clasificar como
sigue:

Programas lineales: consisten en una secuencia de acciones primitivas (su


ejecucin es lineal en el orden en que han sido escritas).

Emigdio Conde Ramrez.

Programacin

Programas alternativos: consisten en el anidamiento de acciones


alternativas (las tablas de decisin se realizan mediante programas alternativos).

Programas cclicos: son aquellos en los que un conjunto de acciones se


repiten un nmero determinado o indeterminado de veces (un programa de este
tipo se denomina bucle).

Otra clasificacin relativa a la aplicacin desarrollada por el programa es:

Programas de gestin: se caracterizan por el manejo de gran cantidad de


datos con pocos clculos (resuelven problemas de gestin).

Programas tcnicos-cientficos: al contrario que los anteriores, realizan


gran cantidad de clculos con pocos datos (revuelven problemas
matemticos, fsicos, etc.).

Programas de diseo (CAD): se caracterizan por la utilizacin de tcnicas


grficas para resolver problemas de diseo.

Programas de simulacin: intentan reflejar una situacin real, para facilitar


su estudio.

Programas educativos (EAO): utilizan las ventajas del ordenador para la


docencia.

Programas de inteligencia
razonamiento humano.

artificial: se

utilizan

para

simular

el

3.3. Introduccin de datos y expresiones.


Entrada de datos: scanf
Se pueden recoger datos desde el teclado con la funcin scanf.
Sintaxis:
scanf ( formato, & arg1, & arg2, ... );
En formato se especifica qu tipo de datos se quieren leer. Se utiliza la misma
descripcin de formato que enprintf. Tambin hay que incluir la cabecera <stdio.h>
Ejemplo:
int x,y;
...
scanf ( %d %d, &x, &y );

Notas:
Emigdio Conde Ramrez.

Programacin
Si no se anteponen los ampersands (&), el resultado puede ser desastroso.
En scanf slo van descripciones de formato, nunca texto normal. Si se quiere escribir
antes un texto, hay que utilizar printf.

Entrada de expresiones
Los datos se manipulan mediante expresiones, que sirven para calcular valores. En C
hay varios operadores para construir expresiones.
Estos son los operadores elementales sobre nmeros:
Operador
+
*
/
%

Significado
suma
resta
producto
divisin
mdulo (resto de la divisin)

Una expresin combina varias operaciones y devuelve un valor.


Los operadores *, / y % tienen precedencia sobre la suma y la resta.
Se pueden utilizar parntesis para agrupar subexpresiones.
Ejemplos de expresiones:
1
2+2
4 + 6/2
(4+6) / 2
( 3*5 + 12 ) % 7
Expresiones: uso de variables
Una expresin puede ser el nombre de una variable.
En ese caso, el resultado de la expresin es el valor de la variable.

Ejemplo:
int valor1 = 5;
int valor2 = 1;
main()
{
valor2 = ( valor1 * 4 ) - valor2;
Emigdio Conde Ramrez.

Programacin
}

3.4 Funciones.
Las funciones son porciones de cdigo que devuelven un valor.
Permiten descomponer el programa en mdulos que se llaman entre ellos.
En C no existe diferencia entre funciones y procedimientos: a todas las subrutinas se
las llama funciones.
La definicin de una funcin especifica lo siguiente:

nombre de la funcin

nmero de argumentos que lleva y tipo de cada uno de ellos

tipo de datos que devuelve

Cuerpo de la funcin (el cdigo que ejecuta)

Sintaxis:
tipo nombre ( arg1, arg2, ... )
{
... cuerpo ...
}
Cada argumento se especifica como en una declaracin de variable.
El cuerpo de la funcin debera contener una sentencia donde se devuelve el resultado
de la funcin, que se hace de esta forma:
return expresin;
La funcin devolver el resultado de la expresin.

Ejemplo de funcin
Funcin que devuelve la suma de dos enteros.

int suma ( int a, int b )


{
return a+b;
}

Emigdio Conde Ramrez.

Programacin

Conclusin.
Programacin es saber que hacen las maquinas, como funcionan, me gustara saber
ms acerca de programacin, al inicio me pareci muy difcil, pero conforme fueron
pasando los das y fui investigando los temas, todo se fue haciendo ms fcil.
Aunque algo muy importante sobre esta materia, es que da a da se han
incrementado la cantidad de programas para realizar algoritmos cada vez ms
complejos. Por tal motivo hay que actualizarse, si no se hace esta tarea llegara el da
en que estaramos obsoletos.

Emigdio Conde Ramrez.

Programacin
Para saber la funcin de la informtica es bueno tener en cuenta muchos puntos y
saber cmo se realizan los programas y cuantos tipos de programas o especializarse
en programacin. Por muy sencillo que este sea.

Bibliografa.
biblioteca.co.cr
brpreiss.com
labsopa.dis.ulpgc.es
infor.uva.es.
Talavera Pleguezuelos, C: Calidad Total en la Administracin Pblica. Granada: Unin
Iberoamericana de Municipalistas, 1999. Pp. 289-290. ISBN: 84-88282-42-7.

Emigdio Conde Ramrez.

También podría gustarte