Vous êtes sur la page 1sur 25

Fundamentos de la programacin

Hola aprendices, mi nombre es psilon


y junto a nuestra amiga Iris los estaremos
acompaando durante el curso Metodologa de
la programacin de sistemas informticos.

Hola amigos, soy Iris la compaera de psilon,


voy a estarlos acompaando en este recorrido de
aprendizaje recopilando y entregndo los contenidos
sobre la programacin que esperamos les deje una
slido conocimiento. Para empezar este recorrido de
aprendizaje vamos a acercarnos a los Fundamentos
de la programacin, en los que haremos una breve
revisin de los elementos bsicos del computador, los
conceptos generales de programacin, su relacin con
los algoritmos y su forma de representarlos.

Esperamos que esta aventura de conocimiento sea


de gran utilidad. Bienvenidos!

Servicio Nacional de Aprendizaje - SENA

A modo de definicin, podemos decir que los


fundamentos de programacin son los mtodos, las
tcnicas, las herramientas y las estructuras elementales
que nos permiten representar la solucin de un
problema.

Bajo este panorama es importante identificar qu es un


computador, cules son sus componentes, cul es su
organizacin fsica, los dispositivos internos y externos.
De igual forma, reconocer qu es un algoritmo, qu
es un programa y cules son las caractersticas y las
tcnicas de representacin de estos.

Mapa de contenido
Fundamentos de programacin

Conceptos generales
de programacin

Organizacin
fsica del
computador

Algoritmos
y programa

Proceso de
programacin

Qu es computador?
Software y hardware

Servicio Nacional de Aprendizaje - SENA

Tcnica de
representacin
de algoritmos

En la actualidad, la computadora es una herramienta utilizada para representar


cualquier situacin de la realidad en forma de datos, los cuales son procesados para
generar informacin. Estos datos, y el procedimiento, que se utilizan para generar la
informacin, ingresan a la computadora en forma de un programa que se encuentra
constituido por una serie de instrucciones detalladas.
Podemos definir al algoritmo, como un procedimiento por medio del cual se resuelve
un problema. Dicho procedimiento es una secuencia ordenada de instrucciones que
se ejecuta en un tiempo y con un uso de recursos finito, esto quiere decir, que se
debe establecer un punto inicial y un punto de cierre, y en consecuencia, es una
serie nica y fcilmente identificable.
Vamos a ver la televisin pero el televisor no enciende, a continuacin elaboremos
un diagrama que nos permita decidir si se enva el aparato a servicio tcnico o no.

Servicio Nacional de Aprendizaje - SENA

Para llevar a cabo esta secuencia de instrucciones


en la computadora, utilizamos un programa, tambin
llamado software, que es un conjunto de cdigos o
instrucciones secuenciales que describen o definen
la realizacin de alguna accin en la computadora y
para escribir los programas se utilizan los lenguajes
de programacin.
Los programas de las computadoras actuales son secuencias de instrucciones que
se codifican como secuencias de dgitos numricos y para ser elaborados se lleva
a cabo una secuencia cronolgica que comienzan con la ubicacin y definicin del
problema y posteriormente establece el programa que lo soluciona.

Conceptos generales de programacin


El computador se ha convertido hoy en da en una
herramienta indispensable para realizar cualquier tipo
de trabajo, en el hogar, la industria, el estudio, etc.
Actualmente se destaca por su gran capacidad
de almacenamiento de datos y procesamiento de
informacin que hoy en da son necesarios para generar
resultados en muy poco tiempo. En el desarrollo de un
programa, el computador interpreta las instrucciones
que se le dan y las ejecuta gracias a la secuencia dada
por el programador, las cuales deben cumplir reglas
que estn escritas en el lenguaje de programacin, este
proceso es la manera de comunicarle a la mquina lo
qu debe hacer.

Servicio Nacional de Aprendizaje - SENA

El papel de los programadores es esencial en la solucin


del problema planteado, traduciendo el problema en
lenguaje de programacin entendible para la mquina
el cual se convierte en cdigo ejecutable o programa
final.
Pero esto no sera posible sin el computador, por esta
razn delimitemos qu es, cules son sus partes y
cul funcionalidad bsica. Los invitamos a explorar
los iconos de contenido.

Qu es un computador?
Un computador es un componente electrnico que sirve para procesar informacin
y dar los resultados esperados. Es una herramienta esencial en muchos campos de
aplicacin.
Los elementos bsicos que componen el computador para su funcionamiento son:
la unidad central de procesamiento (CPU), la unidad de memoria o memoria central,
la unidad lgica y aritmtica (ALU) y las unidades de entrada y salida.
COMPUTADORA

SOFTWARE

Datos de entrada

Datos de salida

Figura 1. Elementos que componen el computador


Fuente: Prieto y Torres (2005)

Servicio Nacional de Aprendizaje - SENA

Hardware y software
Todos los componentes fsicos o tangibles que conforman el computador al igual que
los dispositivos de entrada y salida se conocen como hardware.
El conjunto de programas o instrucciones que permiten el correcto funcionamiento del
computador se le denomina software. El software es la parte lgica que conforma el
computador para la realizacin de tareas especficas, entre ellos tenemos el sistema
operativo que permite funcionar correctamente al resto de programas.

Organizacin fsica del computador


Aprendices, por lo general la mayora de computadores
grandes o pequeos, constan fundamentalmente de
tres componentes principales entre ellos tenemos: la
Unidad Central de Proceso (CPU) o procesador, la
memoria principal y el programa.
Con ayuda de Iris ampliemos un poco ms.
La unidad central de proceso (CPU) es el cerebro del computador, su funcin
es controlar el perfecto funcionamiento de todos los componentes y ejecutar las
instrucciones aritmticas y lgicas. La memoria es utilizada para que los programas
del computador puedan iniciar o se ejecuten y queden a disposicin del usuario.
Veamos una representacin grfica en la figura 2.

Servicio Nacional de Aprendizaje - SENA

Procesador (CPU)

Memoria principal

UAL

Unidad de
control, UC

Entrada de datos

Programa

Salida de datos

Figura 2. Organizacin fsica del computador


Fuente: Prieto y Torres (2005)

La memoria principal conocida como memoria de acceso


aleatorio RAM (Random Access Memory) permite la ejecucin
de las aplicaciones del computador y guarda temporalmente las
instrucciones solicitadas por el usuario. Una de sus caractersticas
es que no permite almacenar datos de forma permanentemente, si
el computador se apaga se pierde de esta memoria la informacin
que no se haya guardado.
Otro tipo de memoria que utiliza el computador es la denominada
memoria ROM (Read Only Memory), esta memoria es de solo lectura
y es utilizada por el sistema para iniciar la BIOS, el programa donde
se guarda toda la configuracin de los componentes internos como
discos duros, memorias, unidades de CD, DVD, puertos USB, etc.
lo que permite dar inicio al equipo de cmputo una vez todas sus
unidades estn funcionando correctamente.

Servicio Nacional de Aprendizaje - SENA

La memoria cach es un tipo especial de memoria reservada que


utiliza la memoria principal, la cual, guarda informacin a altas
velocidades y puede ser leda posteriormente por los programas
que se hayan utilizado y acceder nuevamente cuando se requiera.

Las unidades de entrada se utilizan para ingresar datos en el


computador para su procesamiento. Para hacerlo se utilizan diversos
dispositivos como teclados, mouse, lectores de cdigo de barras,
memorias USB, etc.

La unidad de salida permite presentar los resultados despus de


realizar el procesamiento de los datos al exterior a travs de diversos
dispositivos de salida como la pantalla, la impresora, la memoria
USB, el DVD, etc.
Si a la figura 2 se aaden los
dispositivos de entrada y salida
descritos anteriormente, tenemos
la estructura tpica de un sistema
de computacin con su unidad de
procesamiento.

UCP Procesador

Unidad de control

Dispositivos
de entrada

Dispositivos
de salida
Memoria central

Dispositivos
de entrada /
salida

Memoria externa
(almacenamiento
permanente)
Unidad aritmtica
y lgica

Figura 3. Estructura tpica de un sistema de computacin


Fuente: Prieto y Torres (2005)

Servicio Nacional de Aprendizaje - SENA

Algoritmos y programa
Un algoritmo es un conjunto de instrucciones ordenadas,
definidas y finitas con el cual se realiza una tarea en
la solucin de un problema determinado.
Entre los pasos para la realizacin de un algoritmo
siempre debe existir un punto de inicio y un punto
de terminacin o fin, deben ser nicos y de fcil
identificacin.

Las personas que realizan diariamente tareas asociadas


con acciones que buscan alcanzar un resultado o la
solucin de un problema, ejecutan tareas siguiendo
unos pasos de manera ordenada y adecuada, que
comparados con un algoritmo, son exactamente lo
mismo.
Un ejemplo prctico de la vida diaria es abrir y cerrar
una puerta. Como es lgico, lo hemos hecho infinidad
de veces y no ponemos atencin a los pasos que
debemos seguir para poder realizar esta actividad sin
contratiempos. A continuacin, haremos un algoritmo
con todos los pasos que se siguen para terminar con
un objetivo, en este caso, hacer un plato internacional
mexicano.
Hagan clic en los conos de contenido para que les
ample la informacin.

Servicio Nacional de Aprendizaje - SENA

Ejemplo
A continuacin, encontramos un ejemplo que
fue tomado prestado en su totalidad del texto
Fundamentos de programacin de Cair (2006).
Nuestra tarea es construir un algoritmo para
preparar Chiles morita rellenos con salsa de
nuez. Primero veamos los ingredientes y luego el
algoritmo que nos ayudar a preparar este delicioso
plato.
Ingredientes:

Salsa:

150 g de chiles morita (unos 20)


2 cucharadas de aceite
12 dientes de ajo
1 cebolla cortada en aros finos
2 tazas de vinagre de vino tinto
Sal
10 granos de pimienta negra
11/2 cucharadas de organo seco
185 g de piloncillo rallado

2 huevos, separadas las claras de


las yemas
3/4 taza (90 g) de harina
Aceite para frer
3/4 taza (90 g) de nueces
1 taza de crema de leche espesa,
no azucarada

Relleno:
1 cucharada de aceite
1/2 cebolla finamente picada
2 dientes de ajo finamente picados
1/2 taza (125 g) de tomate finamente picado
1/4 taza (30 g) de almendras peladas y picadas
1/4 taza (30 g) de uvas pasas sin semillas
1 pechuga entera de pollo cocida y finamente desmenuzada
1 cucharadita de sal
1/2 cucharada de pimienta recin molida

Servicio Nacional de Aprendizaje - SENA

Algoritmo (preparacin):
Lave los chiles y squelos bien. Caliente el aceite
en una sartn grande y saltee los chiles, los ajos
y la cebolla.
Aada el vinagre, la sal, los granos de pimienta, el
organo y el piloncillo, y contine salteando durante
10 minutos. Retire del fuego, deje que se enfre la
mezcla y pongala en una cazuela, preferentemente
de barro, tapada. Refrigere 24 horas.
Para preparar el relleno, caliente el aceite en una sartn y saltee la cebolla durante
cinco minutos o hasta que est transparente. Agregue los ajos, el tomate, las pasas,
las almendras y dos cucharadas de vinagre en el que se cocieron los chiles. Mezcle
bien y aada el pollo, la sal y la pimienta. Cueza a fuego lento durante ocho minutos,
sin dejar de mover. Reserve. Muela el ajo, la pimienta y un poco de sal y nteselos
a las pechugas.
Con unos guantes (para evitar que se irrite la piel) corte cada chile a lo largo. Quteles
las semillas y desvnelos. Ponga el relleno a cada chile con una cucharita. No ponga
mucho para evitar que se desparrame al frer los chiles.
Bata las claras al punto de turrn (de nieve). Agregue una a una las yemas sin agitar
demasiado (para evitar que las claras pierdan volumen).
En una sartn grande, caliente entre 2 y 3 cm de aceite y djelo al fuego hasta que
est muy caliente. Ponga la harina en un plato y revuelque en ella cada chile hasta
que est cubierto; sumrjalo en el huevo batido e inmediatamente pongalo en el
aceite. Fra cada chile hasta que se dore por un lado y luego dele vuelta para que
se dore el otro lado.
En un procesador de alimentos o similar, haga un pur con las nueces y la crema
con una pizca de sal. Sirva los chiles con un poco de la crema de nuez encima de
ellos (el resto se presenta en una salsera). (Cair, 2006)

Servicio Nacional de Aprendizaje - SENA

En la siguiente figura se pueden observar claramente las etapas a seguir para


solucionar el problema planteado.

PROBLEMA

Anlisis del
problema

Construccin
del algoritmo

Verificacin
del algoritmo

Etapa 1

Etapa 2

Etapa 3

Figura 4. Etapas para la solucin de un problema


Fuente: Cair (2006)

Caractersticas del algoritmo


Existen unas caractersticas que debe cumplir el algoritmo, este debe ser:
Preciso: los pasos a realizar en el algoritmo deben ser claros
Determinado: debe arrojar los resultados esperados
Finito: independientemente de lo complejo que sea, el algoritmo debe tener longitud
finita
Por definicin, un algoritmo debe cumplir con tres partes fundamentales: entrada,
proceso y salida. En el algoritmo de la receta de cocina del ejemplo 1, citado
anteriormente, se tiene lo siguiente:
Entrada: ingredientes y utensilios empleados
Proceso: preparacin de la receta
Salida: plato terminado

Servicio Nacional de Aprendizaje - SENA

Algoritmos cualitativos y algoritmos cuantitativos


Un algoritmo se dice que es cualitativo cuando sus instrucciones dadas son descritas
por medio de palabras y no incluye clculos numricos, por ejemplo cambiar una llanta
de un automvil o hacer una llamada telfnica, como en nuestro siguiente ejemplo.
Ejemplo 2
Una persona desea realizar una llamada telefnica a travs de su telfono celular.
El algoritmo sera el siguiente:
1. Inicio
2. Marca el nmero de telefnico
3. Presiona el botn para llamar
4. Hablar
5. Terminar la llamada
6. Fin
Mientras que los algoritmos cuantitativos son una serie de pasos o instrucciones
ordenadas y lgicos que involucran clculos matemticos para llevar a cabo una
solucin.
Ejemplo 3
Realizar un algoritmo para encontrar el rea de un tringulo:
1. Inicio
2. Definir variables rea, base, altura : real
3. Solicitar base y altura
4. Calcular rea = base * altura /2
5. Imprimir rea
6. Fin

Servicio Nacional de Aprendizaje - SENA

Programa
Un programa o software de
computadora es un conjunto de
instrucciones encaminadas a la
realizacin de una tarea o actividad
especfica.
El programa puede clasificarse
segn las funciones que este
realiza: un ejemplo de ello es un
software de sistema que sirve
para que el computador funcione
correctamente; otro, un software
de aplicacin para que el usuario
realice tareas cotidianas, por
ejemplo, un procesador de texto
como Word, un programa para
elaborar hojas electrnicas como
Excel, o un software para llevar
a cabo presentaciones como
PowerPoint, etc.
Por ltimo y de gran importancia,
destaquemos que hoy en da los
programas se codifican usando
lenguajes de programacin.

Entrada de datos

PROCESO

Salida de datos
Figura 5. Partes de un programa
Fuente: Cair (2006)

En la figura 5 se observan las partes


fundamentales de un programa.

Servicio Nacional de Aprendizaje - SENA

Proceso de programacin
Que interesante todo lo que nos has contado hasta
este momento Iris. As que los programas se hacen con
un lenguaje de programacin, por qu no nos cuentas
cmo es este interesante proceso.

Elaborar un programa para computador implica varias etapas, en cada una de ellas se
realiza una seria de pasos ordenados con el fin de dar solucin al problema propuesto.
Para llevar a feliz trmino la solucin se debe tener en cuenta los siguientes puntos:

Definicin y anlisis
del problema

Mantenimiento del
programa

Implantacin del
programa

Diseo de
algoritmo

Codificacin del
programa

Servicio Nacional de Aprendizaje - SENA

Definicin y anlisis del problema


Este proceso inicia cuando se presenta la necesidad de resolver un problema
especfico, es la parte ms crtica por ello debemos entender el problema que se
quiere solucionar.
Diseo de algoritmo
En esta etapa se procede a disear la parte lgica para la solucin del problema, a
travs de tcnicas existentes de representacin de algoritmos, entre las ms conocidas
tenemos el diagrama de flujo y el pseudocdigo.
Codificacin del programa
En esta etapa se realiza el cdigo fuente utilizando un lenguaje de programacin.
El cdigo fuente debe ser compilado para que pueda se entendible por la mquina.
Implantacin del programa
Finalmente despus de haber realizado las anteriores etapas, el programa se instala
para poner en funcionamiento la solucin planteada en la primera etapa.
Mantenimiento del programa
En el caso de detectar fallas o algn cambio en el desarrollo de la solucin al problema,
se realizan ajustes necesarios para producir los resultados esperados.

Servicio Nacional de Aprendizaje - SENA

Tcnicas de representacin de algoritmos


psilon y aprendices, es importante tener en cuenta que
existen varias tcnicas para representar un algoritmo,
para hacerlo se utilizan formas, mtodos escritos,
grficos, etc.
Los mtodos ms usados son:
Diagramas de flujo
Pseudocdigo
Veamos en qu consisten estos mtodos:

Diagrama de flujo
Un diagrama de flujo es una representacin grfica y lgica de un problema, para
el diseo se utilizan smbolos simples y aprobados universalmente, de tal manera
que cualquier persona puede interpretarlos por su sencillez; los diagramas de flujo
se conectan con flechas denominadas lneas de flujo que indican la secuencia de
operacin.
Es importante destacar que el diagrama de flujo es una herramienta til en la etapa
de anlisis y diseo de software de mediana complejidad.
Los siguientes son los smbolos bsicos para la creacin de diagramas de flujo para
representar la solucin a crear. A continuacin se muestran algunos de los smbolos
ms utilizados:

Servicio Nacional de Aprendizaje - SENA

Indica el inicio o el final


del diagrama de flujo

Smbolo de decisin,
indica la realizacin de
una comparacin de
valores

Lneas de flujo que


indican la secuencia en
la que se realizan las
operaciones

Smbolo de proceso,
indica la asignacin
de un valor a memoria
o la ejecucin de un
proceso

Indica la entrada y
salida de datos

Representa la
continuidad del
diagrama en otra
pgina

Indica repeticin

Indica el envo de datos


a la impresora

Representa la
continuidad del
diagrama dentro de la
misma pgina

Antes de continuar tengamos en cuenta algunas recomendaciones para elaborar un


diagramas de flujo:
- Use solamente lneas horizontales y verticales
- Use conectores solo cuando sea necesario
- No deje lneas sin conectar
- Evite cruce de lneas
- Redacte el texto escrito que va dentro de los smbolos de manera clara y concisa

Servicio Nacional de Aprendizaje - SENA

Para mayor claridad, observemos


cmo se representa un problema
en un diagrama de flujo:
Se requiere obtener el salario
neto de un trabajador, para ello,
se debe capturar el nombre, las
horas trabajadas y el valor de la
hora. Adicional, se debe realizar un
descuento correspondiente al 10%
por impuestos.
Tengamos en cuenta que para
elaborar el diagrama con los
smbolos respectivos y obtener
su correcta elaboracin, existen
algunos programas, ya sean
libres o de propiedad, que se
pueden adquirir para realizar estos
diagramas. Algunos de ellos son:
SmartDraw, DFD, Microsoft Office
Visio Professional 2010, GPL,
Pseint, entre otros.

Inicio

Leer nombre, horas


precio

Calcular jornal bruto =


horas * precio

Calcular neto bruto =


bruto - 0.10 * bruto

Escribir nombre,
horas, bruto, neto

Fin
Figura 6. Diagrama de flujo del ejemplo 4
Fuente: SENA

Pseudocdigo
El pseudocdigo es una tcnica para diseo de programas (algoritmos) que permite
definir las estructuras de datos, las operaciones que se aplican a los datos y la lgica
que tendr el programa de computadora para solucionar un determinado problema.
Se utiliza un lenguaje muy parecido a nuestro idioma, pero que respeta las directrices
y los elementos de los lenguajes de programacin. Veamos un ejemplo.

Servicio Nacional de Aprendizaje - SENA

Ejemplo 5
Escribir el requerimiento planteado en el ejemplo 4, salario neto, utilizando pseudocdigo.
1. Inicio
2. Lea nombre, horas, valor_hora
3. Neto = salario-(salario*10%)
4. Imprima nombre, salario, neto
5. Final

Hemos llegado al final de este primer recorrido de


aprendizaje. Esperamos que los contenidos sean de
gran utilidad. Hasta pronto!

Servicio Nacional de Aprendizaje - SENA

Glosario
CD-ROM (Compact Disk - Read Only Memory): disco compacto
de slo lectura. Tiene una capacidad de almacenamiento de hasta
650 megabytes.
Controlador: programa que comanda los perifricos conectados
a la computadora.
CPU (Central Processing Unit): en espaol unidad central de
procesamiento, es el procesador que contiene los circuitos lgicos
que realizan las instrucciones de la computadora.
DVD (Digital Versatile Disc): en espaol Disco Verstil Digital, en
sus inicios sus siglas se tomaron como Disco de Video Digital.
Disco que posee gran capacidad de almacenamiento y sirve para
almacenar cualquier tipo de informacin incluidos datos, video o
msica.
Gigabyte (GB): unidad de medida de una memoria. 1 gigabyte =
1024 megabytes = 1.073.741.824 bytes.
Hardware: todos los componentes fsicos de la computadora y
sus perifricos.
Lenguaje de programacin: sistema de escritura para la descripcin
precisa de algoritmos o programas informticos.

Servicio Nacional de Aprendizaje - SENA

Glosario
Memoria cach: pequea cantidad de memoria de alta velocidad
que incrementa el rendimiento de la computadora almacenando
datos temporalmente.
Microprocesador (microprocessor): es el chip ms importante de
una computadora. Su velocidad se mide en MHz (Megahertz).
Monitor: unidad de visualizacin, comnmente conocida como
pantalla.
Perifrico: todo dispositivo que se conecta a la computadora. Por
ejemplo: teclado, monitor, mouse, impresora, escner,, etc.
Procesador (processor): conjunto de circuitos lgicos que procesa
las instrucciones bsicas de una computadora.
RAM (Random Acces Memory): en espaol memoria de acceso
aleatorio. Memoria donde la computadora almacena datos que le
permiten al procesador acceder rpidamente al sistema operativo,
las aplicaciones y los datos en uso. Tiene estrecha relacin con la
velocidad de la computadora. Se mide en megabytes.

Servicio Nacional de Aprendizaje - SENA

Glosario
ROM (Read Only Memory): en espaol memoria de slo lectura.
Memoria incorporada que contiene datos que no pueden ser
modificados. Permite a la computadora arrancar. A diferencia de
la RAM, los datos de la memoria ROM no se pierden al apagar
el equipo.
Sistema Operativo (OS): programa que administra los dems
programas en una computadora.
Software: trmino general que designa los diversos tipos de
programas usados en computacin.
USB (Universal Serial Bus): es una interfase de tipo plug & play
entre una computadora y ciertos dispositivos, por ejemplo, teclados,
telfonos, escneres e impresoras.

Servicio Nacional de Aprendizaje - SENA

Fuentes
Cair, O. (2006). Fundamentos de programacin. Piensa en C.
Mxico: Pearson Educacin.
Prieto, A. & Prieto, B. (2005). Conceptos de Informtica. Coleccin
Schaum. Madrid: McGraw-Hill.
Prieto, A. & Torres, J. (2005). Introduccin a la informtica, 3 ed.,
Madrid: McGraw-Hill.

Servicio Nacional de Aprendizaje - SENA

Crditos

Lder lnea de produccin


Alba Luca Ramrez

Experta Temtica

Laudyt Mara Lambrao Prez

Asesora pedaggica
Ada Marcela Snchez
Sandra Maritza Prez R.

Guionista

Carlos Andrs Huertas


Sandra Maritza Prez R.

Diseo grfico

Sandra Liliana Giral


Edmundo Watts
Jose Mario Alzate

Programacin
Urlieson Len
Gabriel Len

Servicio Nacional de Aprendizaje - SENA

Vous aimerez peut-être aussi