Sunteți pe pagina 1din 210

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

COMPUTACIN E
INFORMTICA

MANUAL DE APRENDIZAJE

FUNDAMENTOS DE
PROGRAMACIN

CDIGO: 89001536

Profesional Tcnico
FUNDAMENTOS DE PROGRAMACIN

TABLA DE CONTENIDO:
TAREA 01: APLICAR LOS PRINCIPIOS FUNDAMENTALES DE LA PROGRAMACIN. .................................. 7
ESTABLECER LOS FUNDAMENTOS DE PROGRAMACIN. ......................................................................................... 8
ANALIZAR LAS COMPUTADORAS Y SU PROGRAMACIN. ...................................................................................... 14
APLICAR LA METODOLOGA DE PROGRAMACIN. ............................................................................................... 24
CMO PROGRAMAR CORRECTAMENTE ............................................................................................................ 27
NOTAS IMPORTANTES SOBRE LAS VARIABLES: ................................................................................................... 29
CLASIFICAR LOS LENGUAJES DE PROGRAMACIN Y PROGRAMAS TRADUCTORES. ....................................................... 30
FUNDAMENTO TERICO ........................................................................................................................ 33
ESTABLECER LOS FUNDAMENTOS DE PROGRAMACIN. ....................................................................................... 33
ANALIZAR LAS COMPUTADORAS Y SU PROGRAMACIN. ...................................................................................... 39
APLICAR LA METODOLOGA DE PROGRAMACIN. ............................................................................................... 45
CLASIFICAR LOS LENGUAJES DE PROGRAMACIN Y PROGRAMAS TRADUCTORES. ....................................................... 49
TAREA 02: ANALIZAR LA ESTRUCTURA GENERAL DE UN PROGRAMA. ................................................. 55
OPERACIONES ........................................................................................... ERROR! MARCADOR NO DEFINIDO.
DEFINIR EL CONCEPTO Y PARTES DE UN PROGRAMA. .......................................................................................... 56
ELABORAR LA DOCUMENTACIN DE UN PROGRAMA. .......................................................................................... 57
FUNDAMENTO TERICO ........................................................................................................................ 58
DEFINIR EL CONCEPTO Y PARTES DE UN PROGRAMA. .......................................................................................... 58
DEFINICIN DE PROGRAMA .......................................................................................................................... 58
PARTES DE UN PROGRAMA.................................................................................................................... 62
ELABORAR LA DOCUMENTACIN DE UN PROGRAMA. .......................................................................................... 63
TAREA 03: APLICAR LA LGICA DE PROGRAMACIN. .......................................................................... 67
DEFINIR EL CONCEPTO DE UN ALGORITMO........................................................................................................ 68
CLASIFICACIN DE ALGORITMOS: .......................................................................................................... 68
SMBOLOS O FIGURAS DEL DIAGRAMA DE FLUJO Y SU SIGNIFICADO .................................................... 69
CONSTRUIR ALGORITMOS PARA RESOLVER CASOS PRCTICOS. .............................................................................. 71
ELABORAR DIAGRAMAS DE FLUJO. .................................................................................................................. 74
CONSTRUIR PSEUDOCODIGOS. ...................................................................................................................... 77
FUNDAMENTO TERICO ........................................................................................................................ 80
DEFINIR EL CONCEPTO DE UN ALGORITMO........................................................................................................ 80
CONSTRUIR ALGORITMOS PARA RESOLVER CASOS PRCTICOS. .............................................................................. 81
ELABORAR DIAGRAMAS DE FLUJO. .................................................................................................................. 85
CONSTRUIR PSEUDOCODIGOS. ...................................................................................................................... 88
TAREA 04: DEFINIR LOS TIPOS DE ESTRUCTURAS QUE EXISTEN EN UN PROGRAMA. ........................... 91
OPERACIONES ........................................................................................................................................ 91
CONSTRUIR ESTRUCTURAS CONDICIONALES SIMPLES. ......................................................................................... 92
ELABORAR ESTRUCTURAS DE REPETICIN. ........................................................................................................ 93
ANALIZAR Y DESARROLLAR ESTRUCTURAS ANIDADAS COMPLEJAS. ......................................................................... 96
DESARROLLAR CASOS PRCTICOS DE PROGRAMACIN. ....................................................................................... 98
FUNDAMENTO TERICO ...................................................................................................................... 100
CONSTRUIR ESTRUCTURAS CONDICIONALES SIMPLES. ....................................................................................... 100
ELABORAR ESTRUCTURAS DE REPETICIN. ...................................................................................................... 103
ANALIZAR Y DESARROLLAR ESTRUCTURAS ANIDADAS COMPLEJAS. ....................................................................... 107
DESARROLLAR CASOS PRCTICOS DE PROGRAMACIN. ..................................................................................... 110
.......................................................................................................................................................... 117
TAREA 05: DEFINIR LOS TIPOS DE DATOS DE UN PROGRAMA. ........................................................... 117
TRABAJAR CON CONSTANTES Y VARIABLES. .................................................................................................... 118
DEFINIR LAS PALABRAS RESERVADAS DE UN LENGUAJE. ..................................................................................... 120
DEFINIR LAS FUNCIONES INTERNAS DE UN PROGRAMA. ..................................................................................... 122
TRABAJAR LOS TIPOS DE OPERADORES Y EXPRESIONES DE UN PROGRAMA. ............................................................ 126

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 5


FUNDAMENTOS DE PROGRAMACIN

FUNDAMENTO TERICO ...................................................................................................................... 128


TRABAJAR CON CONSTANTES Y VARIABLES. .................................................................................................... 128
DEFINIR LAS PALABRAS RESERVADAS DE UN LENGUAJE. ..................................................................................... 134
DEFINIR LAS FUNCIONES INTERNAS DE UN PROGRAMA. ..................................................................................... 137
TRABAJAR LOS TIPOS DE OPERADORES Y EXPRESIONES DE UN PROGRAMA. ............................................................ 141
TAREA 06: UTILIZAR HERRAMIENTAS PARA EL DISEO Y ANLISIS DE ALGORITMOS. ....................... 149
OPERACIONES ...................................................................................................................................... 150
ELABORAR LOS ALGORITMOS CON EL PROGRAMA DE DISEO.............................................................................. 150
ANALIZAR EL PROCESO DE CONSTRUCCIN DE UN ALGORITMO. .......................................................................... 151
DESARROLLAR CASOS PRCTICOS CON EL PROGRAMA DE DISEO. ....................................................................... 155
FUNDAMENTO TERICO ...................................................................................................................... 157
ELABORAR LOS ALGORITMOS CON EL PROGRAMA DE DISEO.............................................................................. 157
ANALIZAR EL PROCESO DE CONSTRUCCIN DE UN ALGORITMO. .......................................................................... 169
DESARROLLAR CASOS PRCTICOS CON EL PROGRAMA DE DISEO. ....................................................................... 173
TAREA 07: ANALIZAR EL CONCEPTO DE FUNCIONES, PARMETROS Y PROCEDIMIENTOS. ................. 177
APRENDER A UTILIZAR PARMETROS EN UNA FUNCIN. .................................................................................... 178
ANALIZAR LAS NORMAS GENERALES DE USO DE PARMETROS. ........................................................................... 182
FUNDAMENTO TERICO ...................................................................................................................... 195
APRENDER A UTILIZAR PARMETROS EN UNA FUNCIN. .................................................................................... 195
ANALIZAR LAS NORMAS GENERALES DE USO DE PARMETROS. ........................................................................... 197
PARA DEFINIR UN PARMETRO DE PROCEDIMIENTO. ........................................................................................ 199
CONSTRUIR UN PROCEDIMIENTO UTILIZANDO VARIABLES LOCALES Y GLOBALES. ..................................................... 200
DEFINIR LAS VENTAJAS DE UTILIZAR PROCEDIMIENTOS Y FUNCIONES. ................................................................... 206
UTILIZAR LA RECURSIVIDAD EN EL USO DE PROCEDIMIENTOS Y FUNCIONES. ........................................................... 207

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 6


FUNDAMENTOS DE PROGRAMACIN

01
TAREA 01: APLICAR LOS PRINCIPIOS FUNDAMENTALES DE
LA PROGRAMACIN.
En esta tarea trataremos las siguientes operaciones:

Establecer los fundamentos de programacin.


Analizar las computadoras y su programacin.
Aplicar la metodologa de programacin.
Clasificar los lenguajes de programacin y programas traductores.

" Culminar tus estudios es como correr en una prueba de


resistencia en la cual todos los vencedores son los que logran
llegar a la meta, as que sigue adelante que cada paso te acerca
ms al final.. ANONIMO.

EQUIPOS Y MATERIALES:

Computadora con microprocesadores core 2 Duo de mayor capacidad.


Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:

Establecer los fundamentos de programacin.


Analizar las computadoras y su programacin.
Aplicar la metodologa de programacin.
Clasificar los lenguajes de programacin y programas traductores.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 7


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
ESTABLECER LOS FUNDAMENTOS DE PROGRAMACIN.

Un programa es un conjunto de rdenes para un ordenador.

Estas rdenes se le deben dar en un cierto lenguaje, que el ordenador sea


capaz de comprender.

El problema es que los lenguajes que realmente entienden los ordenadores


resultan difciles para nosotros, porque son muy distintos de los que nosotros
empleamos habitualmente para hablar. Escribir programas en el lenguaje que
utiliza internamente el ordenador (llamado lenguaje mquina o cdigo
mquina) es un trabajo duro, tanto a la hora de crear el programa como
(especialmente) en el momento de corregir algn fallo o mejorar lo que se hizo.

Por eso, en la prctica se emplean lenguajes ms parecidos al lenguaje


humano, llamados lenguajes de alto nivel. Normalmente, estos son muy
parecidos al idioma ingls, aunque siguen unas reglas mucho ms estrictas.

NOTA:

Cuando buscas una aplicacin que lleve a cabo una funcin determinada y no
consigues encontrarla, te enfrentas a un triste hecho: hay programas que
todava no existen. Tal cual.

Puedes sentarte, llorar y esperar a que alguien programe esa aplicacin... o


puedes hacerla t mismo. Cmo? Pues aprendiendo un lenguaje de
programacin y creando desde cero el programa deseado.

APRENDER A PROGRAMAR

Tu ordenador es una mquina que acepta y ejecuta rdenes. Estas rdenes


pueden ser tan simples como escribir una letra en la pantalla o calcular una
suma, y pueden tener varias formas, dependiendo del lenguaje empleado. A un
ordenador no puedes decirle lo siguiente:

Ordenador, quiero que me bajes esa caja de la estantera, la roja a la derecha.

No lo entender. En cambio, si escribes algo as, puede que te preste atencin:

010101010111010101001010111010101010111010011010100101010110011

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 8


FUNDAMENTOS DE PROGRAMACIN

Ceros y unos, cdigo mquina, el nico idioma que sabe hablar un PC. Para
nosotros no es prctico hablar as, con lo que recurrimos a lenguajes
artificiales, que no son ms que versiones simplificadas de nuestros idiomas.
La frase inicial se parecera entonces a algo as:

caja.Bajar(EstanteriaRoja3) = Verdad;

Es un poco complicado?, s. Pero es mucho mejor que escribir ceros y unos,


no te parece? Esos puntos, espacios, puntos y coma y parntesis sirven para
delimitar exactamente lo que se quiere decir a la mquina, al igual que ocurre
al escribir frmulas matemticas. Un ejemplo con coloreado de sintaxis:

Organizadas en prrafos especiales, todas las lneas de rdenes conforman lo


que se conoce como "cdigo fuente", las entraas de un programa. Para
convertirlo en un programa ejecutable, el cdigo se "compila", esto es, se
traduce a cdigo mquina. Si no hay fallos (bugs), el programa se abrir
normalmente.

Como los idiomas naturales, tambin los lenguajes de programacin tienen su


lxico, sintaxis y normas de puntuacin, que varan en funcin de la
complejidad del lenguaje. Algunos son ms fciles de leer que otros, y
entonces se les llama "de alto nivel", pues se aproximan al habla humana; los
de bajo nivel son ms "robticos".

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 9


FUNDAMENTOS DE PROGRAMACIN

Las mquinas solo hablan con


ceros y unos, un lenguaje
incomprensible para un humano

Para imprimir una palabra en un lenguaje de alto nivel como BASIC, basta con
escribir PRINT "Hola" (print, en ingls, quiere decir "imprimir"; la mayora de
lenguajes usan palabras en ingls). En un lenguaje de nivel bajo, como el
Ensamblador, la cosa cambia (no te asustes por lo que vas a ver, no son
palabrotas):

SWI "OS_WriteS" EQUS "Hola" EQUB 0 ALIGN MOV PC,R14

Te estars preguntando quin puede preferir Ensamblador frente a otros


lenguajes. Es una cuestin de rendimiento: el cdigo de bajo nivel se ejecuta
ms rpido y aprovecha ms la potencia de la mquina a la cual est ligado,
mientras que un lenguaje de alto nivel es ms universal; Java, por ejemplo, se
ejecuta en cualquier sistema.

Hay cientos de lenguajes de programacin, y, al igual que ocurre con los


idiomas humanos, muchos tienen pocos "hablantes". Los hay que jams han
salido de las universidades y empresas donde los crearon, mientras que los
ms populares, por el contrario, se ensean por doquier y cuentan con amplias
comunidades de usuarios.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 10


FUNDAMENTOS DE PROGRAMACIN

Para crear aplicaciones de escritorio, los lenguajes ms populares son C/C++,


Java, Python, Visual Basic y Delphi. Su estilo es parecido, con lo que pasar de
uno a otro requiere menos esfuerzo que hacerlo, por ejemplo, de Basic a
Ensamblador. Sobre ellos hay una infinidad de libros, cursos y foros tcnicos.

CMO EMPEZAR.

Aprender a programar es un objetivo que se


plantea mucha gente y que no todos alcanzan.
Hay que tener claro que aprender programacin
no es tarea de un da ni de una semana: aprender
programacin requiere al menos varios meses y,
si hablamos de programacin a nivel profesional,
varios aos. No queremos con esto desanimar a
nadie: en un plazo de unos pocos das podemos estar haciendo nuestros
primeros programas y ver los primeros resultados, pero aprender a programar
es mucho ms que eso. Vamos a tratar de exponer nuestra visin sobre una
forma adecuada de enfrentarnos al aprendizaje de la programacin.
En primer lugar diremos que aprender a programar es una expresin bastante
indefinida. Existen cientos de lenguajes de programacin y de variantes,
versiones, modificaciones, etc. as como distintos enfoques en cuanto a los
objetivos (programacin web, aplicaciones de gestin, aplicaciones de bases
de datos, etc.). Por tanto aprender a programar es bastante ambigo: es
como decir quiero aprender a pintar. Nos permitira centrarnos mejor definir
un objetivo ms especfico: Quiero aprender a dibujar comics estilo manga.

El problema para los no iniciados es muchas veces que la programacin es un


campo muy cambiante, donde hay una continua proliferacin de versiones y
pugnas entre casas comerciales que hacen que los lenguajes cambien muy
rpidamente y nadie sepa muy bien qu es lo ms conveniente aprender.

Frente a esta situacin, y para todos aquellos que quieren empezar a


programar, sabiendo o no hacia qu lenguaje se van a orientar, nuestra
propuesta es que usen aprenderaprogramar.com como sitio de referencia a
travs del cual poder dar los primeros pasos en programacin. Una vez
adquiridos los fundamentos y sentadas las bases, ser ms fcil buscar
informacin y elegir entre las distintas plataformas y lenguajes existentes.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 11


FUNDAMENTOS DE PROGRAMACIN

Vamos a reflexionar sobre lo que consideramos son opciones adecuadas y


opciones no adecuadas para las personas que quieren aprender a programar
sin tener conocimientos previos, o con unos conocimientos previos muy
limitados.

a) Aprender con un libro con apuntes de


forma autodidacta: no es una mala opcin para
personas que quieran aprender por libre,
siempre que se encuentre un buen libro y se
tenga voluntad, base lgico-matemtica y
determinacin para estudiar por cuenta propia
durante un periodo de tiempo prolongado. En
cualquier caso el libro debe tratar sobre
fundamentos de la programacin, con aplicacin (para ver el lado prctico) a
algn lenguaje. Si ests interesado en esta va, te recomendamos visitar la
seccin Libros de aprenderaprogramar.com y ver los libros disponibles sobre
fundamentos de programacin.

b) Realizar un curso sobre fundamentos de programacin: consideramos


que no es una mala opcin para personas que quieran estudiar de forma
guiada. Existe una amplia oferta de cursos impartidos de forma presencial (por
universidades, academias, centros de formacin especializada, etc.), semi-
presencial u on-line (a travs de internet). Es importante realizar una buena
seleccin del curso: que cuente con unos buenos contenidos y materiales
didcticoS. Un curso cualquiera descargado por internet no nos garantiza ni
unos buenos contenidos ni una buena didctica, al contrario, puede suponer
una prdida de tiempo. La modalidad de curso ms adecuada depende de
cada uno de nosotros, y en especial el tiempo que tengamos disponible. Si
disponemos de tiempo, la opcin presencial puede ser la ms adecuada, ya
que nos permitir estar en contacto con otros alumnos y poder resolver
problemas en comn, realizar consultas
directas a los profesores, etc. Si nuestro tiempo
es limitado, un curso semi-presencial u on-line
puede ser lo ms conveniente. Si ests
interesado en esta va, te recomendamos
visitar la seccin Cursos de
aprenderaprogramar.com.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 12


FUNDAMENTOS DE PROGRAMACIN

c) Realizar estudios oficiales en el rea de informtica programacin:


es quizs la mejor va para aquellas personas que
quieren dedicarse profesionalmente a la
informtica. Esto requiere normalmente una
dedicacin de varios aos a tiempo completo, por lo
que es una opcin que descartan muchas personas
que quieren aproximarse de una forma ms libre a
la programacin o que ya tienen otros trabajos.

d) Empezar a programar directamente con un lenguaje o entorno (Java,


Visual Basic, C, .NET, J2EE, SQL, etc.) recurriendo a libros, cursos, pginas
web especializadas, ayuda de los lenguajes, etc.: consideramos que es una
mala opcin. Antes de empezar a programar en un lenguaje debemos tener
fundamentos de programacin que nos servirn para todos los lenguajes, al
igual que para construir una casa debemos tener antes cimientos que nos
permitan continuar la construccin de forma
slida. Empezar a programar directamente en
un lenguaje sin tener fundamentos de
programacin consideramos que llevar a que
se requiera ms tiempo y no se obtengan tan
buenos resultados como si se empezara con
fundamentos de programacin.

e) Aprender a programar apoyndonos en un sitio web de confianza:


algunos sitios web tienen buenos
contenidos gratuitos o de pago para
aprender a programar. Este es el caso de
aprenderaprogramar.com, que pretende
constituirse en una pgina de confianza
para todas aquellas personas que quieran
aprender a programar. Si eliges esta web
como va para tu aprendizaje de la programacin y partes desde cero o de
unos conocimientos muy bsicos, te proponemos que aprendas a utilizar esta
web para sacarle el mximo partido. Tendrs una magnfica herramienta a tu
disposicin y un proceso de aprendizaje guiado. Para aprovechar al mximo lo
que te ofrecemos, merece la pena que dediques unos minutos a conocer cmo
funciona y cmo se organiza aprenderaprogramar.com. Este sitio web se rige
por unas pautas organizativas y didcticas, un funcionamiento editorial y unas
codificaciones cuyo conocimiento te permitirn ir ms rpido en tu aprendizaje.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 13


FUNDAMENTOS DE PROGRAMACIN

En caso de dudas, plantea tus consultas en los foros donde miembros del
portal u otros usuarios te ayudarn a hacer ms llevadero el aprendizaje de la
programacin.

f) Otras vas: aprender con un amigo, familiar,


etc. no es una mala opcin, siempre que esa
persona tenga un buen nivel de conocimientos,
capacidad didctica y tiempo suficiente para
dedicarnos.

OPERACIN:
ANALIZAR LAS COMPUTADORAS Y SU PROGRAMACIN.

Cuando encendemos una computadora el circuito de control llamado BIOS


(Basic Input/Output System = sistema bsico de entrada/salida), inicia una
inspeccin del sistema a esta secuencia denominada en el argot computacional
POST (POWER ON SELET TEST). El propsito de examinar es confirmar la
existencia de un buen funcionamiento de algunos componentes vitales del
computador.

Algunos de los componentes de vital importancia que son revisados son:


microprocesador, memorias RAM, BIOS, dispositivos bsicos de comunicacin
como el teclado y la seal de video. Cuando alguno de estos est funcionado
mal o est desconectado, el BIOS suele informar a travs de seales escritas y
audibles (pitidos del speaker), segn su fabricante, para informar que existe
una anomala y por tanto tu PC no puede arrancar.

Pasado el POST, el BIOS tiene como funcin la bsqueda de un sistema de


control que debe cargar en la memoria. Este es el sistema operativo (Unix,
Linux, Windows, unidades pticas o CD-ROM, red, etc). Si lo encuentra, lee
sus instrucciones y deposita un conjunto bsico de instrucciones en la memoria
RAM para que el sistema operativo continu con el control de la computadora.
Todo el movimiento generado (transmisin y ordenamiento de datos) es dirigido
por el cerebro del sistema, el microprocesador. Este a su vez utiliza toda la red
de subalternos (otros chips) para ordenar la transmisin de seales que se
necesitan para que tu PC funcione correctamente. Al final cuando un trabajo es
aprobado por el operador de la computadora, se ordena al programa que
guarde los datos en forma definitiva.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 14


FUNDAMENTOS DE PROGRAMACIN

El software es un trmino genrico para los programas que funcionan en el


interior de una computadora. En este caso posiblemente sea Windows es el
sistema operativo o programa de funcionamiento que le da la vida a su
computadora, es as como se puede observar esta informacin en la pantalla.

El hardware es tambin un trmino genrico para todos los componentes


fsicos del computador. Este es el nivel ms bsico en el cual la computadora
funciona. El punto dominante a recordar es que toda la informacin est
procesada electrnicamente por el hardware. La PC esta preparada como su
computadora personal, aunque se abrevia (PC) y es a menudo asociada con la
computadora con la cual funciona el sistema operativo de Windows.

Las computadoras estn integrados por una serie de componentes electrnicos


que son los responsables de su correcto funcionamiento. Entre ellos destacan:

Unidad central de procesos (CPU): es el cerebro del PC.


Se encarga de procesar las instrucciones y los datos con los
que trabaja la computadora. El procesador es el dispositivo
ms importante y el que ms influye en su velocidad al
analizar informacin.

Memoria RAM o memoria principal: es la memoria


de acceso aleatorio, en la que se guardan
instrucciones y datos de los programas para que la
CPU puede acceder a ellos directamente a travs del
bus de datos externo de alta velocidad. A la RAM se
le conoce como memoria de lectura/escritura, para
diferenciarla de la ROM. Es decir que en la RAM, la CPU puede escribir y leer.
Por esto, la mayora de los programas destinan parte de la RAM como espacio
temporal para guardar datos, lo que permite reescribir. Como no retiene su
contenido, al apagar la computadora es importante guardar la informacin. La
cantidad de memoria RAM influye bastante en la velocidad de un PC. Entre
ms memoria RAM tenga, ms rpido trabaja y ms programas puede tener
abiertos al mismo tiempo.

Memoria ROM: es la memoria solo para lectura. Es la


parte del almacenamiento principal dla computadora que no
pierde su contenido cuando se interrumpe la energa.
Contiene programas esenciales del sistema que ni la
computadora ni el usuario pueden borrar, como los que le

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 15


FUNDAMENTOS DE PROGRAMACIN

permiten iniciar el funcionamiento cada vez que se enciende la computadora.

Disco duro: es el dispositivo de almacenamiento


secundario que usa varios discos rgidos cubiertos
de un material magnticamente sensible. Est
alojado, junto con las cabezas de lectura, en un
mecanismo sellado en forma hermtica, en el que
se guardan los programas y todos los archivos
creados por el usuario cuando trabaja con esos
programas. Entre ms capacidad tenga un disco duro, ms informacin y
programas puede almacenar en el PC. La capacidad del disco duro se mide en
gigabytes (GB). Un GB equivale a 1.024 megabytes (MB) aproximadamente.
En el disco duro quedan guardados, entre otras cosas, todos los archivos
creados por el usuario.

Cach: es una unidad pequea de memoria ultrarpida


en la que se almacena informacin a la que se ha
accedido recientemente o a la que se accede con
frecuencia, lo que evita que el microprocesador tenga que
recuperar esta informacin de circuitos de memoria ms
lentos. El cach suele estar ubicado en la tarjeta madre,
pero a veces est integrado en el mdulo del procesador.
Su capacidad de almacenamiento de datos se mide en kilobytes (KB). Mientras
ms cach tenga la computadora es mejor, porque tendr ms instrucciones y
datos disponibles en una memoria ms veloz.

Tarjeta madre: es la tarjeta de circuitos que


contiene el procesador o CPU, la memoria
RAM, los chips de apoyo al microprocesador y
las ranuras de expansin. Estas son las que
permiten insertar, por ejemplo, la tarjeta de
sonido (que permite al PC reproducir sonido),
el mdem interno (que hace posible navegar
por Internet) o la tarjeta grfica o de video (que
permite mostrar imgenes en la pantalla).

CD-ROM - DVD-ROM: esta unidad sirve para leer


los discos compactos, sean estos programas, msica
o material multimedia (sonidos, imgenes, textos),
como las enciclopedias y los juegos electrnicos. La
velocidad de esta unidad depende de dos factores: la

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 16


FUNDAMENTOS DE PROGRAMACIN

tasa de transferencia de datos y el tiempo de


acceso. El CD ROM lee la informacin contenida
en los discos compactos. La tasa de
transferencia de datos se refiere a la cantidad de
datos que la unidad de CD ROM puede enviar al
PC en un segundo. Esa tasa se mide en kilobytes por segundo (kbps) y se
indica con un nmero al lado de un X, por ejemplo: 16X, 24X o 48X. Mientras
ms X, mayor velocidad. El tiempo de acceso se refiere a lo que tarda el
proceso completo.

Cmo funciona un procesador.

El microprocesador, o simplemente procesador, es el circuito integrado central


y ms complejo de una computadora u ordenador; a modo de ilustracin, se le
suele asociar por analoga como el "cerebro" de una computadora.

El procesador es un circuito integrado constituido por millones de componentes


electrnicos integrados. Constituye la unidad central de procesamiento (CPU)
de un PC catalogado como microcomputador.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 17


FUNDAMENTOS DE PROGRAMACIN

Desde el punto de vista funcional es, bsicamente, el


encargado de realizar toda operacin aritmtico-lgica, de
control y de comunicacin con el resto de los componentes
integrados que conforman un PC, siguiendo el modelo
base de Von Neumann. Tambin es el principal encargado
de ejecutar los programas, sean de usuario o de sistema;
slo ejecuta instrucciones programadas a muy bajo nivel,
realizando operaciones elementales, bsicamente, las aritmticas y lgicas,
tales como sumar, restar, multiplicar, dividir, las lgicas binarias y accesos a
memoria.

Esta unidad central de procesamiento est constituida,


esencialmente, por registros, una unidad de control y una
unidad aritmtico lgica (ALU), aunque actualmente todo
microprocesador tambin incluye una unidad de clculo en
coma flotante, (tambin conocida como "coprocesador
matemtico"), que permite operaciones por hardware con
nmeros decimales, elevando por ende notablemente la eficiencia que

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 18


FUNDAMENTOS DE PROGRAMACIN

proporciona slo la ALU con el clculo indirecto a travs de los clsicos


nmeros enteros.

Logica de la computadora.

Las computadoras digitales utilizan el sistema de nmeros binarios, que tiene


dos dgitos 0 y 1. Un dgito binario se denomina un bit. La informacin est
representada en las computadoras digitales en grupos de bits. Utilizando
diversas tcnicas de codificacin los grupos de bits pueden hacerse que
representen no solamente nmeros binarios sino tambin otros smbolos
discretos cualesquiera, tales como dgitos decimales o letras de alfabeto.
Utilizando arreglos binarios y diversas tcnicas de codificacin, los dgitos
binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos
de instrucciones para realizar diversos tipos de clculos.

La informacin binaria se representa en un sistema digital por cantidades


fsicas denominadas seales, Las seales elctricas tales como voltajes
existen a travs del sistema digital en cualquiera de dos valores reconocibles y
representan una variable binaria igual a 1 o 0. Por ejemplo, un sistema digital
particular puede emplear una seal de 3 volts para representar el binario "1" y
0.5 volts para el binario "0". La siguiente ilustracin muestra un ejemplo de una
seal binaria.

Como se muestra en la figura, cada valor binario tiene una desviacin


aceptable del valor nominal. La regin intermedia entre las dos regiones
permitidas se cruza solamente durante la transicin de estado. Los terminales
de entrada de un circuito digital aceptan seales binarias dentro de las
tolerancias permitidas y los circuitos responden en los terminales de salida con
seales binarias que caen dentro de las tolerancias permitidas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 19


FUNDAMENTOS DE PROGRAMACIN

La lgica binaria tiene que ver con variables binarias y con operaciones que
toman un sentido lgico. La manipulacin de informacin binaria se hace por
circuitos lgicos que se denominan Compuertas.

Las compuertas son bloques del hardware que producen seales en binario 1
0 cuando se satisfacen los requisitos de entrada lgica. Las diversas
compuertas lgicas se encuentran comnmente en sistemas de computadoras
digitales. Cada compuerta tiene un smbolo grfico diferente y su operacin
puede describirse por medio de una funcin algebraica. Las relaciones entrada
- salida de las variables binarias para cada compuerta pueden representarse en
forma tabular en una tabla de verdad.
A continuacin se detallan los nombres, smbolos, grficos, funciones
algebraicas, y tablas de verdad de las compuertas ms usadas.
Compuerta AND:

Cada compuerta tiene dos variables de entrada


designadas por A y B y una salida binaria designada por
x.

La compuerta AND produce la multiplicacin lgica AND:


esto es: la salida es 1 si la entrada A y la entrada B estn
ambas en el binario 1: de otra manera, la salida es 0.

Estas condiciones tambin son especificadas en la tabla


de verdad para la compuerta AND. La tabla muestra que
la salida x es 1 solamente cuando ambas entradas A y B
estn en 1.

El smbolo de operacin algebraico de la funcin AND es


el mismo que el smbolo de la multiplicacin de la
aritmtica ordinaria (*).

Las compuertas AND pueden tener ms de dos entradas


y por definicin, la salida es 1 si todas las entradas son 1.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 20


FUNDAMENTOS DE PROGRAMACIN

Compuerta OR:

La compuerta OR produce la funcin sumadora, esto es,


la salida es 1 si la entrada A o la entrada B o ambas
entradas son 1; de otra manera, la salida es 0.

El smbolo algebraico de la funcin OR (+), es igual a la


operacin de aritmtica de suma.

Las compuertas OR pueden tener ms de dos entradas y


por definicin la salida es 1 si cualquier entrada es 1.

Compuerta NOT:

El circuito NOT es un inversor que invierte el nivel lgico


de una seal binaria. Produce el NOT, o funcin
complementaria. El smbolo algebraico utilizado para el
complemento es una barra sobra el smbolo de la variable
binaria.

Si la variable binaria posee un valor 0, la compuerta NOT


cambia su estado al valor 1 y viceversa.
El crculo pequeo en la salida de un smbolo grfico de
un inversor designa un inversor lgico. Es decir cambia
los valores binarios 1 a 0 y viceversa.

Sistema Binario: el lenguaje de las computadoras.

En el interior del gabinete del sistema de una computadora, se ven


principalmente circuitos electrnicos. En una computadora los datos son
reducidos a interruptores elctricos. Los interruptores pueden tener slo uno de
dos estados posibles: encendido o apagado. As que slo se cuenta con dos
smbolos numricos, 1 para encendido y O para apagado.

Al contar con tan slo dos smbolos numricos, las computadoras funcionan
internamente con el sistema binario que se compone de dos dgitos (0 y 1) para
la representacin de datos e instrucciones. Estos dos dgitos se implementan
de forma electrnica mediante dos estados (apagado o encendido). Toda la
informacin que entra a una computadora es convertida en estos nmeros
binarios.

Bit: Al referirse a datos de computadoras, cada interruptor que est apagado


(valor 0) o encendido (valor 1) es un bit. La palabra bit es la forma abreviada

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 21


FUNDAMENTOS DE PROGRAMACIN

de binary digit (dgito binario) y constituye la unidad de datos ms pequea


posible.

Bytes: Para representar cualquier cosa significativa es necesario usar grupos


de bits. El byte es una agrupacin de ocho bits. En una computadora los bytes
se utilizan para representar nmeros, letras y caracteres especiales. Con un
byte se tienen 256 combinaciones diferentes de ocho bits (combinaciones de
ceros y unos). Esto permite representar todos los caracteres del teclado,
incluyendo letras (maysculas y minsculas), nmeros, signos de puntuacin y
otros smbolos mediante alguna de estas combinaciones.

Unidad de medida de capacidad de almacenamiento.


La capacidad de almacenamiento primario de una computadora (y la de
almacenamiento secundario tambin) usa como unidad de medida el byte, de
manera similar a como el litro viene a representar la unidad de capacidad de un
recipiente. En la siguiente tabla, se presenta la capacidad de memoria en los
mltiplos ms usados del byte y sus equivalencias.

Tabla 1.- Capacidad de memoria en los mltiplos del byte.

Unidad Abreviatura Equivalencia


Kilobyte K, KB o K-byte. 1.024 bytes (aprox. Mil bytes)
Megabyte MB o M-byte. 1.024 KB (aprox. 1 milln de bytes)
Gigabyte GB o G-byte 1.024 MB (aprox. Mil millones de bytes)
Terabyte TB o T-Byte 1.024 GB (aprox. Un milln de billones de bytes)

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 22


FUNDAMENTOS DE PROGRAMACIN

Un Kilobyte est constituido exactamente por 1.024 bytes aunque se suele


aproximar a mil bytes. La misma consideracin es vlida para las dems
medidas como se muestra en la tabla de los mltiplos del byte.

Esquemas de codificacin binaria.


Para representar caracteres como combinaciones de ceros (0) o unos (1) en la
computadora, se hace uso de los denominados esquemas de codificacin
binaria. Los esquemas ms conocidos utilizan ocho bits para formar cada byte.
Estos esquemas son el ASCII y el EBCDIC. A diferencia de los anteriores el
Unicode, que es un cdigo ms reciente, emplea diecisis bits. Al oprimir una
tecla del teclado, el carcter es convertido automticamente en un conjunto de
pulsos electrnicos. El CPU es capaz de reconocer estos pulsos. Al presionar
la letra C de un teclado, por ejemplo, sta se convierte en el cdigo ASCII de
01000011.

ASCII American Standard Code for Information Code (cdigo estadounidense


estndar para intercambio de informacin) es el juego usado ms
extensamente en microcomputadoras.
EBCDIC Extended Binary Coded Decimal Interchange Code (cdigos de
intercambio de decimales codificados en binarios extendidos) desarrollado por
IBM y usado principalmente en computadoras grandes.
Unicode Diseado para soportar idiomas internacionales como el chino y el
japons. Estos idiomas poseen tantos caracteres que no pueden
representarse con los cdigos ASCII y EBCDIC, fue desarrollando por
Unicode Inc., con apoyo de Apple, IBM y Microsoft.

Bit de paridad.
Un bit de paridad es un bit adicional que se aade automticamente a un byte
para efectos de deteccin de errores. Al teclear la letra C, por ejemplo,
debera representarse en el CPU como 01000011. En general pueden suceder
distorsiones que podran causar un error e interpretar el ltimo 1 como un 0. El
byte sera ledo debido al error como 01000010. El bit de paridad es una forma
para poder determinar si se est recibiendo datos correctamente. Existen
sistemas de paridad pares y sistemas de paridad impares. Cuando se emplea
el sistema de paridad par, se fija el bit de paridad ya sea en 0 o 1 de modo que
la cantidad de unos sea par.
Para la letra C (01000011) en el ejemplo, se cuenta el nmero de unos
determinando, que se trata de tres en este caso. Se agrega al principio un bit
de paridad, que se fija en 1, para que el nmero de unos sea par. La seal

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 23


FUNDAMENTOS DE PROGRAMACIN

enviada es 101000011. Cuando la seal es recibida por el CPU, se verifica el


nmero de unos. Si no es par, ha ocurrido algn error. A esto es lo que se
conoce como error de paridad. Entonces el CPU solicitar que la seal se
reenve. Los sistemas de paridad impares funcionan exactamente al contrario
de los sistemas de paridad de pares. Como es fcil imaginar, se coloca un cero
o un uno para que el nmero de unos sea impar.

OPERACIN:
APLICAR LA METODOLOGA DE PROGRAMACIN.
Anlisis y diseo de sistemas.

En la actualidad la mayora de los usuarios de microcomputadoras tienen


acceso a un sistema de informacin o forman parte del mismo. Todas las
organizaciones cuentan con un sistema de informacin de algn tipo, que sus
empleados deben utilizar. Cuando en cualquier organizacin se desea
implantar un nuevo sistema, de tal forma que sus miembros sean ms
productivos, obteniendo un mayor provecho y apoyo del mismo, se requiere
realizar una serie de acciones y previsiones.

La creacin o establecimiento de un nuevo sistema de informacin en la


organizacin, puede ser una tarea compleja. Para encarar este tipo de
situaciones existe un proceso de anlisis y diseo de sistemas que auxilia en la
resolucin de tales problemas. El anlisis y diseo de sistemas proporciona
una gua til que busca disminuir las situaciones de fracaso o errores al
acometer estos procesos.

Razones para conocer el anlisis y diseo de sistemas.

Aunque pareciese que es tema slo de profesionales, como usuario final, toda
persona que usa una microcomputadora se beneficiar al conocer sobre este
proceso. Puede ocurrir que, una vez contratado como miembro de una
organizacin, se convierta en usuario de su sistema de informacin, entonces

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 24


FUNDAMENTOS DE PROGRAMACIN

el conocimiento del anlisis y diseo de sistemas, le permitir aumentar su


productividad personal, sirvindole para resolver los problemas que surjan en
su rea de trabajo, determinando nuevos requerimientos de informacin y
permitindole colaborar con los profesionales en informtica en la resolucin de
tales situaciones.

Consumo de recursos a lo largo de la vida del sistema

Necesidad del anlisis y diseo de sistemas.

La instalacin de un sistema sin la adecuada planeacin puede conducir a


grandes frustraciones y causar que el sistema sea subutilizado, o peor an,
deje de ser usado al no cumplir con las expectativas que le dieron origen. El
anlisis y diseo de sistemas es una gua que permite estructurar el proceso de
desarrollo de sistemas de informacin.

Tal proceso siempre representar un esfuerzo, inversin de tiempo y recursos


por parte de la organizacin. Acometer tal esfuerzo de manera casual, presenta
un alto grado de riesgo al no garantizar la culminacin del proyecto con xito.
Este procedimiento permite reducir al mnimo el riesgo de fracaso de nuevos
proyectos, pues es comn que muchos errores surjan al utilizar nuevos
sistemas de informacin, bien por no adaptarse correctamente a las
necesidades reales o por desempearse de forma inadecuada.

Ciclo de vida del desarrollo de sistemas.

Antes de dar detalles sobre este proceso, se define lo que es un sistema. De


manera sencilla, un sistema puede ser definido como un conjunto de
actividades y elementos organizados para alcanzar un fin. Un sistema de
informacin se compone de elementos como hardware, software, personas,
procedimientos y datos que interactan unos con otros para generar la
informacin primordial en el desempeo de la organizacin.

La informacin es un recurso valioso que permite a la organizacin llevar a


cabo la prestacin de servicios o elaboracin de productos. Es comn que las

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 25


FUNDAMENTOS DE PROGRAMACIN

organizaciones deban cambiar sus sistemas de informacin, motivado al


crecimiento de la misma, cambio en regulaciones estatales, surgimiento de
nueva tecnologa, y otros. Es decir, siempre habr factores que modifiquen el
ambiente donde se desempea la organizacin y sta debe cambiar para
afrontarlos, lo cual se ver reflejado en los sistemas que la conforman.

El anlisis y diseo de sistemas es un procedimiento para la resolucin de


problemas. Cuando se trata del diseo de sistemas de informacin, busca
analizar sistemticamente la entrada o flujo de datos, la transformacin de los
datos, el almacenamiento de datos y la salida de informacin en el contexto de
una organizacin particular. Tambin es usado para analizar, disear e
implementar mejoras que puedan incorporarse a la organizacin y puedan ser
alcanzadas al usar un sistema de informacin computarizado.

Este procedimiento se lleva a cabo, en el llamado ciclo de vida de desarrollo de


sistemas, el cual consta de seis pasos que permiten el diagnstico y
optimizacin de un sistema de informacin. Este ciclo puede repetirse
indefinidamente, porque como ya se seal, las organizaciones siempre se ven
sometidas a cambios, y sus sistemas deben renovarse peridicamente. Los
pasos del ciclo de vida de desarrollo son los que se encuentran en la imagen.
Se suele llamar analistas de sistemas a quienes se encargan de realizar en las
empresas, el proceso de anlisis y diseo de sistemas, definiendo los
lineamientos a seguir y la manera en que debe incorporarse la tecnologa de la
computacin para adecuar y actualizar sus sistemas de informacin.

Ciclo de vida de desarrollo de sistemas de seis fases

Los usuarios juegan un papel crtico al momento de cambiar o desarrollar


exitosamente un sistema de informacin, porque son quienes conocen los
problemas de su rea de trabajo, pudiendo suministrar informacin valiosa y
atinada sobre las necesidades que debera resolver tal sistema. El desarrollo

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 26


FUNDAMENTOS DE PROGRAMACIN

acertado de sistemas de informacin automatizados requiere del trabajo


conjunto de usuarios finales y de los analistas de sistemas.

Resumen del ciclo de vida de desarrollo de sistemas

Ciclo de vida de desarrollo de sistemas


Fase Tareas asociadas
1 Investigacin preliminar Definir el problema Sugerir alternativas
Presentar reporte breve
2 Anlisis Recopilar datos Analizar datos
Documentar resultado
3 Diseo Disear alternativas Escoger la mejor
alternativa Reportar resultado
4 Desarrollo Desarrollar o adquirir software Adquirir
hardware Probar Sistema
5 Implementacin Instalacin Capacitacin de usuarios
6 Mantenimiento Auditar nuevo sistema Evaluar
eridicamente

CMO PROGRAMAR CORRECTAMENTE.

Como programadores los estndares que encontramos en la red o en libros


pueden ser bastante tiles. Un estilo de programacin va a constar de una
serie de reglas o definiciones que permitirn que el cdigo de fuente de un
programa o aplicacin que realicemos sea comprensible y evite futuras
confusiones.
A pesar de que cada lenguaje de programacin puede tener su propio estilo,
hay algunas definiciones generales que se aplican a la mayora, y esas son
siempre muy escenciales para desarrollar un buen trabajo. El estilo de
programacin considera reglas de identacin, formateado, estilo de variables,
etc. El objetivo principal es establecer un estilo estandarizado que permita
una fcil distribucin o modifcacin posterior del cdigo (source code).
1. Reglas de identacin para programar: A pesar de que en la mayora de
los lenguajes de programacin los espacios y saltos de lnea no afectan el
proceso de compilacin, se hace ms sencillo comprender y estratificar un
cdigo para poder notar en dnde realizar determinada modificacin o cambio,
por ejemplo:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 27


FUNDAMENTOS DE PROGRAMACIN

Comparado con:

Obviamente el primero resulta mucho ms claro de entender al cumplir ciertas


reglas de espaciado y tabulamiento.
Existen lenguajes como Python que dependen estrictamente de la identacin
para funcionar, lo que ayuda a establecer un cdigo ms limpio y comprensible.

2. Espaciado: Tal como se mencion en la identacin, un compilador no


considera el espaciado para crear el programa; sin embargo, es recomendable
aplicar espacios para mejorar la lectura.
Por ejemplo:

En relacin a:

Resulta ms apretado, por ello puede confundir muchas veces, por lo que el
segundo cdigo es ms recomendado.

3. Espaciado vs Tabulacin: El espaciado es recomendado que se realice sin


usar la barra espaciadora, sino la barra de tabulacin; con ello podemos
obtener mejores resultados y un cdigo ms comprensible.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 28


FUNDAMENTOS DE PROGRAMACIN

4. Estilo de las variables: Con el objeto de que el programa sea entendible, es


necesario regularizar sus variables. Obviamente no es obligatorio, pero como
todo lo anterior, es muy aconsejado su uso.
-Variables normales: Variable de nmeros, edades, fechas, objetos e
instancias, nombres, etc; siempre con minsculas.
Ejemplos:

-Mtodos y funciones: Las subrutinas de un cdigo se recomienda se


identifiquen con minsculas, pero en caso de encontrar varias palabras, los
comienzos de las siguientes deberan ser con maysculas.
Ejemplos:

-Clases: Las clases se deben identificar con maysculas, mientras que sus
objetos instanciadores (tal como se mencion anteriormente), con minsculas.
Ejemplos:

Notas importantes sobre las variables:

a. Nunca es recomendado usar caracteres especiales en los nombres:


CORRECTO: int anio; int cedula;

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 29


FUNDAMENTOS DE PROGRAMACIN

INCORRECTO: int ao; int cdula;

b. Para identificar un espacio es bueno usar el caracter _ en lugar de -:


CORRECTO: String nombre_principal;
INCORRECTO: String nombre-principal;
Con estas buenas prcticas su cdigo podr quedar ms limpio, ordenado y
entendible.

NOTA:
Programar un proyecto de gran embergadura no es una tarea fcil. Por esto, es de fundamental
importancia seguir estos pasos para evitar errores de los cuales luego nos podamos arrepentir
y que nos puede costar la reprogramacin de todo el programa con su consecuente prdida de
tiempo adicional, sea cual sea el lenguaje de programacin que vayamos a utilizar.
Lo primero que debemos hacer es entender de arriba a abajo que es lo que debe hacer el
programa. Nunca empieces a programar sin tener, como mnimo, una idea o visin global del
problema. No es mala idea coger un papel y hacer un listado de todas las tareas que debe
realizar y en caso de que surjan dudas, preguntarla antes de empezar a desarrollar.
Una vez hemos entendido el problema, debemos hacer un anlisis integro de este. Debemos
coger un papel y representar en l la forma ms ptima que se nos ocurra para resolver cada
una de las tareas detectadas en el paso anterior.

Los cinco demonios del Apocalipsis algortmico.


Demonio 1 "El Ley pareja": Encuentras gente que tiene tu misma duda y tampoco tiene
respuestas.
Demonio 2 "La conversacin entre curados (borrachos)": Encuentras una pregunta similar a la
tuya y un montn de respuestas donde nadie le da la solucin correcta al asunto.
Demonio 3 "El anciano rebelde": Encuentras respuesta a tu problema pero para windows NT o
95.
Demonio 4 "El extico: Un sitio que parece tener respuesta a tu pregunta est en japons.
Demonio 5 "El Tax-Man": Un sitio te cobra para decirte la respuesta a tu pregunta.

OPERACIN:
CLASIFICAR LOS LENGUAJES DE PROGRAMACIN Y PROGRAMAS
TRADUCTORES.

El ordenador slo entiende un lenguaje conocido como cdigo binario o cdigo


mquina, consistente en ceros y unos. Es decir, slo utiliza 0 y 1 para codificar
cualquier accin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 30


FUNDAMENTOS DE PROGRAMACIN

Los lenguajes ms prximos a la arquitectura hardware se denominan


lenguajes de bajo nivel y los que se encuentran ms cercanos a los
programadores y usuarios se denominan lenguajes de alto nivel.

Lenguajes de bajo nivel.


Son lenguajes totalmente dependientes de la mquina, es decir que el
programa que se realiza con este tipo de lenguajes no se pueden migrar o
utilizar en otras maquinas.

Al estar prcticamente diseados a medida del hardware, aprovechan al


mximo las caractersticas del mismo.

Dentro de este grupo se encuentran:


El lenguaje maquina: este lenguaje ordena a la mquina las operaciones
fundamentales para su funcionamiento. Cnsiste en la combinacin de 0's y 1's
para formar las ordenes entendibles por el hardware de la maquina.

Este lenguaje es mucho ms rpido que los lenguajes de alto nivel.

La desventaja es que son bastantes difciles de manejar y usar, adems de


tener cdigos fuente enormes donde encontrar un fallo es casi imposible.

El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado


por abreviaturas de letras y nmeros llamadas mnemotcnicos. Con la
aparicin de este lenguaje se crearon los programas traductores para poder
pasar los programas escritos en lenguaje ensamblador a lenguaje mquina.
Como ventaja con respecto al cdigo mquina es que los cdigos fuentes eran
ms cortos y los programas creados ocupaban menos memoria. Las
desventajas de este lenguaje siguen siendo prcticamente las mismas que las
del lenguaje ensamblador, adiendo la dificultad de tener que aprender un
nuevo lenguaje difcil de probar y mantener.

Lenguajes de alto nivel.


Son aquellos que se encuentran ms cercanos al lenguaje natural que al
lenguaje mquina.

Estn dirigidos a solucionar problemas mediante el uso de EDD's.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 31


FUNDAMENTOS DE PROGRAMACIN

NOTA:
EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los
lenguajes de programacin. Son estructuras que pueden cambiar de tamao durante la
ejecucin del programa. Nos permiten crear estructuras de datos que se adapten a las
necesidades reales de un programa.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo


que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes
migrar de una mquina a otra sin ningn tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del
funcionamiento interno de la maquina/s para la que estn diseando el
programa. Tan solo necesitan un traductor que entiendan el cdigo fuente
como las caractersticas de la maquina.
Suelen usar tipos de datos para la programacin y hay lenguajes de propsito
general (cualquier tipo de aplicacin) y de propsito especifico (como
FORTRAN para trabajos cientficos).

Lenguajes de Medio nivel.


Se trata de un trmino no aceptado por todos, pero q seguramente habrs
odo. Estos lenguajes se encuentran en un punto medio entre los dos
anteriores. Dentro de estos lenguajes podra situarse C ya que puede acceder
a los registros del sistema, trabajar con direcciones de memoria, todas ellas
caractersticas de lenguajes de bajo nivel y a la vez realizar operaciones de alto
nivel.

Generaciones.
La evolucin de los lenguajes de programacin se puede dividir en 5 etapas o
generaciones.

Primera generacin: lenguaje maquina.


Segunda generacin: se crearon los primeros lenguajes ensambladores.
Tercera generacin: se crean los primeros lenguajes de alto nivel. Ej. C,
Pascal, Cobol
Cuarta generacin: Son los lenguajes capaces de generar cdigo por si solos,
son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un
experto en el lenguaje. Aqu tambin se encuentran los lenguajes orientados a
objetos, haciendo posible la reutilizacin d partes del cdigo para otros
programas. Ej. Visual, Natural Adabes
Quinta generacin: aqu se encuentran los lenguajes orientados a la
inteligencia artificial. Estos lenguajes todava estn poco desarrollados. Ej.
LISP

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 32


FUNDAMENTOS DE PROGRAMACIN

FUNDAMENTO TERICO:

Establecer los fundamentos de programacin.


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 informticas 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, Python, PHP, Power Builder, .NET, etc) 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 puede 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.

Definicin de Compilador.
Cuando hablamos de programacin, hemos mencionado que existen dos
Cdigos fundamentales a la hora de crear aplicaciones, programas o corregir
errores presentes en dicha tarea, teniendo por un lado al Cdigo Fuente, que
es el que se encuentra en un Lenguaje de Programacin entendible por los
usuarios, y por otro lado el Cdigo Objeto, que es la traduccin del mismo para
que todas las rdenes que han sido redactadas puedan ser entendidas por el
dispositivo que las vaya a ejecutar.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 33


FUNDAMENTOS DE PROGRAMACIN

La tarea de traduccin de un Cdigo Fuente, hacia el producto final que ser el


Cdigo Objeto, est dada por la accin de Compilar, para lo cual se requiere de
una aplicacin que es conocida justamente como Compilador, el cual
describiremos a continuacin.
Bsicamente, el Compilador
consiste en una aplicacin que tiene
como premisa fundamental la
Traduccin del lenguaje especfico
de programacin (tambin conocido
como Lenguaje de Alto Nivel) hacia
otro que es solamente comprensible
por el equipo, que se encargar de
interpretarlo llevndolo a un sistema binario que se basa en la transmisin o
no-transmisin de energa elctrica (Lenguaje de Bajo Nivel)

Para poder realizar esta transformacin, el Compilador debe realizar un anlisis


de qu es lo que se ha escrito en el Lenguaje de Programacin establecido, a
travs de tres criterios fundamentales, cuyo conjunto es conocido como Front
End:

Lxico: Que el lenguaje sea correctamente aplicado, con palabras


preestablecidas por el mismo.
Sintctico: Que la programacin est ordenada, sin fallas en sus variables.
Semntico: Criterio en el cual se verifica que el resultado de lo que ha sido
programado tiene una correlacin con la orden que ha querido ser ejecutada.

Realizado esto, comienza una etapa en la cual se sintetiza el Cdigo Objeto,


teniendo sta tres pasos fundamentales, contando adems con un asistente
que nos informa de todos los Errores que hayan sido encontrados y que
requieren una posterior enmienda, adems de fallas en la traduccin, teniendo
este proceso el nombre de Back End:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 34


FUNDAMENTOS DE PROGRAMACIN

Cdigo Intermedio: Se genera un Cdigo Objeto preliminar en base al


Lenguaje de Alto Nivel.
Optimizacin: El cdigo anteriormente creado en forma previa al resultado
final es analizado y mejorado en pos de mayor rendimiento y menos errores.
Generacin: Finalmente, en esta etapa se da lugar a la creacin de un Cdigo
Objeto.

Realizado esto, se obtiene finalmente el Lenguaje de Bajo Nivel que ser


posteriormente interpretado por el ordenador y ejecutado por los distintos
dispositivos del ordenador.

Cul es la diferencia entre Intrprete y Compilador?

Hay dos formas de ejecutar programas escritos en un lenguaje de alto nivel. El


ms comn es compilar el programa y el otro mtodo es pasar el programa a
travs de un intrprete. Tanto el intrprete como el compilador tienen como
finalidad traducir las instrucciones recibidas a un lenguaje que el equipo pueda
entender.

Las diferencias entre intrprete y compilador son:

Un intrprete traduce instrucciones de alto nivel en una forma intermedia para


ser ejecutado. En contraste, un compilador, traduce instrucciones de alto nivel
directamente en lenguaje de mquina.
El intrprete traduce un programa lnea a lnea mientras que el compilador
traduce el programa entero y luego lo ejecuta.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 35


FUNDAMENTOS DE PROGRAMACIN

El intrprete detecta si el programa tiene errores y permite su depuracin


durante el proceso de ejecucin, mientras que el compilador espera hasta
terminar la compilacin de todo el programa para generar un informe de
errores.
Un programa compilado es ms seguro que uno interpretado, porque no
contiene el cdigo fuente, que puede ser modificado incorrectamente por el
usuario.
Ambos, intrpretes y compiladores estn disponibles en la mayora de los
lenguajes de alto nivel.

Definicion de Cdigo Fuente.

El cdigo fuente consiste en uno o ms


archivos que contienen las instrucciones de
programacin con las cuales un
desarrollador de software cre una
aplicacin. Regularmente el cdigo fuente
fue escrito utilizando alguna herramienta de
programacin.
Cuando un desarrollador de software
escribe un programa utilizando algn tipo
de lenguaje de programacin (Visual Basic, C++, etc.) El archivo o archivos que
son escritos forman lo que se denomina programa origen o cdigo fuente. Para
ejecutar el programa, el cdigo fuente debe ser traducirlo a lenguaje de
mquina, para que computador lo pueda entender y as ejecutar la aplicacin
de acuerdo a las instrucciones recibidas.
Al comprar un sistema operativo o alguna aplicacin de uso general como
Microsoft Office, por lo general recibes una aplicacin en forma de cdigo
objeto compilado, que solo permite ser ejecutado, no puede ser modificado
porque el cdigo fuente no est incluido.
No obstante existen algunos proveedores de software que proporcionar el
cdigo fuente, pero no resulta muy til si no eres programador y entiendes la
lgica de desarrollo de software.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 36


FUNDAMENTOS DE PROGRAMACIN

Requerimientos personales para programar.


Personales es un trmino que utilizamos con bastante cuidado, ya que en
verdad a lo que nos referimos es a una serie de caractersticas y habilidades
(natas y/o adquiridas) personales que ayudan mucho en el aprendizaje. Si bien
el no tener alguna de estas puede que termine por no ser un impedimento si
sirve de mucho tenerlas. Nos referimos a:

Paciencia, y mucha: Y hacemos mucho


hincapi en este punto, por eso lo hemos
puesto al tope de la lista. La programacin
puede llegar a ser muy frustrante y en
muchas ocasiones podemos quedarnos
pegados por un buen rato en la busqueda
de una solucin a un problema, por muy
pequeo que sea. Ms adelante daremos
algunos consejos sobre esto. Lo
importante es tener paciencia y entender que siempre hay baches en el
camino, por muy buenos que lleguemos a ser.

Perseverancia: Va ligado netamente al punto anterior. En la programacin


siempre hay que ser perseverante para poder lograr los objetivos que nos
proponemos.

En muchas ocasiones nos encontraremos con distintos problemas que van


desde: no saber como afrontar un problema, hasta bloqueos mentales o
desconocimiento. Saldremos adelante solo siendo perseverantes y solo
continuando cuando pensemos que ya debemos tirar la esponja. Estas ltimas
2 cualidades es lo que separa a los buenos programadores de los malos. No
los conocimientos de lenguajes, sino la paciencia y la perseverancia es lo que
los llevar a ser buenos.
Mirar las situaciones desde distintos
puntos: Esto es muy til y nos refleja a
nosotros mismos de como enfrentamos la
vida. Cuando se nos presenta una
situacin de cualquier tipo, mientras de
ms puntos o lados la miremos y
obtengamos ciertas conclusiones,
aumentamos ms la posibilidad de
encontrar una buena solucin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 37


FUNDAMENTOS DE PROGRAMACIN

Debemos siempre tener en cuenta que todas las personas piensan de distinta
forma y por lo tanto todos pensamos distintas soluciones y ms an, distintas
formas de implementar estas soluciones. Si bien es siempre bueno definir hacia
nosotros mismos una metodologa para resolver los problemas, es muy til
tener la habilidad de abstraerse y mirar la situacin desde otro lado. En ms de
alguna ocasin con esto obtendremos mejores soluciones que las que
habiamos pensado originalmente.

Pensar lgica y bsicamente: Algunos


informticos definen las computadoras como
tremendamente bsicas y tontas". Curioso, no?.
Es una tremenda verdad. Los computadores son
mquinas tremendamente elementales desde un
punto de vista que saben realizar solo un par de
operaciones bsicas como cargar, grabar o
sumar.

Todo lo dems que pueden hacer es, o bien una combinacin de esas
operaciones, o el producto de otros programadores que han desarrollado
aplicaciones que les permiten a estas mquinas realizar otros trabajos. A qu
vamos con esto?, a que siempre hay que tener presente lo bsico de la forma
de pensar de los computadores cuando programamos y por eso muchas veces
debemos pensar igual de bsico que ellos. Cuando necesitamos encontrar una
solucin, debemos enfrentar la situacin como un computador lo hara sin
saber otro tipo de informaciones que nosotros sabemos y debemos disear
nuestras soluciones de la forma ms bsica para poder implementarlas.

Ser estructurado: A pesar de que los programadores tienen la fama de ser


medios "locos y volados" para encontrar solucin a las respuestas, tambin son
tremendamente estructurados. Y es que cuando pensemos una solucin a
implementar mediante programacin, debemos pensarla estructurada de la
forma: Bueno, para hacer esto, primero hay que hacer esto, luego esto, luego
esto y finalmente esto. Ese orden y esa estructuracin nos irn ayudando a no
tener que volver sobre el mismo camino hecho para agregar cosas que
deberan haber estado ah.
Conocimientos matemticos: Si bien no es
extremadamente necesario y no
necesitamos ser unos magos de los
nmeros, ya que hoy con Internet tenemos
acceso a la informacin de manera rpida y
sencilla, si es bueno tener nociones

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 38


FUNDAMENTOS DE PROGRAMACIN

matemticas sobre operaciones, conocimientos algebraicos, geomtricos ya


que al programar utilizaremos uno o varios de estos conceptos en ocasiones.
Ser curioso y tener disposicin a resolver problemas: La programacin nos
presenta problemas, problemas y ms problemas. Por eso es bueno tener
curiosidad de como resolverlos de distintas formas y siempre tener la
disposicin a encontrar soluciones, en especial la ms adecuada. Es nuestra
curiosidad y nuestro espritu de superacin lo que eventualmente nos ir
convirtiendo en mejores programadores.
Es por esto que en las carreras relacionadas con el rea de la computacin e
informtica, previo a la programacin siempre nos pasan (muchas veces
odiandolo y sin entender bien porque) Clculo y lgebra. El primero nos
ensea a expandir la mente y mirar los problemas desde distintos puntos y el
segundo nos ensea a establecer una estructura de pensamiento. As que a
comenzar a darle la importancia debida a las funciones, sistemas de
ecuaciones y grficos.

Y finalmente un detalle a siempre tener en consideracin: En la


programacin, siempre hay ms de una forma de resolver los problemas.

ANALIZAR LAS COMPUTADORAS Y SU PROGRAMACIN.

QU ES UNA COMPUTADORA?
Una computadora1 es un dispositivo electrnico
utilizado para procesar informacin y obtener
resultados.
Los datos y la informacin se pueden introducir en la
computadora por la entrada (input) y a continuacin se
procesan para producir una salida (output, resultados).

La computadora se puede considerar como una unidad en la que se ponen


ciertos datos, entrada de datos, procesa estos datos y produce unos datos de
salida. Los datos de entrada y los datos de salida pueden ser realmente
cualquier cosa, texto, dibujos o sonido. El sistema ms sencillo de comunicarse
una persona con la computadora es esencialmente mediante un ratn (mouse),
un teclado y una pantalla (monitor).

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 39


FUNDAMENTOS DE PROGRAMACIN

Hoy da existen otros dispositivos muy populares tales como escneres,


micrfonos, altavoces, cmaras de vdeo, cmaras digitales, etc.; de igual
manera, mediante mdems, es posible conectar su computadora con otras
computadoras a travs de redes, siendo la ms importante, la red Internet.

Lgica de la computadora.

La lgica de la computadora se basa en el lgebra booleana y sistema de


numeracin en base dos (sistema binario). La informacin se representa en
forma binaria mediante el uso de los dgitos 0 (cero) y 1 (uno). En un circuito
digital, en un instante dado la presencia de un pulso elctrico (bits o dgitos)
representa el primer dgito del sistema binario. A la inversa, la ausencia de un
impulso elctrico representa el nmero 0.

Los impulsos elctricos se llaman bits. Una vez que la informacin traducida en
bits, stos son procesados por circuitos lgicos (puertas lgicas), capaces de
asociar un impulso de salida dada a los pulsos elctricos en la entrada. Las
puertas lgicas son circuitos elctricos integrados de interruptores (switches)
en serie o en paralelo. Cada puerta lgica lleva a cabo una funcin simple
lgebra en particular Boolean (NOT, AND, OR, NAND, XOR, etc) .. Por
ejemplo, el siguiente circuito elctrico permite realizar la funcin del operador
O:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 40


FUNDAMENTOS DE PROGRAMACIN

La combinacin de puertas lgicas puede crear circuitos lgicos combinatorios


para llevar a cabo las funciones y tambin clculos ms complejos. A partir de
una tabla de verdad, las puertas lgicas se combinan entre s en un circuito
elctrico (operacin de conmutacin de circuitos) para lograr el mismo
resultado con los impulsos elctricos.

Los circuitos lgicos pueden tambin acompaados de elementos de memoria


para registrar los impulsos elctricos que se pasan durante el proceso de
clculo. En la presencia de elementos del circuito lgico de la memoria se dice
circuito secuencial (circuito de conmutacin secuencial). La combinacin de los
circuitos elctricos determina los circuitos integrados de la ciencia electrnica /
computacin que se basa en la lgica de lacomputadora.

Lenguaje Binario en Informtica.

La computacin no naci repentinamente en un ao


especfico. Surge de aos de evolucin y desarrollo. La
base de la comunicacin entre distintos dispositivos fue
prcticamente desarrollada a partir del pensamiento de
Gottfried Wilhelm Leibniz (1646-1716) y George Boole
(1815-1864) que descubri los operadores lgicos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 41


FUNDAMENTOS DE PROGRAMACIN

Siendo el operador ms sencillo de comprender y el que se tomar por ejemplo


ser el operador Not.

Este, recibe generalmente el nombre de negacin, porque entrega el valor


contrario al que recibe por su entrada. Si en su entrada hay un uno, en su
salida habr un cero y si hay un cero en su entrada, su salida tendr un uno, es
decir entrega el valor contrario al que recibe. En electrnica digital a un
operador lgico se lo conoce como una compuerta lgica.

El sistema binario es un sistema de numeracin en el que los nmeros se


representan utilizando las cifras cero y uno, esto es infomtica tiene mucha
importancia ya que las computadoras trabajan internamente con 2 niveles de
voltaje lo que hace que su sistema de numeracin natural sea binario, por
ejemplo 1 para encendido y 0 para apagado.

Todas aquellas personas que se dedican a la informtica es fundamental tener


hablidad con este tipo de numeracin. En este artculo voy a explicar un poco
cmo se utiliza y en que consiste el sistema binario.

En binario, tan slo existen dos dgitos, el cero y el uno. Hablamos, por tanto,
de un sistema en base dos, en el que 2 es el peso relativo de cada cifra
respecto de la que se encuentra a la derecha. Es decir:

An, An-1, .., A5, A4, A3, A2, A1, A0

El subndice n indica el peso relativo (2n) La forma de contar es anloga a


todos los sistemas de numeracin, incluido el nuestro, se van generando
nmeros con la combinacin progresiva de todos los digitos. En base 10
(sistema decimal), cuando llegamos al 9, seguimos con una cifra ms, pero
comenzando desde el principio: 9,10,11 en binario sera:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 42


FUNDAMENTOS DE PROGRAMACIN

0, 1 (cero y uno)
10, 11 (dos y tres)
100, 101, 110, 111 (cuatro, cinco, seis y siete)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (del ocho al quince)
10000, 10001, 10010, 10011, 10100.

Ya sabemos contar pero si nos dan un nmero muy grande en binario


como sabramos qu nmero es contar hasta que lleguemos a ese nmero?
Bien, para eso utilizaremos el siguiente mtodo: multiplicaremos cada dgito por
su peso y sumaremos todos los valores. Por ejemplo, dado el nmero en
binario 11110100101:
1 1 1 1 0 1 0 0 1 0 1 Nmero binario
10 9 8 7 6 5 4 3 2 1 0 Posicin peso
1210 + 129 + 128 + 127 + 026 + 125 + 024 + 023 + 122 + 021 +
120
=
1024 + 512 + 256 + 128 + 0 + 32 + 0 + 4 + 1 = 1957

Como podemos ver todo se basa en potencias de dos. Para mayor soltura,
tendremos que aprendernos de memoria las potencias de 2, al menos hasta
210 = 1024. Adems, cuando ya estemos familiarizados, podremos realizar el
paso anterior de memoria, sin desglosar todas las multiplicaciones y sumas,
simplemente con un clculo de cabeza.

No se termina ah la cosa. Debemos aprender tambin a pasar nmeros en


decimal a binario. Para ello, dividiremos sucesivamente por dos y anotaremos
los restos. El nmero en binario ser el ltimo cociente seguido de todos los
restos en orden ascendente (de abajo a arriba). Es decir:

1957 / 2 = 978 Resto: 1


978 / 2 = 489 Resto: 0
489 / 2 = 244 Resto: 1
244 / 2 = 122 Resto: 0
122 / 2 = 61 Resto: 0
61 / 2 = 30 Resto: 1
30 / 2 = 15 Resto: 0
15 / 2 = 7 Resto: 1
7 / 2 = 3 Resto: 1
3 / 2 = 1 Resto: 1

Observar que sale como nmero: 11110100101


Ahora bien, y para pasar a ambos sistemas si el nmero no es entero? La
solucin consiste en hacer las cuentas por separado. Si tenemos 1957.8125,
por un lado pasaremos el 1957 a binario como ya hemos aprendido. Por otro,

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 43


FUNDAMENTOS DE PROGRAMACIN

tomaremos la parte fraccionaria, 0,8125, y la multiplicaremos sucesivamente


por 2, hasta que el producto sea 1. Tomaremos la parte entera de cada
multiplicacin, de forma descendente (de arriba a abajo, o del primero al
ltimo):

0.8125 x 2 = 1.625 Parte Entera: 1


0.625 x 2 = 1.25 Parte Entera: 1
0.25 x 2 = 0.5 Parte Entera: 0
0.5 x 2 = 1 Parte Entera: 1

El cambio de binario a decimal se realizar igual que con la parte entera,


teniendo en cuenta que su peso ser 2-1, 2-2, 2-3, 2-4 comenzando por el
primer dgito despus de la coma:

1 1 1 1 0 1 0 0 1 0 1 . 1 1 0 1 Nmero binario
10 9 8 7 6 5 4 3 2 1 0 . -1 -2 -3 -4 Posicin peso
1210 + 129 + 128 + 127 + 026 + 125 + 024 + 023 + 122 + 021 +
120 + + 12-1 + 12-2 + 02-3 + 12-4
=
1024 + 512 + 256 + 128 + 0 + 32 + 0 + 4 + 1 + + 0.5 + 0.25 + 0 + 0.0625
=
1957.8125

Recuerda el uso de las tarjetas perforadas


usadas por el obrero textil? Recuerda que
mencion anteriormente a la primera
programadora que hacia sus programas
perforando tarjetas? En la tarjeta perforada
solo haba dos estados: agujereado o
liso, en el binario ocurre lo mismo, la
diferencia es que ahora en vez de usar una
plantilla de madera o metal perforada,
usamos cables (o lneas de conduccin) y lo que seria agujereado o liso
ahora es un uno o cero representado por una variaciones de la tensin
transportada en los cables o lneas conductoras segn corresponda.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 44


FUNDAMENTOS DE PROGRAMACIN

Aplicar la metodologa de programacin.

Una metodologa de programacin es un conjunto o sistema de mtodos,


principios y reglas que permiten enfrentar de manera sistemtica el desarrollo
de un programa que resuelve un problema algortmico. Estas metodologas
generalmente se estructuran como una secuencia de pasos que parten de la
definicin del problema y culminan con un programa que lo resuelve.

A continuacin se presenta de manera general los pasos de una metodologa:

El Dilogo Con la cual se busca comprender totalmente el


problema a resolver.

La Especificacin Con la cual se establece de manera precisa las


entradas, salidas y las condiciones que deben cumplir.

Diseo En esta etapa se construye un algoritmo que cumpla


con la especificacin.

Codificacin Se traduce el algoritmo a un lenguaje de


programacin.

Prueba y Verificacin Se realizan pruebas del programa implementado para


determinar su validez en la resolucin del problema.

DILOGO.

En el primer paso en el proceso de solucin a un problema se debe determinar


de manera clara y concisa la siguiente informacin:

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos


informacin total o parcial til en la bsqueda de los objetos desconocidos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 45


FUNDAMENTOS DE PROGRAMACIN

2. Las condiciones, aquellas relaciones establecidas entre los objetos


conocidos y los desconocidos. Para esto se deben encontrar entre otras, la
dependencia entre los valores de los objetos desconocidos de los valores de
los objetos conocidos y que restricciones le impone el planteamiento del
problema a dichos objetos.

3. Los valores posibles que pueden tomar los objetos desconocidos.

Ejemplo. Sean los puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar
un segmento de recta perpendicular a la anterior que pase por el punto medio
de los puntos dados.

OBJETOS DESCONOCIDOS Un segmento de recta.

OBJETOS CONOCIDOS Los puntos P y Q.

CONDICIONES El segmento de recta debe pasar por el punto


medio entre P y Q, y debe ser perpendicular a
la recta trazada entre P y Q.

ESPECIFICACIN DE ALGORITMOS.

Despus de entender totalmente el problema a resolver (lo cual se consigue


con la etapa del dilogo), se debe realizar una especificacin del algoritmo que
permite encontrar su solucin. Un algoritmo que no est claramente
especificado puede ser interpretado de diferentes maneras y al disearlo se
puede terminar con un algoritmo que no sirve para solucionar el problema.

La especificacin de un algoritmo se hace mediante una descripcin clara y


precisa de:
1. Las entradas que el algoritmo recibir.
2. Las salidas que el algoritmo proporcionar.
3. La dependencia que mantendrn las salidas obtenidas con las entradas
recibidas.

Esta descripcin puede ser presentada mediante un diagrama de caja negra


como el de la siguiente figura:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 46


FUNDAMENTOS DE PROGRAMACIN

PASOS PARA LA ESPECIFICACIN DE ALGORITMOS.


Especificar Entradas
Las entradas corresponden a los objetos conocidos. Se debe indicar
claramente la descripcin, cantidad y tipo de las mismas.

Especificar Salidas
Las salidas corresponden a los objetos desconocidos del problema. Se debe
indicar claramente la cantidad, descripcin y tipo de las mismas.

Especificar Condiciones
Se describe claramente como dependen las salidas de las entradas, se puede
usar lenguaje matemtico o informal.

EJEMPLOS DE ESPECIFICACIN.

PROBLEMA 1: Construir un algoritmo que calcule el promedio de 4 notas.

Entradas
N1,N2,N3,N4 (notas parciales) de tipo Real.

Salidas
Final (nota final) de tipo Real.

Condiciones

DISEO ESTRUCTURADO DE ALGORITMOS.

La fase de diseo del algoritmo, es decir, la fase en la que se construye el


algoritmo que permitir encontrar la solucin al problema, est dividida en dos
pasos importantes:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 47


FUNDAMENTOS DE PROGRAMACIN

Divisin: En el que a partir de la especificacin del algoritmo se divide el


proceso (algoritmo en abstracto) en varios subprocesos hasta llegar al nivel de
instruccin.

Abstraccin: En el que se revisa que porciones del algoritmo se repiten o son


muy utilizadas y con las cuales se construyen funciones y/o procedimientos.

DIVISIN
Consiste en subdividir de manera sistemtica el proceso en una coleccin de
pasos ms pequeos. Est subdivisin se realiza de manera repetida hasta
llegar al nivel de instruccin.

DEFINICIN DE ABSTRACCIONES.

Identificar que secuencias de pasos se utilizan ms de una vez en diferentes


partes del proceso.
Recolectar estas secuencias de pasos en funciones y procedimientos segn
sea el caso.
Documentar cada funcin y procedimiento especificando claramente:
El propsito de la funcin (o procedimiento).
El nombre, tipo y propsito de cada argumento.
El resultado (o efectos laterales).

CODIFICACIN.
Cuando ya se ha diseado completamente el algoritmo y se tiene escrito en
algn esquema de representacin (pseudo-cdigo o diagrama de flujo), el
siguiente paso es codificarlo en el lenguaje de programacin definido para tal
fin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 48


FUNDAMENTOS DE PROGRAMACIN

En este momento es cuando el programador interactua con el computador


mediante la herramienta de software que disponga para codificar en el lenguaje
seleccionado.

PRUEBAS DE ESCRITORIO.
La prueba de escritorio es una herramienta til para entender que hace un
determinado algoritmo, o para verificar que un algoritmo cumple con la
especificacin sin necesidad de ejecutarlo.

Bsicamente, una prueba de escritorio es una ejecucin a mano del algoritmo,


por lo tanto se debe llevar registro de los valores que va tomando cada una de
las variables involucradas en el mismo.

Clasificar los lenguajes de programacin y programas traductores.

Un lenguaje de programacin es un lenguaje inventado para controlar una


mquina, (normalmente, un ordenador). Hay muchsimos, de toda clase de
tipos y caractersticas, inventados para facilitar el abordaje de distintos
problemas, el mantenimiento del software, su reutilizacin, mejorar la
productividad, etc.
Los lenguajes de programacin se pueden clasificar segn varios criterios. He
encontrado doce en total: Nivel de abstraccin, propsito, evolucin histrica,
manera de ejecutarse, manera de abordar la tarea a realizar, paradigma de
programacin, lugar de ejecucin, concurrencia, interactividad, realizacin
visual, determinismo y productividad.
Hay que tener en cuenta tambin, que en la prctica, la mayora de lenguajes
no pueden ser puramente clasificados en una categora, pues surgen
incorporando ideas de otros lenguajes y de otras filosofas de programacin,
pero no importa al establecer las clasificaciones, pues el autntico objetivo de
las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que
hay.

1. Nivel de abstraccin.
Segn el nivel de abstraccin, o sea, segn el grado de cercana a la mquina:
Lenguajes de bajo nivel: La programacin se realiza teniendo muy en cuenta
las caractersticas del procesador. Ejemplo: Lenguajes ensamblador.
Lenguajes de nivel medio: Permiten un mayor grado de abstraccin pero al
mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 49


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: C puede realizar operaciones lgicas y de desplazamiento con bits,


tratar todos los tipos de datos como lo que son en realidad a bajo nivel
(nmeros), etc.

Lenguajes de alto nivel: Ms parecidos al lenguaje humano. Manejan


conceptos, tipos de datos, etc., de una manera cercana al pensamiento
humano ignorando (abstrayndose) del funcionamiento de la mquina.
Ejemplos: Java, Ruby.

Hay quien slo considera lenguajes de bajo nivel y de alto nivel, (en ese caso,
C es considerado de alto nivel).

2. Propsito.
Segn el propsito, es decir, el tipo de problemas a tratar con ellos:

Lenguajes de propsito general: Aptos para todo tipo de tareas: Ejemplo: C.


Lenguajes de propsito especfico: Hechos para un objetivo muy concreto.
Ejemplo: Csound (para crear ficheros de audio).
Lenguajes de programacin de sistemas: Diseados para realizar sistemas
operativos o drivers. Ejemplo: C.
Lenguajes de script: Para realizar tareas varias de control y auxiliares.
Antiguamente eran los llamados lenguajes de procesamiento por lotes
(batch) o JCL (Job Control Languages). Se subdividen en varias clases (de
shell, de GUI, de programacin web, etc.). Ejemplos: bash (shell), mIRC
script, JavaScript (programacin web).

3. Evolucin histrica.
Con el paso del tiempo, se va incrementando el nivel de abstraccin, pero en la
prctica, los de una generacin no terminan de sustituir a los de la anterior:

Lenguajes de primera generacin (1GL): Cdigo mquina.


Lenguajes de segunda generacin (2GL): Lenguajes ensamblador.
Lenguajes de tercera generacin (3GL): La mayora de los lenguajes
modernos, diseados para facilitar la programacin a los humanos.
Ejemplos: C, Java.
Lenguajes de cuarta generacin (4GL): Diseados con un propsito
concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos:
NATURAL, Mathematica.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 50


FUNDAMENTOS DE PROGRAMACIN

Lenguajes de quinta generacin (5GL): La intencin es que el programador


establezca el qu problema ha de ser resuelto y las condiciones a reunir, y la
mquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.

4. Manera de ejecutarse.
Segn la manera de ejecutarse:

Lenguajes compilados: Un programa traductor traduce el cdigo del


programa (cdigo fuente) en cdigo mquina (cdigo objeto). Otro programa,
el enlazador, unir los ficheros de cdigo objeto del programa principal con
los de las libreras para producir el programa ejecutable. Ejemplo: C.
Lenguajes interpretados: Un programa (intrprete), ejecuta las instrucciones
del programa de manera directa. Ejemplo: Lisp.
Tambin los hay mixtos, como Java, que primero pasan por una fase de
compilacin en la que el cdigo fuente se transforma en bytecode, y este
bytecode puede ser ejecutado luego (interpretado) en ordenadores con
distintas arquitecturas (procesadores) que tengan todos instalados la misma
mquina virtual Java.

5. Manera de abordar la tarea a realizar.


Segn la manera de abordar la tarea a realizar, pueden ser:

Lenguajes imperativos: Indican cmo hay que hacer la tarea, es decir,


expresan los pasos a realizar. Ejemplo: C.
Lenguajes declarativos: Indican qu hay que hacer. Ejemplos: Lisp, Prolog.
Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de
programacin, son HTML (para describir pginas web) o SQL (para consultar
bases de datos).

6. Paradigma de programacin.
El paradigma de programacin es el estilo de programacin empleado. Algunos
lenguajes soportan varios paradigmas, y otros slo uno. Se puede decir que
histricamente han ido apareciendo para facilitar la tarea de programar segn
el tipo de problema a abordar, o para facilitar el mantenimiento del software, o
por otra cuestin similar, por lo que todos corresponden a lenguajes de alto
nivel (o nivel medio), estando los lenguajes ensambladores atados a la
arquitectura de su procesador correspondiente. Los principales son:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 51


FUNDAMENTOS DE PROGRAMACIN

Lenguajes de programacin procedural: Divide el problema en partes ms


pequeas, que sern realizadas por subprogramas (subrutinas, funciones,
procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos:
C, Pascal.
Lenguajes de programacin orientada a objetos: Crean un sistema de clases
y objetos siguiendo el ejemplo del mundo real, en el que unos objetos
realizan acciones y se comunican con otros objetos. Ejemplos: C++, Java.
Lenguajes de programacin funcional: La tarea se realiza evaluando
funciones, (como en Matemticas), de manera recursiva. Ejemplo: Lisp.
Lenguajes de programacin lgica: La tarea a realizar se expresa
empleando lgica formal matemtica. Expresa qu computar. Ejemplo:
Prolog.

Hay muchos paradigmas de programacin: Programacin genrica,


programacin reflexiva, programacin orientada a procesos, etc.

7. Lugar de ejecucin.
En sistemas distribuidos, segn dnde se ejecute:

Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el ms


utilizado en servidores web.
Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript en
navegadores web.

8. Concurrencia.
Segn admitan o no concurrencia de procesos, esto es, la ejecucin simultnea
de varios procesos lanzados por el programa:

Lenguajes concurrentes. Ejemplo: Ada.


Lenguajes no concurrentes. Ejemplo: C.

9. Interactividad.
Segn la interactividad del programa con el usuario u otros programas:

Lenguajes orientados a sucesos: El flujo del programa es controlado por la


interaccin con el usuario o por mensajes de otros programas/sistema

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 52


FUNDAMENTOS DE PROGRAMACIN

operativo, como editores de texto, interfaces grficos de usuario (GUI) o


kernels. Ejemplo: VisualBasic, lenguajes de programacin declarativos.
Lenguajes no orientados a sucesos: El flujo del programa no depende de
sucesos exteriores, sino que se conoce de antemano, siendo los procesos
batch el ejemplo ms claro (actualizaciones de bases de datos, colas de
impresin de documentos, etc.). Ejemplos: Lenguajes de programacin
imperativos.

10. Realizacin visual.


Segn la realizacin visual o no del programa:

Lenguajes de programacin visual: El programa se realiza moviendo bloques


de construccin de programas (objetos visuales) en un interfaz adecuado
para ello. No confundir con entornos de programacin visual, como Microsoft
Visual Studio y sus lenguajes de programacin textuales (como Visual C#).
Ejemplo: Mindscript.
Lenguajes de programacin textual: El cdigo del programa se realiza
escribindolo. Ejemplos: C, Java, Lisp.

11. Determinismo.
Segn se pueda predecir o no el siguiente estado del programa a partir del
estado actual:

Lenguajes deterministas. Ejemplos: Todos los anteriores.


Lenguajes probabilsticos o no deterministas: Sirven para explorar grandes
espacios de bsqueda, (como gramticas), y en la investigacin terica de
hipercomputacin. Ejemplo: mutt (generador de texto aleatorio).

12. Productividad.
Segn se caractericen por tener virtudes tiles o productivas, u oscuras y
enrevesadas:

Lenguajes tiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez,


claridad, productividad, etc., motiva que sean utilizados en empresas,
administraciones pblicas y/o en la enseanza. Ejemplos: Cualquier lenguaje
de uso habitual (C, Java, C++, Lisp, Python, Ruby,).

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 53


FUNDAMENTOS DE PROGRAMACIN

Lenguajes esotricos o exticos: Inventados con la intencin de ser los ms


raros, oscuros, difciles, simples y/o retorcidos de los lenguajes, para
diversin y entretenimiento de frikis programadores. A veces exploran
nuevas ideas en programacin. Ejemplo: Brainfuck.

Ejercicios y tareas de investigacin

1. Cules son los requisitos para ser un buen programador?


2. En que consiste el lenguaje binario? Haga un ejemplo.
3. Que lenguajes de programacin conoce y a que categora pertenecen.
4. Explique que es un compilador y para que sirve.
5. Qu es el cdigo fuente de un sistema?

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 54


FUNDAMENTOS DE PROGRAMACIN

02
TAREA 02: ANALIZAR LA ESTRUCTURA GENERAL DE UN
PROGRAMA.

En esta tarea trataremos las siguientes operaciones:


Definir el concepto y partes de un programa.
Elaborar la documentacin de un programa.

" Un fracaso es slo una cicatriz, un mapa hacia la


victoria.... ANONIMO.

EQUIPOS Y MATERIALES:
Computadora con microprocesadores core 2 Duo de mayor capacidad.
Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

Orden de Ejecucin:
Definir el concepto y partes de un programa.
Elaborar la documentacin de un programa.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 55


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
DEFINIR EL CONCEPTO Y PARTES DE UN PROGRAMA.
Desde la perspectiva de la informtica, un programa de
aplicacin consiste en una clase de software que se
disea con el fin de que para el usuario sea ms
sencilla la concrecin de un determinado trabajo. Esta
particularidad lo distingue del resto de los programas,
entre los cuales se pueden citar a los sistemas
operativos (que son los que permiten el funcionamiento
de la computadora), los lenguajes de programacin
(aquellos que dan las herramientas necesarias para desarrollar los programas
informticos en general) y las utilidades (pensadas para realizar acciones de
mantenimiento y tareas generales).

Programa de aplicacinEl software es el elemento intangible y lgico que forma


parte de una computadora. El hardware, en cambio, es el componente material
y fsico. Se dice que los sistemas operativos constituyen el lazo que une al
software con el hardware.

Los procesadores de texto, las hojas de clculo y las bases de datos forman
parte de los denominados programas de aplicacin. Esto demuestra que las
aplicaciones informticas sirven para automatizar tareas como la contabilidad o
la redaccin de textos.

En el caso de los procesadores podemos destacar a Microsoft Word, que es el


ms utilizado actualmente en todo el mundo y que se caracteriza o define
porque le ofrece la posibilidad al usuario de llevar a cabo la creacin, diseo e
impresin de documentos textuales de diversa tipologa como pueden ser
informes, cartas, redacciones

Microsoft Excel, por su parte, es el programa de aplicacin ms extendido en


materia de hojas de clculo. En multitud de empresas de distinta ndole, y
tambin a nivel personal, se opta por hacer uso de dicho software que se utiliza
frecuentemente en lo que son labores de tipo contable y financiero.

En materia de las bases de datos, hay que


destacar como programacin de aplicacin a
Access que est diseado tanto para poder
trabajar con aquellas en el mbito profesional

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 56


FUNDAMENTOS DE PROGRAMACIN

como en el ms personal. Gracias al mismo se pueden desarrollar desde tablas


para guardar los datos pertinentes hasta consultas para recuperar cierta
informacin pasando por formularios para actualizar aquellos o los informes
que se utilizan para llevar a cabo la impresin de los datos que se estimen
oportunos.

No obstante, no podemos pasar por alto que estos tres programas,


pertenecientes a Microsoft, tienen un importante rival desde hace algn tiempo:
OpenOffice. Y es que es una llamada suite informtica de tipo libre que
cuenta con una serie de aplicaciones que permiten realizar las mismas tareas
que aquellos nos ofrecen.

En concreto los rivales seran OpenOffice Writer como procesador de textos,


OpenOffice Calc como hojas de clculo y OpenOffice Base que funciona como
base de datos.

En ocasiones, los programas de aplicacin son diseados a medida, es decir,


segn las necesidades y pretensiones de cada usuario. Por eso, el software
permite resolver dificultades especficas. En otros casos, se trata de paquetes
integrados que solucionan problemas generales e incluyen mltiples
aplicaciones. Por ejemplo, un paquete de oficina combina aplicaciones como
procesadores de textos y hojas de clculo.

Cabe destacar que el paquete o suite de oficina ms popular a escala


internacional es Office, un producto impulsado por Microsoft. Esta compaa,
fundada en 1975 por Bill Gates y Paul Allen, es la firma de software ms
grande del mundo. Su actividad no se agota en los programas de aplicacin,
sino que la empresa tambin desarrolla el sistema operativo ms popular:
Windows.

Elaborar la documentacin de un programa.


El fin de documentar el cdigo de un programa es simplemente hacer que los
dems entiendan que est haciendo el programa o porque lo hace, y no que
nada ms la computadora entienda el cdigo.
Qu debemos documentar?
De que se encarga tal clase?
Qu hace tal mtodo?
El uso de algunas variables importantes.
El algoritmo que estamos usando.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 57


FUNDAMENTOS DE PROGRAMACIN

Limitaciones del programa.

El hablar de los tipos de comentarios depende mucho del lenguaje de


programacin que estes usando.

Una lnea de cdigo


//
Javadoc
/** varias lneas de cdigo
Tipo c
/*

Manuales tcnicos o manuales de mantenimiento.


Esta documentacin esta destinada a los
programadores y ayuda de referencia para dar
manteminiento a un sistema dentro de su vida
til. Los tipos de documentacin dentro de estos
manuales son internas y externas. La
documentacin Interna: se refiere a los
comentarios que encontramos dentro del
programa fuente (detalles significativos de un
programador). La documentacin Externa: se refiere a toda aquella informacin
que se encuentra independiente del programa por ejemplo manuales impresos
que se otorga junto con el programa aqu es dond se describen todas las
caractersticas tcnicas del programa y su funcionamiento.

Manual del Usuario.


Este manual no es ms que un documento que le
indica o le ayuda al usuario a conocer, utilizar y
operar de una manera correcta el sistema o
programa que se ha desarrollado, se describen los
objetivos y caractersticas externas.

FUNDAMENTO TERICO:

Definir el concepto y partes de un programa.


Definicin de Programa.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 58


FUNDAMENTOS DE PROGRAMACIN

Siendo la base de los ordenadores y lo que es la


informtica en s, muchos conocemos de que para
poder utilizar un equipo debemos contar con un
Programa que nos permite realizar una funcin
determinada dentro de un sistema, pero quiz muy
pocos puedan definir exactamente en qu consiste
uno de estos, por lo que a continuacin daremos un
breve resea de los mismos.

Definimos entonces como Programa a un conjunto de instructivos que son


impartidos hacia el Ordenador indicando las instrucciones que incluyen el paso
por paso para poder llegar a un resultado determinado, debiendo para ello
tener una organizacin especfica y seguir los pasos de una estructura,
teniendo entonces predefinidas una serie de acciones que son seguidas para
obtener el resultado esperado.

La planificacin de los Programas se lleva en forma bastante similar a lo que es


un Mtodo Cientfico, teniendo como punto de partida el establecimiento de una
Problemtica determinada que ste tender a solucionar, lo que es justamente
el inicio de toda planificacin y contando con distintos mtodos de trabajo.

La derivacin de este inicio dar lugar a un Algoritmo,


que permitir generar entonces una serie de Pasos
Predeterminados que tendr que seguir el ordenador
(es decir, las instrucciones que imparte el programa)
teniendo entonces una Secuencia Lgica que deber
seguirse para poder dar una solucin a la problemtica
inicial.

La elaboracin de un programa hasta este momento est dado entonces por la


utilizacin de un Lenguaje de Alto Nivel, que es el que es entendible por los
usuarios que tengan los conocimientos de programacin determinados, y que
sigue entonces distintas Reglas y Condiciones que son impuestas por la
aplicacin que se utiliza para la tarea de programacin.

La prueba del Algoritmo se realiza mediante la tarea de verificacin que


conlleva posteriormente a la Compilacin, que consiste en la traduccin del
Cdigo Fuente (es decir, el mencionado anteriormente entendible por los
usuarios) hacia la realizacin de un Cdigo Objeto que es el que est en
Lenguaje de Bajo Nivel, solamente entendido por el ordenador y sus distintos
dispositivos, y que emplea justamente el Cdigo Binario de ceros y unos, es
decir, la transmisin o no-transmisin de impulsos elctricos, que permite la
conexin mediante el circuito electrnico cerrado que es el sistema operativo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 59


FUNDAMENTOS DE PROGRAMACIN

Debemos pensar entonces que un Programa no solo puede contar con un


proceso o un algoritmo determinado, ni que puede cumplir solamente una
funcin, sino que puede contener una muy alta complejidad de Soluciones a
distintas problemticas que hayan sido planteadas.

Funcionamiento.

El comportamiento de un programa depende del tipo de lenguaje usado para


escribirlo. En cualquier caso, casi todos los lenguajes de programacin se
basan en el mismo principio: el programa consiste en un conjunto de comandos
que el equipo debe ejecutar.

El equipo ejecuta los comandos a medida que va leyendo el archivo (de arriba
hacia abajo) hasta que alcanza un comando (al que a menudo se hace
referencia como un comando ramificado) que ordena al equipo ir a una
ubicacin especfica del programa. En cierto modo, se parece a la bsqueda
del tesoro, donde el equipo debe seguir las pistas y ejecutar los comandos
hasta alcanzar el final del programa y detenerse.

Forma de ejecucin.

Una vez escritos, los programas pueden ser ejecutados de diversas formas:

Mediante un programa que va adaptando las instrucciones conforme son


encontradas. A este proceso se lo llama interpretar y a los programas que lo
hacen se los conoce como intrpretes. Ejemplos de esto son bash, clsico en
estaciones Unix y que fue escrito para el proyecto GNU o Python, cuya
peculiaridad adems de ser multipropsito, est en su facilidad de uso y
productividad y de hecho, es usado en parte de los proyectos Google y
YouTube.

Traduciendo el cdigo escrito del programa (lo que se denomina cdigo


fuente), a su equivalente en lenguaje mquina.

A este proceso se le llama compilar y al programa traductor se le denomina


compilador. Ejemplos de esto son: El lenguaje C, que combina en su sintaxis
caracterstica de medio y bajo nivel y el compilador gcc usado en el proyecto
GNU.

Ejecucin y almacenamiento de los programas informticos.

Tpicamente, los programas se almacenan en una memoria no voltil, para que


luego el usuario de la computadora, directa o indirectamente, solicite su
ejecucin. Al momento de dicha solicitud, el programa es cargado en la

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 60


FUNDAMENTOS DE PROGRAMACIN

memoria de acceso aleatorio o RAM del equipo, bajo el control del software
llamado sistema operativo, el cual puede acceder directamente al procesador.
El procesador ejecuta (corre) el programa, instruccin por instruccin hasta que
termina. A un programa en ejecucin se le suele llamar tambin proceso. Un
programa puede terminar su ejecucin en forma normal o por causa de un
error, dicho error puede ser de software o de hardware.

Tipos de programas.

Programas empotrados en hardware: Algunos programas estn empotrados en


el hardware. Una computadora con arquitectura de programas almacenados
requiere un programa inicial almacenado en su ROM para arrancar. El proceso
de arranque es para identificar e inicializar todos los aspectos del sistema,
desde los registros del procesador, controladores de dispositivos hasta el
contenido de la memoria RAM. Seguido del proceso de inicializacin, este
programa inicial carga al sistema operativo e inicializa al contador de programa
para empezar las operaciones normales. Independiente de la computadora, un
dispositivo de hardware podra tener firmware empotrado para el control de sus
operaciones. El firmware se utiliza cuando se espera que el programa cambie
en raras ocasiones o nunca, o cuando el programa no debe perderse cuando
haya ausencia de energa.

Programas cargados manualmente: Los programas histricamente se


cargaron manualmente al procesador central mediante interruptores. Una
instruccin era representada por una configuracin de estado abierto o cerrado
de los interruptores. Despus de establecer la configuracin, se ejecutaba un
botn de ejecucin. Este proceso era repetitivo. Tambin, histricamente los
programas se cargaban manualmente mediante una cinta de papel o tarjetas
perforadas. Despus de que el programa se cargaba, la direccin de inicio se
estableca mediante interruptores y el botn de ejecucin se presionaba.

Programas generados automticamente: La programacin automtica es un


estilo de programacin que crea cdigo fuente mediante clases genricas,
prototipos, plantillas, aspectos, y generadores de cdigo para aumentar la
productividad del programador. El cdigo fuente se genera con herramientas de
programacin tal como un procesador de plantilla o un IDE. La forma ms
simple de un generador de cdigo fuente es un procesador macro, tal como el
preprocesador de C, que reemplaza patrones de cdigo fuente de acuerdo a
reglas relativamente simples.
Un motor de software da de salida cdigo fuente o lenguaje de marcado que
simultneamente se vuelve la entrada de otro proceso informtico. Podemos
pensar como analoga un proceso manejando a otro siendo el cdigo mquina
quemado como combustible. Los servidores de aplicaciones son motores de
software que entregan aplicaciones a computadoras cliente. Por ejemplo, un

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 61


FUNDAMENTOS DE PROGRAMACIN

software para wikis es un sevidor de aplicaciones que permite a los usuarios


desarrollar contenido dinmico ensamblado a partir de artculos. Las Wikis
generan HTML, CSS, Java, y Javascript los cuales son interpretados por un
navegador web.

Ejecucin simultnea de programas.

Muchos programas pueden correr simultneamente en la misma computadora,


a lo cual se le conoce como multitarea y puede lograrse a travs de
mecanismos de software o de hardware. Los sistemas operativos modernos
pueden correr varios programas a travs del planificador de procesos un
mecanismo de software para conmutar con frecuencia la cantidad de procesos
del procesador de modo que los usuarios puedan interactuar con cada
programa mientras estos estn corriendo.

Tambin se puede lograr la multitarea por medio del hardware; las


computadoras modernas que usan varios procesadores o procesadores con
varios ncleos pueden correr muchos programas a la vez.

Categoras funcionales.

Los programas se pueden categorizar segn lneas funcionales. Estas


categoras funcionales son software de sistema y software de aplicacin. El
software de sistema incluye al sistema operativo el cual acopla el hardware con
el software de aplicacin.

El propsito del sistema operativo es proveer un ambiente en el cual el


software de aplicacin se ejecuta de una manera conveniente y eficiente.
Adems del sistema operativo, el software de sistema incluye programas
utilitarios que ayudan a manejar y configurar la computadora. Si un programa
no es software de sistema entonces es software de aplicacin.

El middleware tambin es un software de aplicacin que acopla el software de


sistema con la interfaz de usuario. Tambin son software de aplicacin los
programas utilitarios que ayudan a los usuarios a resolver problemas de
aplicaciones, como por ejemplo la necesidad de ordenamiento.

Partes de un programa

Entrada y salida de datos Estructura de un programa


Aqu aprenders a comunicarte En esta parte se define el orden en
con el usuario a travs de las el que se escriben, en qu
interfaces de usuario los cuales consisten, cules son obligatorias
tienen unos procedimientos que te y cules no, cmo se relacionan

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 62


FUNDAMENTOS DE PROGRAMACIN

permiten leer y escribir datos en la unas con otras, etc.


salida y entrada estndar
respectivamente.

Sentencias y expresiones Variables y constantes


Los operadores se utilizan para
Constantes: Tienen un valor fijo
construir expresiones que calculan
que se le da cuando se define la
valores; las expresiones son los
constante y que ya no puede ser
componentes centrales de las
modificado durante la ejecucin.
sentencias; las sentencias se
pueden agrupar en bloques.
Variables: El valor puede cambiar
durante la ejecucin del algoritmo,
pero nunca vara su nombre y su
tipo.

Control del flujo Tipos de datos


En esta parte aprender a que sus
Es uno de los conceptos
programas puedan variar el orden
fundamentales de cualquier
de su ejecucin si se cumplen
lenguaje de programacin. Estos
ciertas condiciones (sentencias
definen los mtodos de
selectivas). Y tambin aprender a
almacenamiento disponibles para
repetir algo varias veces
representar informacin, junto con
(sentencias iterativas).
la manera en que dicha
informacin ha de ser interpretada.

Para crear una variable (de un tipo


simple) en memoria debe
declararse indicando su tipo de
variable y su identificador que la
identificar de forma nica.

Programacin modular.
En esta parte se ve como construr pequeos programas
(procedimientos y funciones) que ayuden a solucionar un problema
grande dividindolo en subproblemas

Elaborar la documentacin de un programa.


Un sistema pobremente documentado carece de valor
aunque haya funcionado bien en alguna ocasin. En el
caso de programas pequeos y poco importantes que
slo se utilizan durante un corto periodo de tiempo,
unos cuantos comentarios en el cdigo podran ser
suficientes. No obstante, la mayora de los programas
cuya nica documentacin es el cdigo, se quedan
obsoletos rpidamente y es imposible mantenerlos. El

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 63


FUNDAMENTOS DE PROGRAMACIN

que la dedicacin de un poco de esfuerzo a la documentacin sea


recompensada incluso dentro de los lmites de un pequeo proyecto, constituye
una sorpresa para la mayora de los novatos.

A menos que usted sea infalible y viva en un mundo en el que nada cambia,
tendr que volver a consultar el cdigo que ya est escrito, y pondr en duda
decisiones que tom durante el desarrollo del mismo. Si no documenta sus
decisiones, se ver siempre cometiendo los mismos errores y tratando de
comprender lo que pudo haber descrito fcilmente en una ocasin. La falta de
documentacin no slo genera trabajo adicional, sino que tambin tiende a
daar la calidad del cdigo. Si no posee una ntida caracterizacin del
problema, es imposible que desarrolle una solucin clara.

Aprender a documentar software es una tarea complicada


y exige un criterio de ingeniera maduro. Documentar de
forma concisa es un error habitual, pero el otro extremo
puede resultar igual de perjudicial: si escribe
documentaciones extensas, stas atosigarn al lector y
constituirn una carga a la hora de conservarlas. Es
esencial documentar slo los asuntos correctos. La
documentacin no sirve de ayuda para nadie si su
extensin desanima a la gente a la hora de leerla.

Los principiantes tienen la tentacin de centrar sus esfuerzos en temas


sencillos, ya que stos les resultan ms fciles de documentar. Esto es una
prdida de tiempo; no se aprende nada del esfuerzo y se termina escribiendo
una documentacin que es cualquier cosa excepto til. Los principiantes
tambin tienden a mostrarse reacios con los problemas de documentacin.
Esto trae consigo poca visin de futuro: si usted sabe que algn aspecto de su
diseo no es del todo correcto, que alguna parte del problema no se ha
aclarado o que es posible que parte del cdigo tenga errores, dgalo! Har que
el lector ahorre tiempo dndole vueltas a algo que aparentemente es errneo,
se acordar de dnde tiene que mirar si encuentra problemas y acabar
teniendo una documentacin ms til y honesta.

Otro asunto es cundo documentar. Aunque algunas


veces es conveniente posponer la tarea de la
documentacin mientras se realizan experimentos, los
programadores con experiencia suelen documentar de
forma metdica incluso el cdigo provisional, los anlisis
de un problema inicial y los borradores de un diseo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 64


FUNDAMENTOS DE PROGRAMACIN

Ellos creen que esto hace que la experimentacin sea ms productiva.


Adems, dado que han tomado la documentacin como hbito, les resulta
normal documentar a medida que van avanzando.

La documentacin se integra de todos los elementos que explican las


caractersticas de un programa o sistema, y son necesarios para poder
utilizarlo, operarlo o modificarlo. Documentar es una tarea tan necesaria e
importante como escribir el cdigo: el cdigo indica cmo funciona el programa,
y la documentacin indica porqu lo hace. El responsable de un proyecto no
debe permitir que se entreguen sistemas sin documentacin.
Cuando un programa es pequeo el programador generalmente puede retener
en la mente todos los detalles (al menos por algn tiempo), por lo cual no
necesita de documentacin. En el caso de programas amplios se vuelve
imposible recordar cmo se relaciona cada detalle con los dems. Si adems
se considera que posteriormente el programa tendr que ser modificado, se
apreciar que el propsito del cdigo de un programador no es solamente
instruir a un dispositivo electrnico sobre cmo solucionar un problema, sino
informar a los futuros programadores sobre cmo fue resuelto el problema.
Pero la documentacin no slo es para los
programadores, tambin los usuarios de los
programas necesitan de ayuda para operarlo; e
incluso el comprador requiere de material que le
permita evaluarla compra. Hacer que la
documentacin sea concisa y descriptiva a la
vez. Ser congruente en todos los programas. El
tiempo de lectura de los programas es mucho
ms largo que el de escritura. Si el proyecto es
pequeo, puede ser suficiente con recopilar toda
la documentacin en un archivo e integrarlo con los dems archivos del
programa.

MANUAL TCNICO O DE MANTENIMIENTO:.


Es la documentacin destinada a los programadores y sirve de referencia para
darle mantenimiento a un sistema durante su vida til. Tiene dos niveles:
Interna y Externa. Documentacin interna: Son los comentarios que se
encuentran dentro del programa fuente, y que describen detalles significativos
para un programador. Documentacin externa: Es aquella que se encuentra
independiente del programa fuente. Suele encontrarse en un manual (impreso)
que se proporciona con el programa y describe con profundidad sus
caractersticas tcnicas y funcionamiento.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 65


FUNDAMENTOS DE PROGRAMACIN

Manual del usuario: Es un documento que le indica al usuario (u operador)


conocer, utilizar y operar correctamente el sistema. Describe los objetivos y
opciones del programa, as como sus caractersticas externas. La
documentacin bsica para un programa (o un sistema pequeo). Sin
embargo, si se desarrolla un sistema grande o complejo, cada etapa del
proceso de desarrollo deber ser documentada.

Ejercicios y tareas de investigacin

1. Indique que es un programa informatico para Ud.?


2. Cules son los elementos ms importantes de un programa?
3. Mencione una lista de 10 programas y clasifiquelos.
4. Es importante documentar un programa?, explique.
5. Descargue un software de aplicacin que tenga licencia Free y elabore la
estructura del manual de usuario.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 66


FUNDAMENTOS DE PROGRAMACIN

03
TAREA 03: APLICAR LA LGICA DE PROGRAMACIN.

En esta tarea trataremos las siguientes operaciones:


Definir el concepto de un algoritmo.
Construir algoritmos para resolver casos prcticos.
Elaborar diagramas de flujo.
Construir Pseudocodigos

" El triunfo del verdadero hombre surge de las cenizas del


error..... Pablo Neruda.

EQUIPOS Y MATERIALES:

Computadora con microprocesadores core 2 Duo de mayor capacidad.


Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:
Definir el concepto de un algoritmo.
Construir algoritmos para resolver casos prcticos.
Elaborar diagramas de flujo.
Construir Pseudocodigos

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 67


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
DEFINIR EL CONCEPTO DE UN ALGORITMO.

DEFINICIN: Un Algoritmo, se puede definir como una secuencia de


instrucciones que representan un modelo de solucin para determinado tipo de
problemas. O bien como un conjunto de instrucciones que realizadas en orden
conducen a obtener la solucin de un problema. Por lo tanto podemos decir
que es un conjunto ordenado y finito de pasos que nos permite solucionar un
problema.

CLASIFICACIN DE ALGORITMOS:

Los algoritmos se pueden clasificar en cuatro tipos:

Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una


computadora. Ejemplo: Frmula aplicada para un clculo de la raz cuadrada
de un valor x.
Algoritmo no computacional: Es un algoritmo que no requiere de una
computadora para ser ejecutado. Ejemplo: Instalacin de un equipo de
sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o
instrucciones no estn involucrados clculos numricos. Ejemplos: Las
instrucciones para desarrollar una actividad fsica, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o
instrucciones involucran clculos numricos. Ejemplo: Solucin de una
ecuacin de segundo grado.

TCNICAS DE REPRESENTACIN: Para la representacin de un algoritmo,


antes de ser convertido a lenguaje de programacin, se utilizan algunos
mtodos de representacin escrita, grfica o matemtica. Los mtodos ms
conocidos son:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 68


FUNDAMENTOS DE PROGRAMACIN

Diagramacin libre (Diagramas de flujo).


Diagramas Nassi-Shneiderman.
Pseudocdigo.
Lenguaje natural (espaol, ingls, etc.).
Frmulas matemticas.

SMBOLOS O FIGURAS DEL DIAGRAMA DE FLUJO Y SU


SIGNIFICADO

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 69


FUNDAMENTOS DE PROGRAMACIN

Al disear un algoritmo se debe tener presente las caractersticas de precisin,


definicin y finitud.

Visualicemos estas caractersticas a travs del siguiente ejemplo:

Ejemplo: Algoritmo para hacer una torta

Entrada: Harina de trigo, mantequilla, huevos, sal, azcar

Proceso:
1.- Unir la mantequilla con el azcar
2.- Batir hasta lograr consistencia cremosa
3.- Agregar harina de trigo, huevos, sal y azcar
4.- Batir hasta que esponje
5.- Precalentar el horno, en 250 , y enmantequillar tortera
6.- Una vez logre la consistencia de esponjado, colocar en la tortera
7.- Introducir en el horno por espacio de 45 minutos

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 70


FUNDAMENTOS DE PROGRAMACIN

Salida:
Torta
Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada,
Proceso y Salida.

Segn el ejercicio anterior, se puede determinar que el algoritmo para hacer


torta, cumple con las caractersticas fundamentales de los algoritmos. Es decir,
Es preciso?, Es definido?, Es finito?, razona tus respuestas.

OPERACIN:
CONSTRUIR ALGORITMOS PARA RESOLVER CASOS PRCTICOS.

Ejemplos de algoritmos de estudio.

Pasos para lograr una carrera universitaria:

Primero debers realizar lo siguiente:

A la edad de 3 aos iniciar el preescolar y concluirlo,


a los 6 aos iniciaras el nivel primaria que durar 6 aos, del cual egresaras a
la edad 12 aos,
por lo que posteriormente debers matricularte en el nivel secundaria
y ah durars 5 aos, y posteriormente la universidad en la cual estudiars
durante 5 aos ms, para que en los ultimos aos identifiques con cual carrera
universitaria te identificas y ser tu preparacin ser un futuro profesionista.

Ejemplos de algoritmos matemticos.

Pasos para realizar la suma de dgitos y obtener el total.

Se tiene que hacer el siguiente algoritmo:

Tener 1 dgito ms (+) otro dgito y obtener el total (=).


250 + 250 = 500
De esa forma se sigue un algoritmo sumatoria para lograr el resultado.

Ejemplos de algoritmos de uso de computadora.

Ejemplos de algoritmos variados.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 71


FUNDAMENTOS DE PROGRAMACIN

Pasos para manejar o usar una computadora.

Se tiene que encender previamente conectando el cable en el enchufe.


Oprimir el botn de la pc, de encendido.
Oprimir el botn de encendido del monitor.
Esperar que inicie el sistema operativo windows.
Tener ya conectado el teclado y el mouse.
Y listo para iniciar a trabajar en su computadora o navegar por internet

Pasos para desarrollar el algoritmo para lavarse las manos.

INICIO
Abrir el grifo de agua.

Mojarse las manos.

Aplicarse jabn.

Enjuagarse las manos.

Cerrar el grifo de agua.

Secarse las manos con papel.

Exponer las manos a corriente de aire caliente.

FIN

Pasos para desarrollar el algoritmo para cambiar la llanta de un auto.

INICIO.
levantar el auto con la gata.

soltar y sacar los pernos de la llanta.

quitar la llanta.

colocar llanta de repuesto.

colocar y apretar los pernos.

bajar la gata.

FIN

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 72


FUNDAMENTOS DE PROGRAMACIN

Desarrollar el algoritmo para el siguiente problema:


PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y
debe ir a la universidad (a tomar la clase de programacin!!), qu
debe haga el estudiante?

Inicio
Dormir
haga 1 hasta que suene el despertador (o lo llame la mam).
Mirar la hora.
Hay tiempo suficiente?
Si hay, entonces
Baarse.
Vestirse.
Desayunar.
Sino,
Vestirse.
Cepillarse los dientes.
Despedirse de la mam y el pap.
Hay tiempo suficiente?
Si, Caminar al paradero.
Sino, Correr al paradero.
Hasta que pase un bus para la universidad haga :
Esperar el bus
Ver a las dems personas que esperan un bus.
Tomar el bus.
Mientras no llegue a la universidad haga :
Seguir en el bus.
Pelear mentalmente con el conductor.
Timbrar.
Bajarse.
Entrar a la universidad.
Fin

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 73


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
ELABORAR DIAGRAMAS DE FLUJO.

Pasos para elaborar un diagrama de flujo para encontrar el area de un


triangulo.

Pasos para elaborar un diagrama de flujo para encontrar promedio de tres


calificaciones.

Pseudocodigo

1.- Inicio
2.- Calificacion1 0, Calificacion20, Calificacion30, Promedio0
3.- Leer Dame Calificacin 1: , Calificacion1
4.- Leer Dame Calificacin 2: , Calificacion2
5.- Leer Dame Calificacin 3: , Calificacion3
6.- Promedio(Calificacion1+Calificacion2+Calificacion3)/3
7.- Imprimir El Promedio es: Promedio
8.- Fin

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 74


FUNDAMENTOS DE PROGRAMACIN

El diagrama de flujo o diagrama de actividades es la representacin grfica del


algoritmo o proceso. Se utiliza en disciplinas como programacin, economa,
procesos industriales y psicologa cognitiva.

En Lenguaje Unificado de Modelado (UML), un diagrama de actividades


representa los flujos de trabajo paso a paso de negocio y operacionales de los
componentes en un sistema. Un diagrama de actividades muestra el flujo de
control general.

Tipos de diagramas de flujo

Formato vertical: En l, el flujo y la secuencia de las operaciones, va de arriba


hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda
la informacin que se considere necesaria, segn su propsito.

Formato horizontal: En l, el flujo o la secuencia de las operaciones, va de


izquierda a derecha.
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 75
FUNDAMENTOS DE PROGRAMACIN

Formato panormico: El proceso entero est representado en una sola carta


y puede apreciarse de una sola mirada mucho ms rpido que leyendo el texto,
lo que facilita su comprensin, aun para personas no familiarizadas. Registra
no solo en lnea vertical, sino tambin horizontal, distintas acciones simultneas
y la participacin de ms de un puesto o departamento que el formato vertical
no registra.

Formato Arquitectnico: Describe el itinerario de ruta de una forma o persona


sobre el plano arquitectnico del rea de trabajo. El primero de los flujogramas
es eminentemente descriptivo, mientras que los utilizados son
fundamentalmente representativos.

Pasos para crear el diagrama de flujo que proporcione el precio medio de


un producto a partir del precio en tres establecimientos distintos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 76


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
CONSTRUIR PSEUDOCODIGOS.

Pasos para desarrollar un pseudocodigo que permita leer dos valores


distintos, determinar cual de los dos valores es el mayor y escribirlo.

Pseudocdigo Diagrama de Flujo


1. Inicio
2. Inicializar variables: A = 0,
B=0

3. Solicitar la introduccin de
dos
valores distintos
4. Leer los dos valores

5. Asignarlos a las variables A


yB
6. Si A = B Entonces vuelve a
3
porque los valores deben ser
distintos

7. Si A>B Entonces
Escribir A, Es el mayor
8. De lo contrario: Escribir B,
Es
el mayor
9. Fin_Si
10. Fin

Pasos para desarrollar un Pseudocodigo que permita calcular el area de


un triangulo:

1.- Inicio
2.- Base 0, Altura 0, Area 0
3.- Leer Dame base: , Base
4.- Leer Dame Altura: , Altura
5.- Area (Base*Altura)/2
6.- Imprimir El Area es: , Area
7.- Fin
Pasos para desarrollar un pseudocodigo que permita calcular el promedio
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 77
FUNDAMENTOS DE PROGRAMACIN

de tres calificaciones:

1.- Inicio
2.- Calificacion1 0, Calificacion20, Calificacion30, Promedio0
3.- Leer Dame Calificacin 1: , Calificacion1
4.- Leer Dame Calificacin 2: , Calificacion2
5.- Leer Dame Calificacin 3: , Calificacion3
6.- Promedio(Calificacion1+Calificacion2+Calificacion3)/3
7.- Imprimir El Promedio es: Promedio
8.- Fin

Pasos para desarrollar el siguiente caso utilizando pseudocodigo:

Desarrolle un algoritmo que permita leer tres valores y almacenarlos en


las variables A, B y C respectivamente. El algoritmo debe imprimir cual es
el mayor y cual es el menor. Recuerde constatar que los tres valores
introducidos por el teclado sean valores distintos. Presente un mensaje
de alerta en caso de que se detecte la introduccin de valores iguales.

Pseudocdigo Diagrama de Flujo


1. Inicio
2. Inicializar las
variables A, B y C
3. Leer los tres valores
4. Almacenar en las
variables A, B
yC
5. Si A > B y A > C
Entonces
6. Escribir A Es el
mayor
7. Sino
8. Si B > A y B > C
Entonces
9. Escribir B Es el
mayor
10. Sino
11. Escribir C Es el
mayor
12. Fin_Si
13. Fin_Si
14. Fin

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 78


FUNDAMENTOS DE PROGRAMACIN

Pasos para desarrollar un pseudocodigo que que realice la sumatoria de


los nmeros enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 +
. + 10:

Pseudocdigo Diagrama de Flujo


1. Inicio

2. Declaracin de
variables:
N= 0, Suma = 0

3. Asignacin Contador :
N=N+1

4. Asignacin
Acumulador:
Suma = Suma + N

5. Si N = 10 Entonces

6. Escribir Suma

7. De lo contrario,
Repetir desde el
paso 3

8. Fin_Si

8. Fin

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 79


FUNDAMENTOS DE PROGRAMACIN

FUNDAMENTO TERICO:

Definir el concepto de un algoritmo.


Es un conjunto de pasos lgicosordenados, secuencialmente yfinita, escritos de
tal forma quepermiten visualizar la solucin deun problema determinado en
unmomento especfico.

Caractersticas:
Finito: debe tener un fi.
Concreto: Realizar funciones y operaciones.
Legible: Estar bien estructurado.
Eficiente: realizar las operaciones con unmnimo de recursos.
No ambiguo: libre de errores.
Preciso: Indicar un orden para la realizacin decada paso.
Definido: Igual resultado siempre (Si se sigue un algoritmos dos o mas veces
dara el mismo resultado).

Estructura:
Datos.
Procesos.
Estructuras de Control.
ELEMENTOS.
Entradas (variables y constantes) salidas.

Ejemplo: encender un automvil

1. Poner la llave.
2. Asegurarse que el cambio est en neutro.
3. Pisar el acelerador.
4. Girar la llave hasta la posicin arranque.
5. Si el motor arranca antes de 6 seg, dejar lallave en la posicin encendido.
6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como mximo 5
veces).
7. Si el auto no arranca, llamar a la gra.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 80


FUNDAMENTOS DE PROGRAMACIN

Requisitos:
Definir el problema.
Debe estar dentro del contexto.
Debe resolver el problema.
Debe evitar la ambigedad.

El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.

Cambiar un foco quemado podra resumirse en dos pasos:

o Quitar el foco quemado.


o Colocar un foco nuevo.

Pero, si tuviera que entrenar un robot domstico para que efecte esta tarea,
tendr que ser ms especfico y claro en los pasos a seguir, dar mas detalles
(suponga que el foco se encuentra en el techo de una habitacin):

o Situar escalera bajo el foco quemado.


o Elegir un foco de remplazo (de la misma potencia que el anterior).
o Subir por la escalera hasta alcanzar el foco.
o Girar el foco contra las manecillas del reloj hasta que est suelto.
o Ubicar el foco nuevo en el mismo lugar que el anterior.
o Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.
o Bajar de la escalera.

NOTA:
Los algoritmos pueden representarse a travs de un conjunto de palabras por
medio de las cuales se puede representar la lgica de un programa. Este
conjunto de palabras constituyen lo que se conoce como pseudocdigo.
Adems, los algoritmos se pueden representar grficamente a travs de un
diagrama de flujo. Ambas herramientas se describen a continuacin.

Construir algoritmos para resolver casos prcticos.


Elementos para la construccin de un algoritmo.

Definamos algoritmo como un conjunto de pasos conducentes a resolver un


problema, cada uno de esos pasos, corresponde a lo que se denomina en el
programa, una instruccin, aunque pudiera darse que, en una instruccin se
junten dos o ms pasos.

Aprender a realizar un algoritmo se fundamenta en lo que se persigue lograr


con su desarrollo; debido a que no existe un mtodo nico para resolver

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 81


FUNDAMENTOS DE PROGRAMACIN

problemas se estudian diferentes mtodos de resolucin o modelos de


construccin para lograr la generacin del resultado deseado.

Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de


instrucciones o pasos en los que se describe su inicio, desarrollo o proceso y
salida o resultado del algoritmo; elaborados para lograr resolver un problema.

Dado que un algoritmo es un conjunto de instrucciones elaboradas con la


finalidad de resolver un problema, a continuacin se describen los elementos
que se utilizan en la construccin de una instruccin.

Instruccin o sentencia.

Dependiendo del origen del material instruccional se habla de instruccin o


sentencia; sta, define una accin o un mandato que se debe realizar, esa
accin o mandato se representa a travs de un comando o lo que es lo mismo
palabras reservadas de un lenguaje de programacin en particular.

Una instruccin esta compuesta por uno o ms comandos (accin), datos,


smbolos, variables o constantes y expresiones, que en conjunto representan
una instruccin o sentencia.

Ejemplo de instruccin:
En la construccin de los programas se estila utilizar una instruccin por lnea.
As mismo, se utiliza la identacin, que no es ms que la alineacin de aquellas
instrucciones dentro de las estructuras que las contienen de manera ordenada
que permita visualizar el inicio y fin de cada bloque de instrucciones.

Si ASISTIO =SI Entonces


Leer Sueldo,
Asignar Sueldo = Sueldo + HoraExtra
Fin Si

Donde:

SI
Representa una estructura condicional utilizada para establecer preguntas
o programar ciertas condiciones
ASISTIO
Nombre de una Variable lgica que puede obtener slo dos valores SI
o NO. En el ejemplo se programa la condicin de la variables cuando
es SI

ENTONCES

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 82


FUNDAMENTOS DE PROGRAMACIN

Parte de la instruccin o estructura condicional

LEER SUELDO
Instruccin utilizando el comando cuya accin es la lectura de un campo
o dato
Asignar SUELDO=
SUELDO+HORAEXTRA
Instruccin de asignacin, permite asignar o calcular el valor que adquirir
una variable
Fin SI
Cierra la estructura condicional Si Entonces Fin Si

Comandos o palabras reservadas.


Todos los lenguajes, naturales o computacionales, tienen palabras que denotan
una accin. Los comandos no son ms que acciones que debe interpretar y
ejecutar el computador. Cada comando conserva una sintaxis determinada, es
decir la forma de utilizarlo. Los lenguajes computacionales tienen en su
repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos:
Leer, Calcular, Asignar, Clasificar, Imprimir.

Datos.
Los datos son smbolos que se convierten en condiciones, hechos, situaciones
o valores. Un dato puede significar un nmero, una letra, un signo ortogrfico o
cualquier smbolo que represente una cantidad, una medida, una palabra o una
descripcin. La importancia de los datos est en su capacidad de asociarse
dentro de un contexto para convertirse en informacin. Es decir, por si mismos
los datos no tienen capacidad de comunicar un significado y por tanto no
pueden afectar el comportamiento de quien los recibe. Para ser tiles, los datos
deben convertirse en informacin que ofrezca un significado, conocimiento,
ideas o conclusiones.

TIPOS DE DATOS.

Como se describi anteriormente, un dato es un campo que puede convertirse


en informacin. Existen datos simples (sin estructura) y compuestos
(estructurados).

Los datos simples son los siguientes:


- Numricos (Reales, Enteros)
- Lgicos
- Carcter (Char, String)

Los tipos de datos simples son:


Tipos de datos

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 83


FUNDAMENTOS DE PROGRAMACIN

Numricos Lgicos Carcter


Reales Enteros Char String
Ejemplo. Ejemplos de tipos de datos simples
Tipo de datos Caractersticas

Ejemplos.

Numricos Enteros.
Los nmeros enteros son los nmeros naturales positivos y negativos que
conocemos.
1
2
25
146
-456

Numricos Reales.
Los nmeros reales, son los nmeros que tienen
parte decimal.

0.56
1.00
25.13
148.45
-456.23

Lgicos o bolanos.
Son aquellos datos cuyos nicos valores slo pueden ser: Verdadero (V) o
Falso (F), puede encontrarse,
Verdadero (True) o Falso (False).
Se utiliza para representar las opciones (si/no) a determinadas condiciones.
Nacionalidad = Venezolano
(S/N)?

Carcter o Char.
Su valor lo comprenden todos los caracteres alfabticos, maysculas y
minsculas (A Z), numricos (0 9) y smbolos especiales (#,@,%,&).

Carcter String o cadena.


Su valor esta representado por un conjunto de caracteres.
Abril
Reporte Anual de Fallas
Tcnicas
1 de mayo, Da del Trabajador
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 84
FUNDAMENTOS DE PROGRAMACIN

ELABORAR DIAGRAMAS DE FLUJO.


Definicion de un Diagrama de Flujo.

Un diagrama de flujo es una representacin grfica de un algoritmo o de una


parte del mismo. La ventaja de utilizar un diagrama de flujo es que se le puede
construir independientemente del lenguaje de programacin, pues al momento
de llevarlo a cdigo se puede hacer en cualquier lenguaje. Dichos diagramas
se construyen utilizando ciertos smbolos de uso especial como son
rectngulos, valos, pequeos crculos, etc.; estos smbolos estn conectados
entre s por flechas conocidas como lneas de flujo. A continuacin se
presentan estos smbolos y su significado.

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.

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.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 85


FUNDAMENTOS DE PROGRAMACIN

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.

Constituyen el punto de comienzo indispensable para acciones de mejora o


reingeniera.

Nombre Smbolo Funcin


Representa el inicio y fin de un programa.
Tambin puede representar una parada o
Terminal
interrupcin programada que sea necesaria
realizar en un programa.

Cualquier tipo de introduccin de datos en


Entrada / salida la memoria desde los perifricos o registro
de informacin procesada en un perifrico.

Cualquier tipo de operacin que pueda


originar cambio de valor, formato o posicin
Proceso de la informacin almacenada en memoria,
operaciones aritmticas, de
transformaciones, etc.

Indica operaciones lgicas o de


comparacin entre datos (normalmente
dos) y en funcin del resultado de la misma
Decisin
determina (normalmente si y no) cual de los
distintos caminos alternativos del programa
se debe seguir

Sirve para enlazar dos partes cualesquiera


de un diagrama a travs de un conector en
Conector
la salida y otro conector en la entrada. Se
Misma Pgina refiere a la conexin en la misma pagina del
diagrama

Indicador de
Indica el sentido de la ejecucin de las
direccin o operaciones
lnea de flujo
Se utiliza en ocasiones en lugar del smbolo
de salida. El dibujo representa un pedazo
Salida
de hoja. Es usado para mostrar datos o
resultados.

Reglas de los diagramas de flujo:

Debe de indicar claramente dnde inicia y dnde termina el diagrama.


Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin.
Organizar los smbolos de tal forma que siga visualmente el flujo de arriba

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 86


FUNDAMENTOS DE PROGRAMACIN

hacia abajo y de izquierda a derecha.


No usar lenguaje de programacin dentro de los smbolos.
Centrar el diagrama en la pgina.
Las lneas deben ser verticales u horizontales, nunca diagonales.

Las lneas deben ser verticales u horizontales, nunca diagonales.

No cruzar las lneas de flujo empleando los conectores adecuados sin hacer
uso excesivo de ellos.

No fraccionar el diagrama con el uso excesivo de conectores.


Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden llegar
muchas lneas de flujo a otras lneas.

Las lneas de flujo deben de entrar a un smbolo pro la parte superior y/o
izquierda y salir de l por la parte inferior y/o derecha.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 87


FUNDAMENTOS DE PROGRAMACIN

Evitar que el diagrama sobrepase una pgina; de no ser posible, enumerar y


emplear los conectores correspondientes.
Usar lgica positiva, es decir, realizar procesos cuando es verdadera la
condicin y expresar las condiciones de manera clara (por ej., "no es a =/= de
b" ==> "a=b").
Comentar al margen nicamente cuando sea necesario.

CONSTRUIR PSEUDOCDIGOS.
En ciencias de la computacin, y anlisis numrico
el pseudocdigo (o falso lenguaje) es una
descripcin de un algoritmo de programacin
informtico de alto nivel compacto e informal que
utiliza las convenciones estructurales de un lenguaje
de programacin verdadero, pero que est diseado
para la lectura humana en lugar de la lectura en
mquina, y con independencia de cualquier otro
lenguaje de programacin. Normalmente, el
pseudocdigo omite detalles que no son esenciales
para la comprensin humana del algoritmo, tales
como declaraciones de variables, cdigo especfico del sistema y algunas
subrutinas.

El lenguaje de programacin se complementa, donde sea conveniente, con


descripciones detalladas en lenguaje natural, o con notacin matemtica
compacta. Se utiliza pseudocdigo pues este es ms fcil de entender para las
personas que el cdigo de lenguaje de programacin convencional, ya que es
una descripcin eficiente y con un entorno independiente de los principios
fundamentales de un algoritmo. Se utiliza comnmente en los libros de texto y
publicaciones cientficas que se documentan varios algoritmos, y tambin en la
planificacin del desarrollo de programas informticos, para esbozar la
estructura del programa antes de realizar la codificacin efectivamente. No
existe una sintaxis estndar para el pseudocdigo, aunque los dos programas
que manejan pseudocdigo tengan su sintxis propia. Aunque parecido, el
pseudocdigo no debe confundirse con los programas esqueleto que incluyen
cdigo ficticio, que pueden ser compilados sin errores. Aunque los diagramas
de flujo y UML sean ms amplios en el papel, pueden ser considerados como
una alternativa grfica al pseudocdigo.

NOTA:
Este pseudocdigo o pseudolenguaje es usado para o hacer un bosquejo de una aplicacin de
manera rpida, o para aprender programacin, se usa ms que todo en clases de lgica y
algoritmia.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 88


FUNDAMENTOS DE PROGRAMACIN

No es un lenguaje estructurado as que cada quien puede poner las normas de el, por ejemplo
una condicin o una toma de decisiones en pseudolenguaje seria algo como:

si Numero_visitas >= 50000 entonces


escriba "mi blog tiene buen trafico"
sino entonces
escriba "tengo que mejorar mi blog"
fin si

En el ejemplo anterior vemos que lo que esta en verde serian las instrucciones que podran
variar en los diferentes lenguajes de programacin (si = if) (escriba = print) (sino = else) lo que
esta en azul "Numero_visitas" representa una variable, los operadores matemticos se usan de
la misma manera en casi todos los lenguajes, en este caso ">=" significa (Mayor o igual) y lo
que esta entre comillas es lo que se debe imprimir en la pantalla de la aplicacin.

Ejemplo:
Realizar el pseudocdigo de un programa que permita calcular el rea de un
rectngulo. Se debe introducir la base y la altura para poder realizar el clculo.

Programa; rea
Entorno: BASE, ALTURA, AREA son nmero enteros

Algoritmo:
escribir .Introduzca la base y la altura.
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir .El rea del rectngulo es .AREA
Finprograma

A continuacin se muestran algunos ejemplos de palabras utilizadas para


construir algoritmos en pseudocdigo.

PALABRA UTILIZACIN
ABRE Abre un archivo
CASO Seleccin entre mltiples alternativas
CIERRA Cierra un archivo
ENTONCES Complemento de la seleccin SI - ENTONCES
ESCRIBE Visualiza un dato en pantalla
FIN Finaliza un bloque de instrucciones
HASTA Cierra la iteracin HAZ - HASTA
HAZ Inicia la iteracin HAZ - HASTA
INICIO Inicia un bloque de instrucciones
LEER Leer un dato del teclado
MIENTRAS Inicia la iteracin mientras

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 89


FUNDAMENTOS DE PROGRAMACIN

NO Niega la condicin que le sigue


O Disyuncin lgica
O BIEN Complemento opcional de la seleccin SI - ENTONCES
PARA Inicia un nmero fijo de iteraciones
SI Inicia la seleccin SI-ENTONCES
USUAL Opcional en la instruccin CASO
Y Conjuncin lgica
{ Inicio de comentario
} Fin de comentario
<= Asignacin

Ejercicios y tareas de investigacin

1. Indique que es un algoritmo informatico?


2. Para que sirve un diagrama de flujo?
3. Desarrolle el algoritmos, pseudocodigo y diagrama de flujo para el siguiente
caso:
Determinar la hipotenusa de un tringulo rectngulo conocidas las
longitudes de sus dos catetos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 90


FUNDAMENTOS DE PROGRAMACIN

04
TAREA 04: DEFINIR LOS TIPOS DE ESTRUCTURAS QUE
EXISTEN EN UN PROGRAMA.

En esta tarea trataremos las siguientes operaciones:


Construir estructuras condicionales simples.
Elaborar estructuras de repeticin.
Analizar y desarrollar estructuras anidadas complejas.
Desarrollar casos prcticos de programacin. Construir Pseudocodigos

" Antes que toda otra cosa la preparacin es la clave para el


xito...... Alexandre Graham Bell.

EQUIPOS Y MATERIALES:

Computadora con microprocesadores core 2 Duo de mayor capacidad.


Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:
Construir estructuras condicionales simples.
Elaborar estructuras de repeticin.
Analizar y desarrollar estructuras anidadas complejas.
Desarrollar casos prcticos de programacin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 91


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
CONSTRUIR ESTRUCTURAS CONDICIONALES SIMPLES.

Realizar el siguiente ejercicio en VBA.


La instruccion If Then Else es una estructura condicional que nos permite
ejecutar acciones en funcin de si se cumple una condicion. Generalizando
tenemos tenemos: If cumple condicin Then ejecutar accin 1 Else ejecutar
accin 2.
Dentro de esta estructura puede haber otra estructura condicional y dentro de
esta otra, y as sucesivamente. A esto se le conoce como una Estructura If
anidada. A continuacin veremos un ejemplo de una estructura If Then Else:
En VBA de MS.Excel escribimos el siguiente procedimiento para determinar
que porcentaje de descuento se le realiza a una compra dependiendo del
monto de compra; y de esta manera obtener el monto final a pagar. Si el monto
de compras es mayor a s/. 10,000.00 entonces se le aplica un descuento de
10%, caso contrario se le aplica un descuento de 5%:
Sub COBRANZA()
MONTO = Worksheets(HOJA1).Range(B1).Value
If MONTO > 10000 Then
DESCUENTO = 0.1 * MONTO
Else
DESCUENTO = 0.05 * MONTO
End If
MONTO_F = MONTO DESCUENTO
Worksheets(HOJA1).Range(B2).Value = DESCUENTO
Worksheets(HOJA1).Range(B3).Value = MONTO_F
End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 92


FUNDAMENTOS DE PROGRAMACIN

Comprobar que un nmero escrito en la celda activa es el requerido. Si se


cumple, muestra un mensaje diciendo "El cdigo es correcto". Si no se
cumple, la macro termina y no hace nada.

Sub ComprobarCdigo()
If ActiveCell = "ABCD" Then
MsgBox ("El cdigo es correcto")
End If
End Sub

Comprobar que un nmero escrito en una celda determinada es el


requerido. Si se cumple, muestra un mensaje diciendo "El cdigo es
correcto". Si no se cumple, muestra un mensaje diciendo "El cdigo no es
correcto".

Sub ComprobarCdigo()
If Range("A1") = "BF1234" Then
MsgBox("El cdigo es correcto")
Else
MsgBox("El cdigo no es correcto")
End If
End Sub

OPERACIN:
ELABORAR ESTRUCTURAS DE REPETICIN.

CICLO FOR VISUAL BASIC

Este ciclo es uno de los mas usados para repetir una secuencia de
instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se
quiere que se ejecute una instruccin simple o compuesta.

Su formato general es:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 93


FUNDAMENTOS DE PROGRAMACIN

FOR VARCICLO=VALORINICIAL TO VALORFINAL [STEP INCR O DECR]


INSTRUCCION(ES)
NETX VARCICLO

Pasos para elaborar cdigo en VBA para ingresar los nmeros del 1 al 10
en las celdas de A1 a A10.

Sub repetitivo1()
For i = 1 To 10
Range("A" & i).Value = i
Next
End Sub
RESULTADO:

Pasos para elaborar un formulario que tenga un cuadro de lista, el cual se


llenara con los nmeros del 10 al 20 al darle clic en el botn OK.

Paso 1:
Insertar un formulario en VBA.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 94


FUNDAMENTOS DE PROGRAMACIN

Paso 2:
Insertar los controles respectivos, seleccionndolo del cuadro de herramientas
y arrastrndolo al formulario.

Paso 3:
Modifique las propiedades de los objetos insertados en el formulario para que
tenga los valores que se pueden ver en la imagen inicial del enunciado de este
ejercicio.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 95


FUNDAMENTOS DE PROGRAMACIN

Paso 4:
Dele doble clic al botn e ingrese el siguiente cdigo:

Private Sub CommandButton1_Click()


For x = 10 To 20
ListBox1.AddItem (x)
Next x
End Sub

Paso 5:
Ejecutamos el formulario y le damos clic en el botn OK, podemos ver que la
lista se llena con los nmeros del 1 al 10.

OPERACIN:
ANALIZAR Y DESARROLLAR ESTRUCTURAS ANIDADAS COMPLEJAS.

Pasos para crear cdigo VBA que muestre un mensaje si el usuario ingresa el
usuario y clave correcta.

Paso 1:
Disee la hoja de calcula e ingrese al editor de
macros.

Paso 2:
Inserte un modulo en el cual se creara la
programacin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 96


FUNDAMENTOS DE PROGRAMACIN

Paso 3:
Ingrese el siguiente cdigo:

Sub validar_usuario()

If Range("B1").Value = "SENATI" And Range("B2").Value = "ETI" Then


MsgBox ("BIENVENIDO")
Range("B4").Value = "BIENVENIDO"
Else
MsgBox ("ACCESO DENEGADO")
Range("B4").Value = "ACCESO DENEGADO"
End If

End Sub

Paso 4:
En la hoja de Excel ingrese una forma la cual se vinculara con la macro creada
la cual tiene el nombre validar_usuario().

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 97


FUNDAMENTOS DE PROGRAMACIN

Paso 5:
En la hoja de Excel, ingrese un usuario y clave y ejecute el botn procesar,
dependiendo si cumple la validacin mostrara un mensaje distinto.

OPERACIN:
DESARROLLAR CASOS PRCTICOS DE PROGRAMACIN.

Crear cdigo vba para comprobar que A3 es mayor que A1 y si es verdad


entonces escribir en la celda A4: A3 mayor que A1

Sub Ejercicio1()

If Range("A3") > Range("A1") Then

Range("A4") = "A3 es mayor que A1"

End If

End Sub

Crear cdigo vba para rellenar el color de fondo de la celda A1 en


amarillo.

Sub Ejercicio2()

Range("A1").Interior.Color = vbYellow

End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 98


FUNDAMENTOS DE PROGRAMACIN

Crear cdigo vba para comprobar que A1 y A2 son menores que C1 y si


es verdadero poner en negrita los valores de C1:C5.

Sub Ejercicio3()

If Range("A1") < Range("C1") And Range("A2") < Range("C1") Then

Range("C1:C5").Font.Bold = True

End If

End Sub

Crear cdigo vba para elaborar una tabla de multiplicar del numero
ingresaso en la celda A1.

Sub crear_tabla()

contador = 1
num = Range("A1").Value

For i = 1 To 12

contador = contador + 1

Range("A" & contador).Value = num


Range("B" & contador).Value = "X"
Range("C" & contador).Value = i
Range("D" & contador).Value = "="
Range("E" & contador).Value = num * i

Next i

End Sub

RESULTADO:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 99


FUNDAMENTOS DE PROGRAMACIN

Complete el cdigo anterior para aplicarle un formato al resultado de la tabla


generada y un botn que limpie todo el resultado.

FUNDAMENTO TERICO:

Construir estructuras condicionales simples.

Las estructuras condicionales comparan una variable contra otro(s) valor (es),
para que en base al resultado de esta comparacin, se siga un curso de accin
dentro del programa. Cabe mencionar que la comparacin se puede hacer
contra otra variable o contra una constante, segn se necesite.

Existen tres tipos bsicos, las simples, las dobles y las mltiples.

No todos los problemas pueden resolverse empleando estructuras


secuenciales. Cuando hay que tomar una decisin aparecen las estructuras
condicionales.

En nuestra vida diaria se nos presentan situaciones donde debemos decidir.

Elijo la carrera A o la carrera B?


Me pongo este pantaln?
Para ir al trabajo, elijo el camino A o el camino B?
Al cursar una carrera, elijo el turno maana, tarde o noche?

Cuando se presenta la eleccin tenemos la opcin de realizar una actividad o


no realizar ninguna.

Representacin grfica:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 100


FUNDAMENTOS DE PROGRAMACIN

Podemos observar: El rombo representa la condicin. Hay dos opciones que se


pueden tomar. Si la condicin da verdadera se sigue el camino del verdadero, o
sea el de la derecha, si la condicin da falsa se sigue el camino de la izquierda.
Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del
verdadero hay actividades y por el camino del falso no hay actividades.
Por el camino del verdadero pueden existir varias operaciones, entradas y
salidas, inclusive ya veremos que puede haber otras estructuras condicionales.

Por supuesto que en un problema se combinan estructuras secuenciales y


condicionales.

Simples:
Las estructuras condicionales simples se les conocen como Tomas de decisi.
Estas tomas de decisin tienen la siguiente forma:

Pseudocdigo: Diagrama de flujo:

Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en funcin del cumplimiento o no de una determinada
condicin. Se representa de la siguiente forma:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 101


FUNDAMENTOS DE PROGRAMACIN

Pseudocdigo: Diagrama de flujo:

Donde:
Si: Indica el comando de comparacin.
Condicin: Indica la condicin a evaluar.
Entonces: Precede a las acciones a realizar cuando se cumple la condicin.
Instruccin(es): Son las acciones a realizar cuando se cumple o no la
condicin.
Si no: Precede a las acciones a realizar cuando no se cumple la condicin.
Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o
ms acciones.

Mltiples:
Las estructuras de comparacin mltiples, son tomas de decisin
especializadas que permiten comparar una variable contra distintos posibles
resultados, ejecutando para cada caso una serie de instrucciones especficas.

La forma comn es la siguiente:

Pseudocdigo: Diagrama de flujo:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 102


FUNDAMENTOS DE PROGRAMACIN

Mltiples (En caso de):


Las estructuras de comparacin mltiples, es una toma de decisin
especializada que permiten evaluar una variable con distintos posibles
resultados, ejecutando para cada caso una serie de instrucciones especificas.
La forma es la siguiente:

Pseudocdigo: Diagrama de flujo:

Elaborar estructuras de repeticin.


Las estructuras de repeticin, permiten la ejecucin de una lista o secuencia de
instrucciones (<bloque de instrucciones>) en varias ocasiones. El nmero de
veces que el bloque de instrucciones se ejecutar se puede especificar de
manera explcita, o a travs de una condicin lgica que indica cundo se
ejecuta de nuevo y cundo no. A cada ejecucin del bloque de instrucciones se
le conoce como una iteracin.

Existen tres tipos principales de sentencias de repeticin:


Ciclo mientras
Ciclo haga-mientras
Ciclo para

A continuacin se describe cada una de ellas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 103


FUNDAMENTOS DE PROGRAMACIN

CICLO MIENTRAS.
El ciclo mientras permite ejecutar un bloque de instrucciones mientras que una
expresin lgica dada se cumpla, es decir, mientras su evaluacin d como
resultado verdadero. La expresin lgica se denomina condicin y siempre se
evala antes de ejecutar el bloque de instrucciones. Si la condicin no se
cumple, el bloque no se ejecuta. Si la condicin se cumple, el bloque se
ejecuta, despus de lo cual la instruccin vuelve a empezar, es decir, la
condicin se vuelve a evaluar.

En el caso en que la condicin evale la primera vez como falsa, el bloque de


instrucciones no ser ejecutado, lo cual quiere decir que el nmero de
repeticiones o iteraciones de este bloque ser cero. Si la condicin siempre
evala a verdadero, la instruccin se ejecutar indefinidamente, es decir, un
nmero infinito de veces.

La forma general del ciclo mientras es la siguiente:

Donde, <condicin> es la expresin lgica que se evala para determinar la


ejecucin o no del bloque de instrucciones, y <accin S1, S2> son el
conjunto de instrucciones que se ejecutan si la condicin evala a Verdadero.

CICLO HAGAMIENTRAS.
El ciclo haga-mientras es similar al ciclo mientras, la diferencia radica en el
momento de evaluacin de la condicin.

En el ciclo haga-mientras la condicin se evala despus de ejecutar el bloque


de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez. Este
bloque se ejecuta nuevamente si la condicin evala a verdadero, y no se
ejecuta ms si se evala como falso.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 104


FUNDAMENTOS DE PROGRAMACIN

La forma general del ciclo haga-mientras es la siguiente:

Donde, <bloque instrucciones> es el conjunto de instrucciones que se ejecuta y


<condicin> es la expresin lgica que determina si el bloque se ejecuta. Si la
<condicin> se evala como verdadero el bloque es ejecutado de nuevo y si es
evaluada como falso no es ejecutado.

Despus de ejecutar el bloque de acciones se evala la <condicin>.

CICLO PARA.
El ciclo para ejecuta un bloque de instrucciones un nmero determinado de
veces. Este nmero de veces est determinado por una variable contadora (de
tipo entero) que toma valores desde un lmite inferior hasta un lmite superior.
En cada ciclo despus de ejecutar el bloque de instrucciones, la variable
contadora es incrementada en 1 automticamente y en el momento en que la
variable sobrepasa el lmite superior el ciclo termina.

El valor final de la variable contadora depende del lenguaje de programacin


utilizado, por lo tanto, no es recomendable disear algoritmos que utilicen el
valor de la variable contadora de un ciclo para, despus de ejecutar el mismo.
De la definicin de ciclo para se puede inferir que el bloque de instrucciones no
se ejecuta si el lmite inferior es mayor al lmite superior.

La forma general del ciclo para es la siguiente:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 105


FUNDAMENTOS DE PROGRAMACIN

Donde <variable> es la variable contadora del ciclo, la cual debe ser de tipo
entero. <lim_inf> es el valor inicial que toma la variable contadora. <lim_sup>
es el ltimo valor que toma la variable contadora; cuando el valor de la variable
contadora supere este valor, el ciclo termina. <bloque instrucciones> es el
conjunto de instrucciones que se ejecuta en cada iteracin, mientras la variable
contadora no sobrepase el <lim_sup>.

Casos:

Cuando <lim_inf> es menor que <lim_sup> ocurre lo siguiente:

1. La variable contadora se vuelve igual a <lim_inf>


2. Se ejecuta <bloque de instrucciones>
3. Se incrementa automticamente en 1 la variable contadora del ciclo.
4. Si el valor de contador del ciclo es menor o igual que <lim_sup> se vuelve de
nuevo al paso 2. De otro modo se abandona el ciclo.

Es de anotar que el valor final de la variable contadora queda incrementada por


encima del <lim_sup> para que pueda finalizar el ciclo.

Cuando <lim_inf> es mayor que <lim_sup> el ciclo termina sin ejecutarse


nunca el <bloque de instrucciones>. Tenga en cuenta que no se genera error al
correr el programa.

Ejemplo:

para (x:=5 hasta 4) hacer.


Esta lnea de cdigo nunca se ejecuta.

Es de anotar que los lenguajes de programacin tienen una variable a esta


instruccin para que el valor pueda ir en descenso.

Tanto <lim_inf> como <lim_sup> pueden ser expresiones como en el


siguiente
ejemplo:

para(j:=x+1 hasta 2*y) hacer.

En este caso se calculan primero los valores de las expresiones (x+1) y (2*y)
empleando para esto los valores actuales de x y y para utilizarlos como
<lim_inf> y <lim_sup> respectivamente.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 106


FUNDAMENTOS DE PROGRAMACIN

Analizar y desarrollar estructuras anidadas complejas.

Para hacer estructuras condicionales ms complejas podemos anidar


sentencias IF, es decir, colocar estructuras IF dentro de otras estructuras IF.
Con un solo IF podemos evaluar y realizar una accin u otra segn dos
posibilidades, pero si tenemos ms posibilidades que evaluar debemos anidar
IFs para crear el flujo de cdigo necesario para decidir correctamente.

Por ejemplo, si deseo comprobar si un nmero es mayor menor o igual que


otro, tengo que evaluar tres posibilidades distintas. Primero puedo comprobar si
los dos nmeros son iguales, si lo son, ya he resuelto el problema, pero si no
son iguales todava tendr que ver cul de los dos es mayor. Veamos este
ejemplo en cdigo Javascript.

var numero1=23
var numero2=63
if (numero1 == numero2){
document.write("Los dos nmeros son iguales")
}else{
if (numero1 > numero2) {
document.write("El primer nmero es mayor que el segundo")
}else{
document.write("El primer nmero es menor que el segundo")
}
}

El flujo del programa es como comentbamos antes, primero se evala si los


dos nmeros son iguales. En caso positivo se muestra un mensaje informando
de ello. En caso contrario ya sabemos que son distintos, pero aun debemos
averiguar cul de los dos es mayor. Para eso se hace otra comparacin para
saber si el primero es mayor que el segundo. Si esta comparacin da
resultados positivos mostramos un mensaje diciendo que el primero es mayor
que el segundo, en caso contrario indicaremos que el primero es menor que el
segundo.

Volvemos a remarcar que las llaves son en este caso opcionales, pues slo se
ejecuta una sentencia para cada caso. Adems, los saltos de lnea y los
sangrados tambin opcionales en todo caso y nos sirven slo para ver el
cdigo de una manera ms ordenada. Mantener el cdigo bien estructurado y
escrito de una manera comprensible es muy importante, ya que nos har la
vida ms agradable a la hora de programar y ms adelante cuando tengamos
que revisar los programas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 107


FUNDAMENTOS DE PROGRAMACIN

Alternativa Mltiple.
Con frecuencia existen ms de dos alternativas posibles (por ejemplo: en una
ecuacin de segundo grado el discriminante puede ser negativo, nulo o
positivo). Este problema se puede resolver utilizando estructuras alternativas
simples o dobles anidadas o en cascada, pero este tipo de solucin aade
complejidad al algoritmo y hace difcil la lectura del cdigo fuente.

La estructura de seleccin mltiple ofrece una solucin ms simple y compacta.


Para esta estructura se evala una expresin que puede tomar n valores
distintos (1, 2, 3, ..., n) A cada valor de la expresin corresponde una
instruccin (o serie de instrucciones) diferente, lo que significa que el flujo
seguir un camino distinto entre los n posibles caminos en dependencia del
valor de la expresin de control.

La representacin grfica de este tipo de estructura de seleccin sera:

En espaol, el pseudocdigo que representa a la estructura de seleccin


mltiple es:

Segn_sea <expresin> hacer


caso 1: accin 1
caso 2: accin 2
.
.
.
caso n: accin n
si_no
accin x
fin_segn

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 108


FUNDAMENTOS DE PROGRAMACIN

Por ejemplo, el pseudocdigo para una aplicacin que escribe los nombres de
los das de la semana en funcin de una variable (DIA) introducida por el
teclado sera:

Var
Entero: DIA
Inicio
Leer(DIA)
Segn_sea (DIA)
Caso 1: escribir(Lunes)
Caso 2: escribir(Martes)
Caso 3: escribir(Mircoles)
Caso 4: escribir(Jueves)
Caso 5: escribir(Viernes)
Caso 6: escribir(Sabado)
Caso 7: escribir(Domingo)
si_no
escribir(Error)
fin_segn
fin

VB Select Case

En VB la seleccin mltiple se implementa mediante la estructura Select Case,


cuya sintaxis general es:

Select Case <expresin>


Case 1
Bloque 1 de instrucciones
Case 2
Bloque 2 de instrucciones
Case 3
Bloque 3 de instrucciones
.
.
.
Case n
Bloque n de instrucciones
Case Else
Bloque x de instrucciones
End Select

Note que la ltima opcin (Case Else) cubre la posibilidad de que la expresin

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 109


FUNDAMENTOS DE PROGRAMACIN

no tome ninguno de los n valores previstos.

El algoritmo grfico de una sentencia IF anidada se representa de la siguiente


manera:

El algoritmo escrito: N. si condicin 1 entonces,

N.N sentencia(s) 1
de lo contrario, si condicin 2 entonces,
N.N sentencia(s) 2

de lo contrario, si condicin n entonces,


N.N sentencia(s) N
de lo contrario
N.N sentencia(s) N+1

Desarrollar casos prcticos de programacin.

Programacion vba para Excel.


Visual Basic para aplicaciones es una combinacin de un entorno de
programacin integrado denominado Editor de Visual Basic y del lenguaje de
programacin Visual Basic, permitiendo disear y desarrollar con facilidad
programas en Visual Basic. El trmino para aplicaciones hace referencia al
hecho de que el lenguaje de programacin y las herramientas de desarrollo
estn integrados con las aplicaciones del Microsoft Office (en este caso, el

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 110


FUNDAMENTOS DE PROGRAMACIN

Microsoft Excel), de forma que se puedan desarrollar nuevas funcionalidades y


soluciones a medida, con el uso de estas aplicaciones.

El Editor de Visual Basic contiene todas las herramientas de programacin


necesarias para escribir cdigo en Visual Basic y crear soluciones
personalizadas.

Este Editor, es una ventana independiente de Microsoft Excel, pero tiene el


mismo aspecto que cualquier otra ventana de una aplicacin Microsoft Office, y
funciona igual para todas estas aplicaciones. Cuando se cierre la aplicacin,
consecuentemente tambin se cerrar la ventana del Editor de Visual Basic
asociada.

Editor de Visual Basic.


El Editor de Visual Basic, VBE por sus
siglas en ingls, es un programa
independiente a Excel pero fuertemente
relacionado a l porque es el programa
que nos permite escribir cdigo VBA que
estar asociado a las macros.

Existen al menos dos alternativas para abrir este editor, la primera de ellas es a
travs del botn Visual Basic de la ficha Programador.

El segundo mtodo para abrir este programa es, en mi opinin, el ms sencillo


y rpido y que es a travs del atajo de teclado: ALT + F11. El Editor de Visual
Basic contiene varias ventanas y barras de herramientas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 111


FUNDAMENTOS DE PROGRAMACIN

En la parte izquierda se
muestra el Explorador de
proyectos el cual muestra el
proyecto VBA creado para el
libro actual y adems muestra
las hojas pertenecientes a ese
libro de Excel. Si por alguna
razn no puedes visualizar
este mdulo puedes
habilitarlo en la opcin de
men Ver y seleccionando la
opcin Explorador de
proyectos.

El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos de


cdigo que se sern de gran utilidad para reutilizar todas las funciones de
cdigo VBA que vayamos escribiendo.

Dentro del Editor de Visual Basic puedes observar una ventana llamada
Inmediato que est en la parte inferior. Esta ventana es de mucha ayuda al
momento de escribir cdigo VBA porque permite introducir instrucciones y
observar el resultado inmediato. Adems, desde el cdigo VBA podemos
imprimir mensajes hacia la ventana Inmediato con el comando Debug.Print de
manera que podamos depurar nuestro cdigo. Si no puedes observar esta
ventana puedes mostrarla tambin desde el men Ver.

El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es en esa


ventana en donde escribimos y editamos las instrucciones VBA que dan forma
a nuestras macros.

Programando en VBA.
Excel 2013 es una de las
herramientas de software
ms poderosas para el
manejo, anlisis y
presentacin de datos. Aun y
con todas sus bondades, en
ocasiones Excel no llega a
suplir algunas necesidades
especficas de los usuarios.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 112


FUNDAMENTOS DE PROGRAMACIN

Afortunadamente Excel cuenta con VBA que es un lenguaje de programacin


que permite extender las habilidades del programa para cubrir nuestros
requerimientos. Utilizando VBA se pueden desarrollar nuevos algoritmos para
analizar la informacin o para integrar a Excel con alguna otra aplicacin como
Microsoft Access.

Principios fundamentales.
La programacin en VBA puede ser un tanto misteriosa para la mayora de los
usuarios de Excel, sin embargo una vez que se comprenden los principios
bsicos de programacin en VBA se comenzarn a crear soluciones robustas y
efectivas.

El primer concepto importante a entender es que cada elemento de Excel es


representado en VBA como un objeto. Por ejemplo, existe el objeto Workbook
que representa a un libro de Excel. Tambin existe el objeto Sheet que
representa una hoja y el objeto Chart para un grfico.

El segundo concepto importante a entender es que cada uno de estos objetos


tiene propiedades y mtodos. Para explicar mejor este concepto utilizar una
analoga.

Propiedades y Mtodos.

Supongamos que tenemos el objeto auto. As es, un auto como el que


manejamos todos los das para ir al trabajo. Este auto tiene varias propiedades
como son: marca, modelo, color, tipo de transmisin las cuales ayudan a
describir mejor al auto.

Tambin hay propiedades que indican su estado actual como por ejemplo
gasolina disponible, temperatura del aceite, velocidad, kilmetros recorridos
entre otras propiedades ms.

Podemos decir que las propiedades de un objeto nos ayudan a describirlo


ESCUELA DE TECNOLOGAS DE LA INFORMACIN 113
FUNDAMENTOS DE PROGRAMACIN

mejor en todo momento.

Por otro lado tenemos los mtodos de un objeto que en resumen son las
acciones que podemos realizar con dicho objeto. Por ejemplo, con nuestro auto
podemos hacer lo siguiente: encenderlo, avanzar, vuelta a la izquierda, vuelta a
la derecha, reversa, detener, apagar, etc. Todas las acciones que se pueden
llevar a cabo con un objeto son conocidas como mtodos.

Volviendo al terreno de Excel, el objeto Workbook tiene propiedades como


ActiveSheet (Hoja activa), Name (Nombre), ReadOnly (Solo Lectura), Saved
(Guardado) y algunos de sus mtodos son Save (Guardar), Close (Cerrar),
PrintOut (Imprimir), Protect (Proteger), Unprotect (Desproteger).

Ser dificil mencionar todos los objetos de Excel y sus propiedades en esta
publicacin, pero lo importante a recordar en esta ocasin es que cada
elemento de Excel est siempre representado por un objeto en VBA y cada
objeto tiene a su vez propiedades y mtodos que nos permitirn trabajar con
nuestros datos.

Ejemplo de cdigo VBA.

Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 01/10/2013 por ETI
'
' Acceso directo: CTRL+r
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Ramn"
Range("A2").Select
End Sub

A continuacin se da una explicacin de lo que ha hecho Excel:

Sub y End Sub indican el inicio y el final del procedimiento de la Macro1.


Todo lo que aparece con un apostrofe indica que no se tomara en cuenta
que es solo texto o comentarios y ese texto debe de aparecer en un color, ya
sea el color verde.
Range("A1").Select Indica que lo primero que hicimos al grabar la macro fue
trasladarnos a la celda A1.La orden Range nos permite trasladarnos a una
celda.
ActiveCell.FormulaR1C1 = "Ramn" Esto indica que se escribir en la celda
en que se encuentra el valor de texto Ramn. Todo lo que aparece entre

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 114


FUNDAMENTOS DE PROGRAMACIN

comillas siempre ser un valor de texto.


ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda activa.
Range("A2").Select Otra vez indicamos que se traslade a la celda A2. Esto
se debe a que cuando escribimos el nombre de Ramn en A1 presionamos
Enter y al dar Enter bajo a la celda A2.

Para comprender mejor el ejemplo anterior modificaremos el cdigo anterior


dentro del editor de Visual Basic.

Sub Macro1()

Range("A1").Select
ActiveCell.FormulaR1C1 = "SENATI"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Av. Alfredo Mendiola N 3520"
Range("C1").Select
ActiveCell.FormulaR1C1 = "01-10-13"
Range("D1").Select
ActiveCell.FormulaR1C1 = "ETI"
Range("E1").Select
ActiveCell.FormulaR1C1 = "REDES"

End Sub

Al ejecutar la macro en Excel mostrar lo siguiente:

En A1 escribir SENATI
En B1 escribir Av. Alfredo Mendiola N 3520
En C1 escribir 01-10-13
En D1 escribir ETI
En E1 escribir REDES

Propiedades.
Las propiedades son las caractersticas, atributos, formas o aspectos del
objeto, a las que se hace referencia mediante el uso de variables. Una
propiedad de objeto comn de Excel es su Nombre, que nos permitir usarlos
en las diferentes usos que hagamos del objeto. De manera que una celda, un
rango de celdas, una hoja, libro, grfico o tabla en Excel, tendr un nombre con
el cual lo identificaremos.

Para hacer referencia a las propiedades mediante los programas en VBA, se


usa la sintaxis:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 115


FUNDAMENTOS DE PROGRAMACIN

NombreDelObjeto.Propiedad

Ejemplo:
Range("A5").Name Aqu se hace referencia al nombre del objeto Range de
la celda A5.

Mtodos.
Un mtodo es una accin, un procedimiento (un hilo), que tiene efectos sobre
un objeto.

Ejemplo:

Range("A5").Select Aqu se ejecuta el mtodo Select, que permite activar la


celda A5 y ponerla en disponible para cualquier otra operacin.

Range("B2:G4").Formato En este caso, se ejecuta el mtodo Formato


sobre el rango B2:G4. Se supone que el mtodo Formato ya est definido
previamente.

Eventos.
Un evento es el resultado de una accin, es la forma cmo queda el objeto
despus de alguna accin sobre l. Por lo general estas acciones son
producidas por los mtodos que actan sobre el objeto.

En la versin 2003 del Excel, podemos tener algunos eventos como:


Se seleccion una celda o rango.
Se seleccion una hoja (haciendo clic en la pestaa o etiqueta de la misma)
Se ha abierto o cerrado un libro.
Se ha activado o desactivado una hoja de clculo.
Se han calculado de nuevo las frmulas de una hoja de clculo.
Se ha seguido un hipervnculo.

Ejercicios y tareas de investigacin

1. Qu es una estructura condicional anidada?


2. Para que sirve una estructura repetitiva?
3. Desarrolle cdigo VBA para generar una tabla multiplicar solo de nmeros
positivos, si ingresa un numero negativo deber mostrar un mensaje de
alerta. La tabla ya no ser el 1 al 12 como en ejemplo visto en clase, sino
ser hasta un nmero ingresado por el usuario en una celda de la hoja de
Excel.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 116


FUNDAMENTOS DE PROGRAMACIN

05
TAREA 05: DEFINIR LOS TIPOS DE DATOS DE UN
PROGRAMA.

En esta tarea trataremos las siguientes operaciones:


Trabajar con Constantes y variables.
Definir las palabras reservadas de un lenguaje.
Definir las funciones internas de un programa.
Trabajar los tipos de operadores y expresiones de un programa.

" El fracaso es una parte importante del xito...... Anonimo.

EQUIPOS Y MATERIALES:
Computadora con microprocesadores core 2 Duo de mayor capacidad.
Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:
Trabajar con Constantes y variables.
Definir las palabras reservadas de un lenguaje.
Definir las funciones internas de un programa.
Trabajar los tipos de operadores y expresiones de un programa.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 117


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
TRABAJAR CON CONSTANTES Y VARIABLES.

La forma de declara una variable es a travs de la instruccin Dim. En la lnea


se declara la variable de nombre Variable y al mismo tiempo Visual Basic
guarda espacio en memoria para poder utilizarla.

Pasos para crear cdigo VBA para que nos permite introducir la
informacin requerida por teclado utilizando variables.

Paso 1:
Cree un nuevo archvo de Excel, inserte un modulo e ingrese el siguiente
cdigo:

Sub ejemplo1()
Dim strNombre As String
strNombre = InputBox(Cmo te llamas?, Saludos)
MsgBox (Hola & strNombre)
End Sub

Paso 2:
Ejecutamos la macro e ingresamos el nombre.

Paso 3:
A continuacin insertaremos el siguiente mdulo ejemplo2 en el mismo modulo,
para analizar el uso correcto de variables:

Sub ejemplo2()
Dim numero1, numero2, producto As Integer
Dim respuesta As String
numero1 = InputBox("Introduzca el primer nmero", "PRODUCTO")
numero2 = InputBox("Introduzca el segundo nmero", "PRODUCTO")
producto = numero1 * numero2
respuesta = MsgBox(numero1 & " X " & numero2 & "=" & producto)
End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 118


FUNDAMENTOS DE PROGRAMACIN

Paso 4:
Si introduce cualquier nmero entero le dar un resultado correcto, pero pruebe
a introducir una letra, un nmero decimal o deje sin introducir un nmero.
Observar que arroja un error. Esto es as porque hemos declarado variables
de tipo entero, por tanto la variable resultado no espera que se introduzca
letras o campos vacos.

Resultado al ingresar nmeros:

Resultado al ingresar textos:

NOTA:
El ejercicio nos pregunta que insertemos
un nombre de usuario, que
posteriormente se inserta en la celda A1.
Hemos declarado la variable de forma
local a nivel de mdulo o procedimiento.
Si a continuacin insertramos otro
mdulo exactamente igual pero sin la
definicin de la variable nos dara lugar a
un error:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 119


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
DEFINIR LAS PALABRAS RESERVADAS DE UN LENGUAJE.
En los lenguajes informticos, una palabra reservada es una palabra que tiene
un significado gramatical especial para ese lenguaje y no puede ser utilizada
como un identificador de objetos en cdigos del mismo, como ser variables.

Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la


palabra group es usada para indicar que un identificador se refiere a un grupo,
no a un usuario. Al tratarse de una palabra clave su uso queda restringido.

Ocasionalmente la especificacin de un lenguaje de programacin puede tener


palabras reservadas que estn previstas para un posible uso en futuras
versiones. En Java const y goto son palabras reservadas no tienen
significado en Java, pero tampoco pueden ser usadas como identificadores.

Al reservar los trminos pueden ser implementados en futuras versiones de


Java, si se desea, sin que el cdigo fuente ms antiguo escrito en Java deje de
funcionar.

NOTA:

Definicion de SQL
La sigla que se conoce como SQL corresponde a la expresin inglesa Structured Query
Language (entendida en espaol como Lenguaje de Consulta Estructurado), la cual identifica a
un tipo de lenguaje vinculado con la gestin de bases de datos de carcter relacional que
permite la especificacin de distintas clases de operaciones entre stas. Gracias a la utilizacin
del lgebra y de clculos relacionales, el SQL brinda la posibilidad de realizar consultas con el
objetivo de recuperar informacin de las bases de datos de manera sencilla.

Palabras reservadas en SQL

En SQL, son palabras reservadas todas las sentencias, clusulas


modificadoras, tipos de dato, y funciones propias del DBMS.As, por ejemplo,
no se pueden usar denominaciones tales como SELECT, GROUP, CONCAT,
SUM, MAX o semejantes.

En cada DBMS, adems, existen conjuntos de denominaciones que le son


propias, y que si pueden ser usadas en otros, lo que tiende a producir ciertos
problemas al migrar proceso o sintaxis de uno a otro. Tal es el caso de
SYSDATE, NOW, o BIGINT, el primero de los cuales es usual en Oracle, y los
dos siguientes en MySQL.

Pese a eso, todos los DBMS tienen, tambin, la posibiilidad de usar estas

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 120


FUNDAMENTOS DE PROGRAMACIN

palabras reservadas, siempre que se respeten ciertas reglas sintcticas:

Todas las palabras reservadas usadas para nombres de objetos creados en


una base de datos deben estar encerrados entre caracteres especficamente
usados para ello.

En varios sistemas de bases de datos se utilizanpara ello los acentos graves


(`), que no tienen otro uso en el SQL.

Pasos para crear un formulario y programar la suma de dos valores sin utilizar
palabras reservadas.

Paso 1:
Disee el siguiente formulario:

Paso 2:
Dele doble clic en el botn sumar e ingrese el siguiente cdigo:

Private Sub CommandButton1_Click()

If txtnum1.Text = "" Or txtnum2.Text = "" Then


MsgBox "Complete ambos numeros"
Else

Dim n1 As Double
Dim n2 As Double

Dim resultado As Double

n1 = txtnum1.Text
n2 = txtnum2.Text

resultado = n1 + n2

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 121


FUNDAMENTOS DE PROGRAMACIN

txtresultado.Text = resultado

End If

End Sub

Paso 3:

Si cambiamos el nombre de la variable n1 por ejemplo por la palabra integer


aparecer el siguiente error:

Integer es una palabra reservada de VBA que sirve para definir una variable del
tipo entero.

OPERACIN:
DEFINIR LAS FUNCIONES INTERNAS DE UN PROGRAMA.
Pasos para crear cdigo vba donde permita ingresar un texto y devuelve la
posicin de una cadena en una frase.

Paso 1:
Inserte un modulo en un nuevo archivo de Excel e ingrese el siguiente cdigo:

Private Sub cadena_InStr()

Dim frase As String


Dim Posicin As Integer

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 122


FUNDAMENTOS DE PROGRAMACIN

frase = InputBox("Inserte una frase")


Posicin = InStr(frase, InputBox("Indique la letra de la que quiere averiguar su
posicin"))
MsgBox Posicin

End Sub

Paso 2:
Ejecute la funcin e inserte el texto tal como lo muestra la siguiente imagen:

Paso 3:
Ingrese el texto que desea buscar y que la funcin InStr encuentre su posicin.

Resultado:
La funcin buscara el texto R en la frase del paso 2 y nos mostrara su
posicin.

Ingrese los siguientes cdigos de funciones en un nuevo archivo de Excel y


ejectelos para verificar el resultado.

La funcin Left (izquierda)


Left es una funcin que extrae los caracteres de una frase, empezando por la
izquierda.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 123


FUNDAMENTOS DE PROGRAMACIN

Left (frase, 4) significa que cuatro caracteres son extrados del valor de variable
frase, a partir de la posicin ms a la izquierda.

Private Sub CadenaLeft()


Dim frase As String
frase = "Esta es la prueba de la function Left"
MsgBox Left(frase, 4)
End Sub

Este cdigo devuelve la cadena "Esta" de la frase "Esta es la prueba de la


function Left"

La funcin Right (derecha)


Right es una funcin que extrae los caracteres de una frase, comenzando por
la derecha.

Right (frase, 5) significa que cinco caracteres son extrados de la variable frase,
a partir de la posicin ms a la derecha.

Private Sub CadenaRight()


Dim frase As String
frase = "Esta es la prueba de la funcin Right"
MsgBox Right(frase, 5)
End Sub

Este cdigo devuelve la cadena " Right " de la frase " Esta es la prueba de la
funcin Right

La funcin Mid
Mid es una funcin que extrae una cadena de una frase, a partir de la posicin
especificada por el segundo parmetro en el soporte.

Mid (frase, 8,3) significa que una serie de tres caracteres son extrados de la
frase, a partir de la 8 posicin de la izquierda, incluido el espacio vaco.
Private Sub CadenaMid()
Dim frase As String
frase = "Esta es la prueba de la funcin Mid"
MsgBox Mid(frase, 12, 6)
End Sub

Este cdigo devuelve la cadena "prueba" de la frase "Esta es la prueba de la


funcin Mid"

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 124


FUNDAMENTOS DE PROGRAMACIN

La funcin Len
Len es una funcin que devuelve la longitud de una frase (incluido el espacio
vaco entre los dos)

Private Sub CadenaLen()


Dim frase As String
frase = "Esta es la prueba de la funcin Len"
MsgBox Len(frase)
End Sub

En este caso nos dar como resultado 35.

Resultado de los cdigos en el entorno VBA.

Unir cadenas de texto.


Para unir dos (o ms) cadenas de texto podemos utilizar el operador &.
Observa el siguiente cdigo:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 125


FUNDAMENTOS DE PROGRAMACIN

El resultado de este cdigo es el siguiente:

OPERACIN:
TRABAJAR LOS TIPOS DE OPERADORES Y EXPRESIONES DE UN
PROGRAMA.

Visual Basic clasifica los operadores con que trabaja de la siguiente manera:

Operadores aritmticos: operadores utilizados para ejecutar clculos


matemticos.
Operadores de comparacin: operadores utilizados para efectuar
comparaciones.
Operadores de concatenacin: operadores utilizados para combinar cadenas
de caracteres.
Operadores lgicos: operadores usados para realizar operaciones lgicas.

Operadores Operadores de Operaciones de Operadores


Aritmticos comparacin concatenacin lgicos

Operador ^ < (Menor que) & Operador And

<= (Menor o
Operador * + Operador Eqv
igual que)

Operador / > (Mayor que) Operador Imp

>= (Mayor o
Operador \ Operador Not
igual que)

Operador Mod = (Igual a) Operador Or

Operador + <> (Distinto de) Operador Xor

Operador - Is

Like

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 126


FUNDAMENTOS DE PROGRAMACIN

Elaborar un formulario que procese las operaciones bsicas.

Paso 1:
Disee el siguiente formulario:

Paso 2:
Ingrese el siguiente cdigo.

Private Sub CommandButton1_Click()

Dim Primero, Segundo 'declara variables


Primero = Val(Text1.Text) 'convierte a nmeros
Segundo = Val(Text2.Text)
'si se pulsa el primero botn, suma los nmeros

If Option1.Value = True Then


Label4.Caption = Primero + Segundo
End If

'si se pulsa el segundo botn, resta los nmeros


If Option2.Value = True Then
Label4.Caption = Primero - Segundo
End If

'si se pulsa el tercer botn, multiplica los nmeros


If Option3.Value = True Then
Label4.Caption = Primero * Segundo
End If

'si se pulsa el cuarto botn, divide los nmeros


If Option4.Value = True Then
Label4.Caption = Primero / Segundo

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 127


FUNDAMENTOS DE PROGRAMACIN

End If

End Sub

IMPORTANTE:
Verifique los nombres de los controles en la propiedad name del editor de VBA.

RESULTADO:

Dependiendo de la operacin seleccionada se mostrara el resultado respectivo.

FUNDAMENTO TERICO:

Trabajar con Constantes y variables.

Constantes.

Una constante es un dato numrico o alfanumrico que no cambia durante la


ejecucin del programa.

Ejemplo:
pi = 3.1416

Variable.

Es un espacio en la memoria de la computadora que permite almacenar


temporalmente un dato durante la ejecucin de un proceso, su contenido puede
cambiar durante la ejecucin del programa.

Para poder reconocer una variable en la memoria de la computadora, es


necesario darle un nombre con el cual podamos identificarla dentro de un
algoritmo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 128


FUNDAMENTOS DE PROGRAMACIN

Ejemplo:
area = pi * radio ^ 2
Las variables son : el radio, el area y la constate es pi

Clasificacin de las Variables

Por su contenido.
Variables Numricas: Son aquellas en las cuales se almacenan valores
numricos, positivos o negativos, es decir almacenan nmeros del 0 al 9,
signos (+ y -) y el punto decimal.

Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500

Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparacin entre otros datos.

Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras,


nmeros y caracteres especiales).

Ejemplo:
letra = a apellido = diaz direccion = Av. Per # 3010

Por su uso.
Variables de Trabajo: Variables que reciben el resultado de una operacin
matemtica completa y que se usan normalmente dentro de un programa.

Ejemplo:

Suma = a + b /c
Contadores: Se utilizan para llevar el control del nmero de ocasiones en que
se realiza una operacin o se cumple una condicin. Con los incrementos
generalmente de uno en uno.

Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 129


FUNDAMENTOS DE PROGRAMACIN

Expresiones.
Las expresiones son combinaciones de constantes, variables, smbolos de
operacin, parntesis y nombres de funciones especiales.

Por ejemplo:

a + (b + 3) / c

Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas.

Una expresin consta de operadores y operandos. Segn sea el tipo de datos


que manipulan, se clasifican las expresiones en:

Aritmticas
Relacionales
Lgicas

Expresiones

Declarar una variable en VBA.

Sentencia DIM.
Para declarar una variable se usa la sentencia DIM. Esta declaracin se coloca
al principio de las secciones o mdulos.

Sintaxis:

DIM NombreDeVariable As TipoDeDatos

DIM NombreVar1, NombreVar2, As TipoDeDatos

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 130


FUNDAMENTOS DE PROGRAMACIN

Tipos de variable.
La tabla siguiente muestra los tipos de datos compatibles, incluyendo el tamao
de almacenamiento en memoria y el intervalo en el cual pueden variar.

Tipo de datos Tamao de Intervalo


almacenamiento

Byte Entero de un byte 0 a 255

Bolean Lgico de dos bytes True o False

Integer Entero de dos bytes -32,768 a 32,767

Long Entero largo de 4 -2,147,483,648 a 2,147,483,647


(entero largo) bytes

Single Decimal de 4 bytes -3,402823E38 a 1,401298E-45 para


(coma flotante/ valores negativos; 1,401298E-45 a
precisin simple) 3,402823E38 para valores positivos

Double Decimal de 8 bytes -1.79769313486231E308 a


(coma flotante/ -4,94065645841247E-324 para valores
precisin doble) negativos; 4,94065645841247E-324 a
1,79769313486232E308 para valores
positivos

Currency Entero de 8 bytes -922.337.203.685.477,5808 a


(entero a escala) 922.337.203.685.477,5807

Decimal Nmeros reales con +/-


decimales hasta de 79.228.162.514.264.337.593.543.950.335
28 dgitos (14 bytes) sin punto decimal;
+/-7,9228162514264337593543950335
con 28 posiciones a la derecha del signo
decimal; el nmero ms pequeo distinto
de cero es
+/-0,0000000000000000000000000001

Date Usado para fechas de 1 de enero de 100 a 31 de diciembre de


8 bytes 9999

Object 4 bytes Cualquier referencia a tipo Object

String Usado para datos de Desde 0 a 2.000 millones


(longitud texto de 10 bytes
variable)

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 131


FUNDAMENTOS DE PROGRAMACIN

String Como el anterior pero Desde 1 a 65.400 aproximadamente


(longitud fija) de longitud fija

Variant Usado como tipo de Cualquier valor numrico hasta el


(con nmeros) dato genrico de 16 intervalo de un tipo Double
bytes

Variant 22 bytes + longitud de El mismo intervalo que para un


(con caracteres) la cadena tipo String de longitud variable

Definido por el Nmero requerido por El intervalo de cada elemento es el


usuario los elementos mismo que el intervalo de su tipo de
(utilizando Type) datos.

Ejemplos

DIM A, B As Integer A y B sern usados como enteros

DIM Xtot, Zdat As Double Xtot y Zdat sern usados como


variables reales

DIM XTitulo, Nom01, Nom02 Usados para contener datos literales


As String

DIM N, Epsi As Variant Puede contener datos numricos o


literales

Clases de variables.
Las variables pueden ser: Locales, Pblicas o Estticas

Variables Locales.
Las variables Locales son aquellas que se declaran dentro de un mdulo o
procedimiento y slo pueden ser utilizadas en ste. stas dejan de existir una
vez que el procedimiento termina su ejecucin. Se pueden usar en otros
mdulos o procedimientos pero sus caractersticas nada tienen que hacer con
la declaracin dada en otro mdulo o procedimiento. Para declararlas se debe
usar la sentencia DIM.

Por ejemplo:
Sub procedimiento()
Dim nDat As Integer
Dim Cadena As String
Sentencias ....
End Sub
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 132
FUNDAMENTOS DE PROGRAMACIN

Variables Pblicas.
Si se quiere que una variable est disponible para todos los procedimientos de
todos los mdulos VBA de un proyecto, se la debe definir a travs de la
sentencia PUBLIC (y no DIM).

Por ejemplo:
Public NTotal As Integer

Las variables pblicas se deben definir antes del primer procedimiento de un


mdulo de VBA; no deben definirse en los mdulos correspondientes a las
hojas del Libro de Trabajo ni en los mdulos correspondientes a UserForms.

Variables Estticas.
Si se desea que una variable definida en un procedimiento conserve su valor
una vez terminado ste, e ingresado a otro procedimiento, sta se debe definir
a travs de la sentencia STATIC.
Por ejemplo:

Sub Procedimiento()
Static nDat As Integer
[ Sentencias ...]
End Sub

Option Explicit.
La sentencia Option Explicit permite que el programa se detenga cada vez que
VBA encuentre una variable que no ha sido definida. Esto es de gran utilidad
cuando se usan muchas variables ya que nos permite identificar rpidamente
errores o uso no deseado en el nombre de la variable. Esta sentencia se debe
escribir al comienzo del mdulo.

Constantes.
A diferencia de la variables, cuyo valor cambia al ejecutarse un procedimiento,
hay valores que no cambian durante la ejecucin de un procedimiento, stos
valores se denominanConstantes. Las constantes se definen a travs de la
sentencia Const.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 133


FUNDAMENTOS DE PROGRAMACIN

Por ejemplo;
Const Nivel As Integer

Las constantes tambin pueden declararse como Pblicas para que estn
disponibles en todos los procedimientos de todos los mdulos, esto se hace a
travs de la sentencia PUBLIC
Public Const TasaActiva As Integer

Esta sentencia debe incluirse en un mdulo antes del primer procedimiento.

Para definir constantes Locales, basta definirlas a travs de la


sentencia Const dentro de un procedimiento o funcin.

Definir las palabras reservadas de un lenguaje.

En programacin, las palabras reservadas son aquel


grupo de identificadores (palabras) que no pueden ser
utilizadas por el usuario para nombrar a las variables,
funciones, procedimientos, objetos y dems elementos de
programacin que cree.

Generalmente esto se debe a que el propio lenguaje de programacin ya las


utiliza, por esta razn, las palabras reservadas no pueden ser empleadas como
identificadores definidos por el usuario.

Cada lenguaje de programacin tiene su propio grupo de palabras reservadas,


pero en general coinciden algunas de las siguientes: and, array, begin, case,
const, default, do, else, end, file, for, function, goto, if, in, label, mod, not, of, or,
repeat, return, then, to, type, until, void, while, etc.

Identificadores.

Todas las variables, constantes, tipos de datos, funciones y procedimientos que


son definidos por el usuario deben tener un nombre especifico que permita
reconocerlos dentro del programa.

En los lenguajes de programacin, a estos nombres se les conoce como


Identificadores. As pues, todos los nombres de las variables, constates u otros

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 134


FUNDAMENTOS DE PROGRAMACIN

elementos que nosotros definamos en el programa, excepto las palabras


reservadas, son denominados como identificadores.

Algunos de los identificadores ms utilizados en los distintos lenguajes de


programacin:

El nombre puede tener una longitud mxima hasta 127 caracteres.


El primer carcter debe empezar obligatoriamente por una letra o el carcter
(_).
Los caracteres siguientes al primero pueden ser letras, dgitos o el carcter
(_).
No se permiten espacios, ni caracteres especiales (%, $, &, @, !, , , , ).
No se permite usar nombres repetidos, ni palabras reservadas segn la
ayuda del programa.

Por ejemplo:

Nombres permitidos Nombres no permitidos

TotalFactura Total Factura


Total_Factura Total$
PrimaNavidena PrimaNavidea
LongitudMaxima LongitudMxima
_Area1 2_Area

NOTA:
Los usuarios pueden elegir los nombres de sus variables y funciones con gran libertad siempre
y cuando se respeten las reglas del lenguaje, y no utilice palabras reservadas en los nombres
de los identificadores. Aunque no es obligatorio, se aconseja que los identificadores tengan
cierta relacin con el uso que se le va a dar; as por ejemplo, si un identificador hace referencia
a un procedimiento, utilice nombres de verbos para relacionarlo con el proceso que realice.

Palabras clave de Visual Basic


Las palabras clave siguientes estn reservadas, lo que significa que no se
pueden utilizar como nombres para los elementos de programacin, como son
las variables o los procedimientos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 135


FUNDAMENTOS DE PROGRAMACIN

AddHandler Dim Me SByte


AddressOf DirectCast Mod Select
Alias Do Module Set
And Double MustInherit Shadows
AndAlso Each MustOverride Shared
As Else MyBase Short
Boolean ElseIf MyClass Single
ByRef End Namespace Static
Byte EndIf Narrowing Step
ByVal Enum New Stop
Call Erase Next String
Case Error Not Structure
Catch Event Nothing Sub
CBool Exit NotInheritable SyncLock
CByte False NotOverridable Then
CChar Finally Object Throw
CDate For Of To
CDec Friend On True
CDbl Function Operator Try
Char Get Option TryCast
CInt GetType Optional TypeOf
Class Global Or Variant
CLng GoSub OrElse Wend
CObj GoTo Overloads UInteger
Const Handles Overridable ULong
Continue If Overrides UShort
CSByte Implements ParamArray Using
CShort Imports Partial When
CSng In Private While
CStr Inherits Property Widening
CType Integer Protected With
CUInt Interface Public WithEvents
CULng Is RaiseEvent WriteOnly
CUShort IsNot ReadOnly Xor
Date Let ReDim #Const
Decimal Lib REM #Else
Declare Like RemoveHandler #ElseIf
Default Long Resume #End
Delegate Loop Return #If

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 136


FUNDAMENTOS DE PROGRAMACIN

Definir las funciones internas de un programa.


Las funciones son uno de los elementos ms importantes de cualquier lenguaje
de programacin actual. De hecho, Niklaus Wirth, uno de los ms importantes
tericos de la programacin y creador del lenguaje Pascal entre otros, lleg a
indicar que todo programa no era ms que la suma de cdigo (rutinas,
procedimientos o funciones, como se les quiera llamar) y datos (variables,
matrices, etc...). Sea como sea, las funciones tienen un papel estelar en el
desarrollo de aplicaciones en la actualidad.

Hasta ahora, hemos visto como realizar cdigo de una forma estructurada, con
sentencias de control que nos permiten dominar la ejecucin del mismo
fcilmente. Pero si slo tenemos esto, solamente podremos manejar el cdigo
de forma lineal: ejecutaremos las lneas una a una, una detrs de la otra, hasta
el final del programa. Es ms, si quisiramos usar un determinado cdigo
varias veces en el mismo programa tendramos que repetir ese cdigo varias
veces, tenindolo que adaptar a cada situacin. Y qu ocurre si queremos
reutilizar un cdigo en varios programas? Es un problema que se resuelven
gracias a las funciones.

Las funciones son trozos de cdigo que tienen un nombre y que podemos
utilizar en cualquier parte de nuestro cdigo con una llamada directa.

Este es un buen ejemplo:

function datos_personales(nombre, apellidos, edad)


{
return "Hola, " + nombre + " " + apellidos + ", tienes " + edad + " aos.";
}

En este caso hemos definido una funcin que, usando los parmetros que le
hemos pasado, los combina para formar una cadena formateada, que devuelve
gracias a la palabra reservada return.

Funciones predefinidas en visual basic.

En numerosas ocasiones sobre todo si se han de realizar clculos


matemticos, estadsticos o financieros es preciso ejecutar operaciones
distintas a las que gestionan expresiones en las que se utilizan exclusivamente
operadores matemticos afortunadamente no es preciso acudir al diseo de
laboriosos y complejos algoritmos para encontrar la raz cuadrada de un

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 137


FUNDAMENTOS DE PROGRAMACIN

numero o el seno de un Angulo ya que visual BASIC dispone de funciones


incorporadas que devuelven estas cantidades.
Estas funciones se denominan predefinidas internas o estndar o tambin
funciones de librera.

El formato de la funcin es la siguiente

ABS(expresin numrica) EABS(3.5)


SQR(expresin numrica) SRQ(4) =2
INT(expresin numrica) INT(3.84)=3

CLASES DE FUNCIONES.

Funciones aritmticas: las funciones aritmticas son aquellas que realizan la


operaciones del clculo del signo(+,-) parte entera, parte decimal o
truncamiento de los nmeros reales que afectan las operaciones bsicas

Funciones exponenciales: las funciones exponenciales se utilizan en


numerosas aplicaciones de gestin cientfica para resolver problemas de todo
tipo desde crecimiento de poblacin hasta clculos de inters compuesto que
implica funciones exponenciales

Funciones logartmicas: los logaritmos son unas de las funciones estndar


utilizadas en matemticas y aplicaciones cientficas. La funcin logartmica ms
importante es log(argumento) que obtiene el logaritmo natural de un argumento
en: log10(x) = log (x)/log(10)

Funciones trigonomtricas: las funciones trigonomtricas devuelven los valores


del seno, coseno, tangente y cotangente de un ngulo expresado en radianes.

Sin (expresin en radianes)


Cos (expresin en radianes)
Tan (expresin en radianes)
Atn (expresin en radianes)

La siguiente tabla provee una descripcin breve de algunas de las funciones


VBA ms utilizadas.

FUNCIN DESCRIPCIN

Abs Regresa el valor absoluto de un nmero

Asc Obtiene el valor ASCII del primer caracter de una cadena de texto

CBool Convierte una expresin a su valor booleano

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 138


FUNDAMENTOS DE PROGRAMACIN

FUNCIN DESCRIPCIN

CByte Convierte una expresin al tipo de dato Byte

CCur Convierte una expresin al tipo de dato moneda (Currency)

CDate Convierte una expresin al tipo de dato fecha (Date)

CDbl Convierte una expresin al tipo de dato doble (Double)

CDec Convierte una expresin al tipo de dato decimal (Decimal)

Choose Selecciona un valor de una lista de argumentos

Chr Convierte un valor ANSI en valor de tipo texto

CInt Convierte una expresin en un dato de tipo entero (Int)

CLng Convierte una expresin en un dato de tipo largo (Long)

CreateObject Crea un objeto de tipo OLE

CStr Convierte una expresin en un dato de tipo texto (String)

CurDir Regresa la ruta actual

CVar Convierte una expresin en un dato de tipo variante (Var)

Date Regresa la fecha actual del sistema

DateAdd Agrega un intervalo de tiempo a una fecha especificada

DateDiff Obtiene la diferencia entre una fecha y un intervalo de tiempo especificado

DatePart Regresa una parte especfica de una fecha

DateSerial Convierte una fecha en un nmero serial

DateValue Convierte una cadena de texto en una fecha

Day Regresa el da del mes de una fecha

Dir Regresa el nombre de un archivo o directorio que concuerde con un patrn

EOF Regresa verdadero si se ha llegado al final de un archivo

FileDateTime Regresa la fecha y hora de la ltima modificacin de un archivo

FileLen Regresa el nmero de bytes en un archivo

FormatCurrency Regresa un nmero como un texto con formato de moneda

FormatPercent Regresa un nmero como un texto con formato de porcentaje

Hour Regresa la hora de un valor de tiempo

IIf Regresa un de dos partes, dependiendo de la evaluacin de una expresin

InputBox Muestra un cuadro de dilogo que solicita la entrada del usuario

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 139


FUNDAMENTOS DE PROGRAMACIN

FUNCIN DESCRIPCIN

InStr Regresa la posicin de una cadena de texto dentro de otra cadena

InStrRev Regresa la pocisin de una cadena de texto dentro de otra cadena pero empezando desde el

final

Int Regresa la parte entera de un nmero

IsDate Regresa verdadero si la variable es una fecha

IsEmpty Regresa verdadero si la variable est vaca

IsError Regresa verdadero si la expresin es un valor de error

IsNull Regresa verdadero si la expresin es un valor nulo

IsNumeric Regresa verdadero si la variable es un valor numrico

Join Regresa una cadena de texto creada al unir las cadenas contenidas en un arrreglo

LCase Regresa una cadena convertida en minsculas

Left Regresa un nmero especfico de caracteres a la izquierda de una cadena

Len Regresa la longitud de una cadena (en caracteres)

LTrim Remueve los espacios a la izquierda de una cadena

Mid Extrae un nmero especfico de caracteres de una cadena de texto

Minute Regresa el minuto de una dato de tiempo

Month Regresa el mes de una fecha

MsgBox Despliega un cuadro de dialogo con un mensaje especificado

Now Regresa la fecha y hora actual del sistema

Replace Reemplaza una cadena de texto con otra

Space regresa una cadena de texto con el nmero de espacios especidicados

Split Regresa un arreglo formado for cadenas de texto que formaban una sola cadena

Str Regresa la representacin en texto de un nmero

Right Regresa un nmero especificado de carecteres a la derecha de una cadena de texto

Rnd Regresa un nmero aleatorio entre 0 y 1

Round Redondea un nmero a una cantidad especfica de decimales

RTrim Remueve los espacios en blanco a la derecha de una cadena de texto

Second Regresa los segundos de un dato de tiempo

StrComp Compara dos cadenas de texto

StrReverse Invierte el orden de los caracteres de una cadena

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 140


FUNDAMENTOS DE PROGRAMACIN

FUNCIN DESCRIPCIN

Time Regresa el tiempo actual del sistema

Timer Regresa el nmero de segundos desde la media noche

TimeValue Convierte una cadena de texto a un nmer de serie de tiempo

Trim Remueve los espacios en blanco al inicio y final de una cadena de texto

TypeName Obtiene el nombre del tipo de dato de una variable

UCase Convierte una cadena de texto en maysculas

Val Regresa el nmero contenido en una cadena de texto

Weekday Regresa un nmero que representa un da de la semana

WeekdayName Regresa el nombre de un da de la semana

Year Obtiene el ao de una fecha

Trabajar los tipos de operadores y expresiones de un programa.

OPERACIONES CON LOS DATOS (expresiones y operadores).

1. EXPRESIONES.

Una expresin es una combinacin de variables, constantes y literales de tipos


compatibles entre s, estos elementos estn combinados mediante operadores
vlidos; la expresin ms simple est formada por un nico elemento (variable,
literal o constante) sin ningn operador.
Es posible tener expresiones aritmticas (combinando expresiones de
tipo entero y/o real), expresiones lgicas (combinando expresiones de
tipo logico) y expresiones de tipo caracter.

A continuacin se muestran algunas expresiones tpicas:

2 * pi * r
v*t
(a>5) and (a<10)
Sub + cadena

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 141


FUNDAMENTOS DE PROGRAMACIN

Toda expresion tiene asociada un tipo que se corresponde con el tipo del valor
que devuelve la expresion cuando se evalua, por lo que habr tantos tipos de
expresiones como tipos de datos. Habra expresiones numricas y lgicas.

2. OPERADORES.
Son smbolos que se utilizan para definir las operaciones que se realicen
entre los datos

2.1 TIPOS.

a) ARITMTICOS: Se utilizan para realizar operaciones con datos


numricos, formando expresiones aritmticas.

SIGNO SIGNIFICADO

+ Suma

- Resta

* Multiplicacin

/ Divisin

^ Potenciacin

() Agrupa operaciones

El orden de prioridad en la evolucin de los operadores aritmticos es el


Siguiente:
1) Parntesis
2) Potenciacin
3) Multiplicacin y Divisin
4) Suma y Resta
Ejemplo: Si a = 9; b =2; c =5; d = 3

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 142


FUNDAMENTOS DE PROGRAMACIN

Expresin Aritmtica Resultado

A+b*c 19

(a+b)*c 55

((a + c b) * b) / (c + d ) 3

(c + d) ^ b 64

b) RELACIONES: Se utiliza para relacionar expresiones que al ser evaluadas


producen un valor booleano: verdadero o falso.

SIGNO SIGNNIFICADO

< Menor que


> Mayor que
= Igual a
<= Menor o igual que
>= Mayor o igual que
<> Distinto de

No existen prioridades en el orden de evaluacin de los operadores


relacionales. Si es necesario establecer alguna prioridad en el orden de
evaluacin, se deben utilizar los parntesis.
Ejemplo: si a = 9; b = 2; c = 5; d = 3

Expresin relacional Resultado

c < a Verdadero

a >=c Verdadero

a b > d Falso

d <= c b Verdadero

d< c- b Falso

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 143


FUNDAMENTOS DE PROGRAMACIN

Tambin se puede comprar datos alfanumricos. En este caso se compran


uno a uno los caracteres, comenzando desde la izquierda.

Si los datos tienen diferentes longitudes, pero son exactamente iguales hasta el
ltimo carcter del ms corto, entonces se considera que el ms largo es el
mayor. El nico caso en que son caracteres, en el mismo orden. La misma
longitud y los mismos caracteres, en el mismo orden. Las letras minsculas
son mayores que las maysculas.
Ejemplo:

Expresin relacional Resultado

E < F Verdadero

e < F Falso

NADAR = NADAR Verdadero

2 < 12 Falso

B > ASTRO VERDADERO

c) LGICOS: permiten realizar operaciones con expresiones


relacionales, efectuando combinacin de condiciones que generan un
resultado booleano: verdadero o falso.

SIGNOS SIGNIFICADO

AND Producto lgico (y)


OR Suma lgica (0)
NOT Negacin (NO)

Orden de prioridad en la evaluacin de los operadores lgicos:


1) NOT
2) AND
3) OR

AND: es el operador lgico de conjuncin. La expresin que se evala de


cmo resultado verdadero si y solo si todos las condiciones son verdaderas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 144


FUNDAMENTOS DE PROGRAMACIN

Dicho de otra manera, es suficiente que unas de las condiciones sea falsa
para que el resultado sea falso.

Condicin 1 - A Condicin 2 - B Resultado A AND B

Falso Falso Falso


Falso Verdadero Falso
Verdadero Falso Falso
Verdadero Verdadero Varadero

Ejemplo: si a = 9; b = 2; c =5; d = 3

Expresin Lgica Resultado

(a > b) AND (b<= c)


Verdadero
{V} {V}

( C > d ) AND (c = a)
Falso
{V} {F}

b = ( c d ) AND ( a + b) > = ( c * d )
Verdadero
{V} {V}

(c = 5) AND (c >b) AND (a <= d)


Falso
{F} {F} {F}

(C = 5) AND (b < c) AND (a >= d)


Verdadero
{V} {V} {V}

OR: es el operador lgico de disyuncin. La expresin que se evala da como


resultado falso s y solo s todas las condiciones son falsas. Dicho de otra
manera, es suficiente que una de las condiciones sea verdadera para que el
resultado sea verdadero.

Condicin1 A Condicin 2 B Resultado A OR B

Falso Falso Falso


Falso Verdadero Verdadero
Verdadero Falso Verdadero
Verdadero Verdadero Verdadero

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 145


FUNDAMENTOS DE PROGRAMACIN

Ejemplo: si a = 9; b = 2; c =5; d = 3

Expresin Lgica Resultado

(a > b) OR (b<= c)
Verdadero
{V} {V}

( C > d ) OR (c = a)
Falso
{V} {F}

b = ( c d ) OR ( a + b) > = ( c * d )
Verdadero
{V} {V}

(c > 5) OR (c >b) OR (a <= d)


Falso
{F} {F} {F}

(C <> 5) OR (b < c) OR (a >= d)


{V} {V} {V} Verdadero

NOTA:
Es el operador lgico de negacin. Afecta a una sola expresin, a cambio su
estado lgico: si era falso se convierte en verdadero y viceversa.

Condicin 1 - A Resultado - Not A

FALSO VERDADERO
VERDADERO FALSO

EJEMPLOS: A =9, B: 2, C: 5, D: 3

Expresin lgica Resultado

NOT (A < B) {F} VERDADERO

NOT (( B + D) > C ) {F} FALSO

NOT ( C = D ) {V} VERDADERO

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 146


FUNDAMENTOS DE PROGRAMACIN

d. ALFANUMERICO: se utilizan para unir datos alfanumricos.

SIGNO SIGNICADO

+ CONCATENACION

EJEMPLOS: SI NOMBRE = JUAN Y APELLIDO = PEREZ

EXPRESION ALFANUMERICA RESULTADO

NOMBRE+APELLIDO JUANPEREZ

NOMBRE: +APELLIDO JUAN PEREZ

5 +17 517

Orden de evaluacin (Reglas de prioridad)

El orden de evaluacin de los operadores en una expresin es el siguiente:


1) Parntesis (comenzando por lo ms internos)
2) Potencias
3) Productos y divisiones
4) Sumas y restas
5) Concatenacin
6) Relacionales
7) NOT
8) AND
Operadores
9) OR

Aritmeticos Relacionales Logicos

Suma < Menor que


> Mayor que NOT
Resta AND
Multiplicacion = Igual a
<= Menor o igual que OR
Division
Potenciacion >= Mayor o igual que
Agrupar operaciones <> Distinto de

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 147


FUNDAMENTOS DE PROGRAMACIN

Ejercicios y tareas de investigacin

1. Cul es la diferencia entre constante y variable?


2. Qu es una palabra reservada y cual es su importancia?
3. Menciona 3 funciones internas del lenguaje VBA.
4. Elabore 2 ejercicios en vba que contenga los operadores mas utilizados.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 148


FUNDAMENTOS DE PROGRAMACIN

06
TAREA 06: UTILIZAR HERRAMIENTAS PARA EL DISEO Y
ANLISIS DE ALGORITMOS.

En esta tarea trataremos las siguientes operaciones:


Elaborar los algoritmos con el programa de diseo.
Analizar el proceso de construccin de un algoritmo.
Desarrollar casos prcticos con el programa de diseo.

"No hay secretos para el xito. Este se alcanza


preparndose, trabajando arduamente y aprendiendo del
fracaso....... Colin Powell.

EQUIPOS Y MATERIALES:
Computadora con microprocesadores core 2 Duo de mayor capacidad.
Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:
Elaborar los algoritmos con el programa de diseo.
Analizar el proceso de construccin de un algoritmo.
Desarrollar casos prcticos con el programa de diseo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 149


FUNDAMENTOS DE PROGRAMACIN

OPERACIONES
OPERACIN:
ELABORAR LOS ALGORITMOS CON EL PROGRAMA DE DISEO.

Crear un DF en FreeDFD para mostrar en pantalla los n primeros nmeros


naturales, siendo n un valor ingresado por el usuario.

Crear un DF en FreeDFD para calcular el rea de un crculo en base al valor


del radio ingresado por el usuario.
Ingrese los valores iniciales para variables y constantes.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 150


FUNDAMENTOS DE PROGRAMACIN

Diagrama completo:

OPERACIN:
ANALIZAR EL PROCESO DE CONSTRUCCIN DE UN ALGORITMO.
Crear un diagrama con el programa FreeDFD que solicite al usuario una
cantidad de nmeros a ingresar y al final debe de mostrar en pantalla cual es el
mayor y el menor numero de los n ingresados.
Paso 1:
Primero ingrese una salida para mostrar al usuario lo que hara el diagrama.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 151


FUNDAMENTOS DE PROGRAMACIN

Paso 2:
Asignamos los valores iniciales para los n nmeros que ingresara el usuario,
otra variable que almacenara el mayor numero el cual inicia en cero(0) y otra
variable que mostrara el menor numero al cual se le da un numero grande
como por ejemplo 1000000000000 tal como se muestra en la siguiente
imagen.

Paso 3:
Solicitar al usuario mediante una
salida cuantos nmeros desea
ingresar y evaluar.

Paso 4:
Ingresar una entrada de datos el cual almacenara los valores que el usuario
ingrese almacenndolos en la variable N la cual ser evaluada con las
variables mator y menor respectivamente.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 152


FUNDAMENTOS DE PROGRAMACIN

Paso 5:
Luego se solicita al usuario que ingrese la cantidad de nmeros que indico en
el paso anterior.

Paso 6:
Ingresar un proceso repetitivo para que solicite al usuario el ingreso de los n
nmeros.

Paso 7:
Dentro del proceso repetitivo estar el
ingreso de nmeros.

Paso 8:

Luego del ingreso de nmeros debe de agregar una decisin la cual evaluara si
el numero ingresado es mayor a la variable mayor a la cual se le asigno un
valor inicial 0. La primera ves se cumplir y la variable mayor ser el primero

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 153


FUNDAMENTOS DE PROGRAMACIN

numero ingresado, para que posteriormente el siguiente numero se evalue con


el nuevo contenido de esta variable mayor.

Paso 9:

Igual que en el caso anterior, se agregara una decisin pero esta ves para
calcular el nmero menor.

Se evalua el numero preguntando si es menor que la variable menor, recuerde


que la variable menor tiene un numero alto 100000000lo cual es muy
probable que casi siempre el numero ingresado sea menor que el valor de esta
variable inicial, siendo el nuevo numero menor el primer valor ingresado.

Paso 10:

Por ultimo, despus de que termina el proceso repetitivo, se muestra en


pantalla el reporte final inficando cual es el numero menor y el mayor de los n
nmeros ingresados.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 154


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
DESARROLLAR CASOS PRCTICOS CON EL PROGRAMA DE DISEO.

Crear un diagrama con el programa FreeDFD que solicite al usuario ingresar


una cadena de texto y la salida debe de ser los 2 primeros caracteres de esta
cadena.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 155


FUNDAMENTOS DE PROGRAMACIN

Crear un diagrama con el programa FreeDFD que permita ingresar al usuario


un nmero y el resultado debe indicar si el nmero ingresado es Par o impar.

Crear un diagrama con el programa


FreeDFD que permita calcular la suma
de los n primeros nmeros naturales
siendo n un valor ingresado por el
usuario.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 156


FUNDAMENTOS DE PROGRAMACIN

Crear un diagrama con el programa FreeDFD que permita imprimir los nmeros
del 1 al 10 de formas ascendente y descendente, el criterio de orden ser
ingresado por el usuario al iniciar el programa.

FUNDAMENTO TERICO:

ELABORAR LOS ALGORITMOS CON EL PROGRAMA DE DISEO.

DIAGRAMAS DE FLUJO: FREEDFD.


DFD es un programa de libre disposicin para ayuda al diseo e
implementacin de algoritmos expresados en diagramas de flujo (DF). Adems
incorpora opciones para el depurado de los algoritmos, lo que facilita
enormemente la localizacin de los errores de ejecucin y lgicos ms
habituales.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 157


FUNDAMENTOS DE PROGRAMACIN

Su utilizacin es muy sencilla, al tratarse de una herramienta grfica, y adems


incluye un men de ayuda muy completo, por lo que en estas notas nos vamos
a centrar en el uso bsico de las herramientas de diseo y depuracin. El resto
de opciones (detalles de sintaxis ms avanzados, operadores y funciones
disponibles), puede consultarse directamente en la ayuda del programa.

INICIO DE DFD.
La ejecucin de DFD presenta la pantalla de inicio siguiente.

Barra de herramientas.

Ventana de edicin.

Barra de herramientas.

Ejecucin

Depuracin Zoom

Botones de objetos Subprogramas

Aunque puede accederse a todas las opciones que comentaremos a


continuacin a travs del men, y con atajos de teclado, en estas notas las
describiremos a travs de los botones correspondientes.

El bloque de botones de objetos nos permite seleccionar los distintos


elementos (objetos) que vamos a introducir en el DF: sentencias de
asignacin, seleccin, iteracin.
El bloque de ejecucin permite poner en funcionamiento el algoritmo.
El bloque de depuracin se utiliza, en caso de funcionamiento incorrecto,
para detectar errores en la construccin del algoritmo y corregirlos.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 158


FUNDAMENTOS DE PROGRAMACIN

Los botones de subprogramas permiten introducir funciones definidas por el


programador.
Los restantes botones tienen una funcionalidad similar a la de las restantes
aplicaciones Windows: abrir fichero, guardar fichero, cortar, pegar. Puede
verse su tarea asociada acercando el cursor del ratn (sin hacer clic) al
botn correspondiente.

Reconocer los elementos de trtabajo:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 159


FUNDAMENTOS DE PROGRAMACIN

Operadores Aritmeticos en DFD.

En el programa FreeDFD, se usan diferentes tipos de


Operadores, entre los que encontramos Matemticos,
Relacionales, Lgicos y con operaciones sobre Cadenas.

A continuacin, encontrars una lista de los operadores, el tipo al que


pertenecen y su sintaxis:

Operadores Matemticos:

Operacin Smbolo Sintaxis

Suma + valor1 + valor2

Resta - valor1 valor2

Multiplicacin * valor1 * valor2

Divisin / valor1 / valor2

Residuo mod valor1 mod valor2

Potencia ^ valor1 ^ valor2

Raz Cuadrada sqrt sqrt(valor)

Valor Absoluto abs abs(valor)

Seno sin sin(valor)

Coseno cos cos(valor)

Tangente tan tan(valor)

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 160


FUNDAMENTOS DE PROGRAMACIN

Operacin Smbolo Sintaxis

Arco Seno asin asin(valor)

Arco Coseno acos acos(valor)

Arco Tangente atan atan(valor)

Seno Hiperblico sinh sinh(valor)

Coseno Hiperblico cosh cosh(valor)

Tangente Hiperblico tanh tanh(valor)

Logaritmo Decimal log log(valor)

Logaritmo Neperiano ln ln(valor)

Exponencial de e exp exp(valor)

Nmero Aleatorio random random(valor)

Entero ms cercano round round(valor)

Parte entera trunc trunc(valor)

Operadores Relacionales:

Operacin Smbolo Sintaxis

Mayor que > valor1 > valor2

Menor que < valor1 < valor2

Mayor igual que >= valor1 >= valor2

Menor igual que <= valor1 <= valor2

Igual que = valor1 = valor2

Diferente de != valor1 != valor2

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 161


FUNDAMENTOS DE PROGRAMACIN

Operadores Lgicos

Operacin Smbolo Sintaxis

No not not valor

Y and valor1 and valor2

O or valor1 or valor2

O exclusivo xor valor1 xor valor2

No Y nand valor1 nand valor2

No O nor valor1 nor valor2

No O exclusivo xnor valor1 xnor valor2

Tanto los operadores relacionales como los operadores lgicos, retornan


valores de tipo lgico o booleano, en el caso de FreeDFD, retornan .V.
(Verdadero o 1) o .F. (Falso o 0).

Operadores con Cadenas

Para este caso tenemos dos operadores que podemos usar en FreeDFD, que
son:
Obtener la longitud de una cadena: len. Por ejemplo: len(hola) es igual a 4,
que es la cantidad de caracteres en la cadena.
Obtener parte del contenido de una cadena: substring.

Por ejemplo:
Substring(pingino,5,4) es igual a ino, ya que , es el carcter numero 5
de la palabra pingino y el operador devolver los cuatro caracteres
siguientes al quinto incluido el mismo.

Objeto Asignacin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 162


FUNDAMENTOS DE PROGRAMACIN

El objeto Asignacin asigna valores a campos variables. Al ser ejecutado,


puede realizar hasta tres asignaciones.

El cuadro de dialogo del objeto Asignacin contiene espacio para tres


asignaciones, cada asignacin consta de un espacio para el campo variable
situado siempre a la izquierda, el smbolo de asignacin y un espacio para la
expresin situada siempre a la derecha.

Esto indica que al campo variable se le asigna el resultado de la evaluacin de


la expresin. Debe realizarse por lo menos una asignacin.

Objeto Decisin.

El objeto decisin selecciona el flujo a seguir de acuerdo al valor lgico de una


condicin.

La condicin debe ser siempre una expresin que al ser evaluada de como
resultado un valor de tipo de dato Lgico.
Ejemplo:
n<5 , z >3 AND valor1*15 < 300*conta.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 163


FUNDAMENTOS DE PROGRAMACIN

El objeto Decisin esta asociado a dos bloques de objetos ubicados a lado y


lado de este, y un objeto Cierre Decisin ubicado a continuacin de ambos
bloques.
Si al evaluar la condicin se obtiene el valor lgico Verdadero, se ejecuta el
bloque rotulado con la palabra Si, en caso contrario se ejecuta el bloque
rotulado con No. En ambos casos la ejecucin contina en el objeto Cierre
Decisin.

El cuadro de dialogo del objeto Decisin contiene espacio para la expresin


que conforma la condicin, y dos casillas por medio de las cuales se puede
especificar por cual lado continuara el flujo en caso de que la condicin sea
verdadera.

Objeto Lectura.

Este objeto Lectura permite la entrada de valores constantes desde el teclado y


se los asigna a campos variables. Podr ser leda cualquier cantidad de
variables utilizando un objeto Lectura. Al ejecutarse, el objeto despliega un
cuadro de dilogo por cada variable presente en la lista, este cuadro de dilogo
espera que el usuario introduzca un valor constante que ser asignado a la
respectiva variable.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 164


FUNDAMENTOS DE PROGRAMACIN

El cuadro de dilogo para la edicin del objeto contiene un espacio para


ingresar una lista de variables separadas por comas. Debe existir por lo menos
una variable.

Objeto Salida.

El objeto Salida muestra valores por pantalla. Puede ser visualizada cualquier
cantidad de valores utilizando un objeto Salida. Al ejecutarse, este objeto
evala cada una de las expresiones que contienen y despliegan un cuadro de
dilogo que muestra el valor obtenido en cada una de las expresiones en su
respectivo orden.

Objeto Ciclo Mientras.

Este objeto Ciclo Mientras tiene como funcin el ejecutar un bloque de objetos
mientras que una condicin sea verdadera.
La condicin debe ser siempre una expresin que al ser evaluada de como
resultado un valor de tipo de dato Lgico.
Ejemplo:
A>5, x >0 AND y = z, Valor*15 < 300*Contador.
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 165
FUNDAMENTOS DE PROGRAMACIN

Si al evaluar la condicin se obtiene el valor .F. la ejecucin del algoritmo


continuar a partir del objeto que sigue al Cierre.

El cuadro de dialogo del objeto Ciclo Mientras contiene espacio para la


expresin que conforma la condicin.

Objeto Ciclo Paral.

Su funcin es ejecutar un bloque de objetos mientras que la variable contadora


no alcance el lmite establecido por el valor final. El contador es siempre una
variable de tipo de dato Real. Contiene adems un valor inicial que ser
asignado al contador al iniciar la ejecucin del ciclo, un valor final y un valor de
incremento. Si el contador excede el valor final, la ejecucin continuar a partir
del objeto que sigue al Cierre. En caso contrario, se ejecutar el cuerpo del
ciclo y el contador ser incrementado en el valor indicado por el incremento.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 166


FUNDAMENTOS DE PROGRAMACIN

El cuadro de dilogo del objeto Ciclo para contiene espacio para la variable
contador, valor inicial, valor final y el valor de incremento en su respectivo
orden.

Objeto Llamada.

La funcin de este objeto es realizar una llamada a un subprograma, el cual


debe encontrarse en el diagrama en edicin. En
la llamada deben encontrarse los argumentos
que han de ser pasados al subprograma, la
cantidad, el orden y el tipo de los argumentos
deben coincidir con los parmetros del
subprograma.
Una vez que el subprograma haya sido
ejecutado la ejecucin continuar en el objeto
siguiente a la llamada.

El cuadro de dilogo para la edicin de este objeto contiene el espacio para el


nombre del subprograma a llamar y el espacio para la lista de argumentos.
Dichos argumentos deben estar separados por comas.

Objeto Subprograma.

Es el primer objeto a ser ejecutado cuando un subprograma es llamado. Al ser


ejecutado, el objeto Subprograma transfiere el control al siguiente objeto.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 167


FUNDAMENTOS DE PROGRAMACIN

El cuadro de dilogo del objeto Subprograma contiene un espacio para la


descripcin o comentarios acerca del mismo; contiene un espacio para el
nombre del subprograma y un espacio para los parmetros. Estos parmetros
(si existen) deben estar separados por comas. El nombre de un subprograma
debe comenzar por una letra seguida de letras, nmeros el caracter ( _ ).
Ejemplo:

Factorial, Leer, Sub1, sub_programa.


No se tiene en cuenta la diferencia entre maysculas y minsculas para el
nombre de un subprograma, es decir, SUB equivale a sub.

Objeto Fin.

Este objeto junto con el objeto Inicio, delimita el cuerpo del procedimiento
principal.
Solo existe un objeto Fin en el diagrama; la ejecucin de este objeto finaliza la
ejecucin del algoritmo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 168


FUNDAMENTOS DE PROGRAMACIN

Objeto Cierre Ciclo.

Este objeto delimita el cuerpo de un ciclo, al culminar la ejecucin del ciclo el


control se transfiere al objeto que sigue al objeto Cierre Ciclo.

ANALIZAR EL PROCESO DE CONSTRUCCIN DE UN ALGORITMO.

Un primer ejemplo de diseo con DF


Construiremos un primer ejemplo sencillo de algoritmo para ilustrar
lascapacidades ms bsicas de DFD. Dicho algoritmo consistir en pedir un
nmero al usuario y presentarlo por pantalla.
La operacin bsica ser la de insercin de objetos. En primer lugar,
insertaremos una sentencia de salida que le pida al usuario el nmero que
posteriormente se va a imprimir. Para ello pulsamos el botn correspondiente al
objeto que se desea insertar.

y llevamos el ratn al punto donde vamos a insertarlo. La insercin se realiza


pulsando el botn izquierdo, con lo que tendremos una situacin como la
siguiente:
Los puntos azules indican qu objeto se acaba de insertar. Para introducir en la
sentencia de salida el mensaje que queremos imprimir ser necesario EDITAR
dicho objeto, haciendo doble clic sobre el mismo. De este modo se abre una
ventana donde podemos dicho mensaje (por ejemplo 'Buenos das. Dgame un
nmero, por favor').

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 169


FUNDAMENTOS DE PROGRAMACIN

Como el mensaje es una cadena de caracteres, no debemos olvidarnos de las


comillas simples al inicio y final de la misma.
Seguidamente vamos a insertar una sentencia de ENTRADA, para almacenar
en una variable el valor del nmero que nos proporcione el usuario. Para ello
pulsaremos el botn correspondiente

y lo insertaremos a continuacin de la sentencia de salida anterior. Si editamos


el objeto, haciendo doble clic sobre el mismo, aparecer una pantalla cuyo
cuadro de texto nos permitir darle nombre a la variable donde vamos a
guardar el valor (en este ejemplo la variable se va a llamar nmero):

Para finalizar, mostraremos al usuario el nmero que ha introducido, para lo


cual insertaremos una nueva sentencia de SALIDA, que editaremos para que
muestre el siguiente mensaje:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 170


FUNDAMENTOS DE PROGRAMACIN

con lo que el algoritmo tendr el siguiente aspecto en pantalla:

Ejecucin con DF.


Tras haber diseado el algoritmo podemos probar a ejecutarlo, al objeto de
detectar posibles errores en l. Para ello utilizaremos los botones de ejecucin,
y enparticular el botn EJECUTAR

que pondr en marcha el algoritmo.


La primera sentencia en ejecutarse ser la de SALIDA, que mostrar en
pantalla el mensaje correspondiente:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 171


FUNDAMENTOS DE PROGRAMACIN

Seguidamente la de ENTRADA, que nos muestra un cuadro de texto donde


introduciremos el valor que queramos darle a la variable (por ejemplo, 123.45):

y, finalmente, la ltima sentencia de SALIDA:

Cuando el algoritmo finaliza su ejecucin sin error se muestra el siguiente


mensaje:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 172


FUNDAMENTOS DE PROGRAMACIN

Dado que el algoritmo es correcto, lo guardamos por ejemplo, con el nombre


entradasalida. La opcin de guardar es similar a la de cualquier aplicacin
Windows.
Unicamente recordar que en general, durante el proceso de elaboracin de un
algoritmo (que puede ser largo) debemos guardar frecuentemente en disco el
diseo, al objeto de prevenir posibles fallos o errores que dejen inutilizado el
ordenador y provoquen la prdida del trabajo realizado.

DESARROLLAR CASOS PRCTICOS CON EL PROGRAMA DE DISEO.

Disear el algoritmo en FreeDFD que muestre el mayor de 3 nmeros


ingresados.
Ingrese una entrada de datos:

Lo mismo para los 3 nmeros.


Ingrese la Decisin:

Al final el diagrama completo ser como la siguiente imagen:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 173


FUNDAMENTOS DE PROGRAMACIN

Disear el algoritmo en FreeDFD que permita calcular el promedio de dos


notas ingresadas y el programa debe mostrar el mensaje APROBADO si
el promedio es mayor o igual a 11, caso contraro debe mostrar el mensaje
DESAPROBADO.

Ingrese un mensaje solicitando al usuario la


primera nota.

Ingrese una entrada para que el usuario digite la primera nota.


ESCUELA DE TECNOLOGAS DE LA INFORMACIN 174
FUNDAMENTOS DE PROGRAMACIN

Luego de hacer lo mismo para la segunda nota ingrese el proceso para calcular
el promedio.

Despues de calculado el promedio ingrese la decisin de la cual depender el


mensaje a mostrar.

Por ultimo ingrese el mensaje final al usuario.

El diagrama completo se puede ver en la siguiente


imagen:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 175


FUNDAMENTOS DE PROGRAMACIN

Ejercicios y tareas de investigacin

1. Elaborar un diagrama en FreeDFD para resolver el siguiente enunciado:

En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa. El


presupuesto anual del hospital se reparte conforme a la siguiente tabla:

rea Porcentaje del presupuesto


Ginecologa 40%
Traumatologa 30%
Pediatra 30%

Obtener la cantidad de dinero que recibir cada rea, para cualquier monto
presupuestal.

2. Hacer un DF en FreeDFD que pida 10 numeros y luego indique cuantos


fueron pares y cuantos impares.

3. Realizar un DF que determine el nmero intermedio de 3 nmeros enteros


ingresados por teclado.

4. Elaborar un diagrama en FreeDFD para resolver el siguiente enunciado:

Ingresar 3 notas, calcular el promedio y mostrar en pantalla lo siguiente:


Si el promedio es menor a 11 - "Reprobado",
Si el promedio es mayor a 11 y menor a 15 - "Aprobado - Regular".
Si el promedio es mayor a 15 y menor o igual a 20 - "Aprobado -
Excelente".

NOTA: Si cualquier nota ingresada es un numero negativo o es mayor a


20, debera mostrar el mensaje "Existe un ingreso incorrecto".

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 176


FUNDAMENTOS DE PROGRAMACIN

07
TAREA 07: ANALIZAR EL CONCEPTO DE FUNCIONES,
PARMETROS Y PROCEDIMIENTOS.

En esta tarea trataremos las siguientes operaciones:

Aprender a utilizar parmetros en una funcin.


Analizar las normas generales de uso de parmetros.
Construir un procedimiento utilizando variables locales y globales.
Definir las ventajas de utilizar procedimientos y funciones.

"No hay secretos para el xito. Este se alcanza


preparndose, trabajando arduamente y aprendiendo del
fracaso.......... Colin Powell.

EQUIPOS Y MATERIALES:
Computadora con microprocesadores core 2 Duo de mayor capacidad.
Sistema operativo Windows.
Acceso a internet.
Software de maquetacin y desarrollo de pginas web.

ORDEN DE EJECUCIN:
Aprender a utilizar parmetros en una funcin.
Analizar las normas generales de uso de parmetros.
Construir un procedimiento utilizando variables locales y globales.
Definir las ventajas de utilizar procedimientos y funciones.
Utilizar la recursividad en el uso de procedimientos y funciones.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 177


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
APRENDER A UTILIZAR PARMETROS EN UNA FUNCIN.

Pasos para crear una funcin que reciba como parmetros un rango de
celdas u el resultado sea la concatenacin de las mismas.

Paso 1:
Cree un nuevo archivo de Excel y elabore el siguiente diseo:

Paso 2:
Abra el editor VBA e inserte un modulo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 178


FUNDAMENTOS DE PROGRAMACIN

Paso 3:
Ingrese el siguiente cdigo.

Function CONCATENARCELDAS(Rango As Range)

'Bucle para recorrer todas las celdas del rango


For Each celda In Rango.Cells

'Si la celda NO est vaca, entonces concatenarla


If celda.Value <> "" Then
resultado = resultado & "; " & celda.Value
End If

Next celda

'Se remueve el ; y espacio inicial


resultado = Right(resultado, Len(resultado) - 2)

CONCATENARCELDAS = resultado

End Function

Paso 4:
Utilice la funcin para
unir los nombres de
las personas que
trabajan por sede.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 179


FUNDAMENTOS DE PROGRAMACIN

RESULTADO FINAL.

Pasos para crear una funcin que se utilice para contar las celdas que
tienen un determinado color de fondo en un rango.

Paso 1:
Cree un nuevo archivo de Excel e ingrese datos de
prueba como lo muestra el siguiente diseo:

Paso 2:
Abra el editor VBA e ingrese un modulo con la siguiente funcin.

Function ContarColorFondo(rngCeldaColor As Range, rngRangoAContar As


Range) As Long
Dim rngCelda As Range

For Each rngCelda In rngRangoAContar


If rngCelda.Interior.ColorIndex = rngCeldaColor.Cells(1,
1).Interior.ColorIndex Then ContarColorFondo = ContarColorFondo + 1
Next rngCelda

Set rngCelda = Nothing


End Function

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 180


FUNDAMENTOS DE PROGRAMACIN

Paso 3:
Ingrese la funcin tal como lo muestra la siguiente imagen:

La funcin CONCATENARCELDAS recibe como argumento un rango y recorre cada una de las
celdas para concatenar sus valores. Solo en caso de que la celda no tenga un valor ser
excluida de la concatenacin.
Ya que en el primer ciclo del bucle la variable resultado est vaca, mi cadena siempre
empezar con un punto y coma. Es por eso que usando las funciones Right y Len remuevo esa
primera aparicin del punto y coma y del primer espacio en blanco.

RESULTADO:
La funcin se encargara de contar cuantas celdas del rango B2:B6 tienen el
color de referencia de la celda B2.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 181


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
ANALIZAR LAS NORMAS GENERALES DE USO DE PARMETROS.

Pasos para crear una funcin que muestre las iniciales de un nombre
completa en una celda.

Paso 1:
Creamos un nuevo archivo de Excel con el siguiente diseo:

Paso 2:
Insertamos un modulo con la siguiente funcin:

Function Iniciales_Nombres(Texto As String) As String


Dim longitud As Long, i As Long
Dim cadena_inicial As String
longitud = Len(Texto)
For i = 1 To longitud
If Asc(Mid(Texto, i, 1)) >= 65 And Asc(Mid(Texto, i, 1)) <= 90 Then
cadena_inicial = cadena_inicial & Mid(Texto, i, 1)
End If
Next i
Iniciales_Nombres = cadena_inicial

End Function

Paso 3:
Nos posicionamos en la celda C2 e insertamos la funcin dando como nico
parmetro la celda donde se encuentra el nombre completo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 182


FUNDAMENTOS DE PROGRAMACIN

Funcin Len
Esta funcin nos devuelve el nmero de caracteres de una cadena, por lo tanto
retorna un nmero entero y recibe un parmetro que es un tipo de dato string.
Su sintaxis es: Len([cadena de caracteres])
Ejemplo: Si Texto="hola como estas" Len(Texto) devuelve el valor 15.

Funcin Asc
Con la funcin Asc podemos obtener el cdigo ASCII de un caracter

Funcin Mid
Extrae partes de una cadena y recibe 3 parmetros.
Sintaxis: Mid(cadena, inicio, longitud)
El parmetro cadena es la cadena a extraer caracteres.
Inicio es el carcter desde donde se comienza la extraccin.
Longitud es la cantidad de caracteres devueltos a partir del carcter de inicio.

Pasos para crear una funcin que reciba 2 notas como parmetros y
deber calcular el promedio, la funcin deber mostrar un mensaje
distinto dependiento del promedio calculado.

Paso 1:
Cree un nuevo archivo de Excel y elabore el siguiente diseo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 183


FUNDAMENTOS DE PROGRAMACIN

Paso 2:
Abra el editor de VBA e inserte un modulo con la siguiente funcin.

Function promedio_notas(n1 As Double, n2 As Double) As String

p = (n1 + n2) / 2

If p < 11 Then
promedio_notas = "Malo"
End If

If p >= 11 And p <= 14 Then


promedio_notas = "Regular"
End If

If p > 14 And p <= 17 Then


promedio_notas = "Bueno"
End If

If p > 17 Then
promedio_notas = "Excelente"
End If

End Function

Paso 3:
Ingrese la funcin en las celdas que desea mostrar el mensaje segn el
promedio.
Por ejemlo en la celda D2 ingrese la siguiente funcin indicndole como
parmetros las dos notas que tiene ese primer registro.

=promedio_notas(B2;C2)

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 184


FUNDAMENTOS DE PROGRAMACIN

RESULTADO:

OPERACIN:
CONSTRUIR UN PROCEDIMIENTO UTILIZANDO VARIABLES LOCALES Y
GLOBALES.

Variable Local.
Pasos para crear un modulo que contenga 2 procedimientos, en el primero se
definir una variable local y en el segundo se utilizara la misma variable del
procedimiento 1, el sistema debe evaluar el mbito de la variable e indicar si
esta o no definida en el segundo procedimiento.

Paso 1:
Cree un nuevo archivo de Excel, y en el editor de VBA ingrese los siguientes
procedimientos.

Sub Procedimiento1()
Dim n As String
n = "senati"
MsgBox "El valor de n es " & n
End Sub

Sub Procedimiento2()
If n = "" Then
MsgBox "La variable n no esta definida"
Else
MsgBox "La respuesta es " & n
End If
End Sub
ESCUELA DE TECNOLOGAS DE LA INFORMACIN 185
FUNDAMENTOS DE PROGRAMACIN

Paso 2:
Inserte dos formas en la hoja de Excel y vincule cada forma con un
procedimiento distinto.

Paso 3:
Ejecute ambos botones vinculados, en el primer caso mostrara el valor de la
variable local, en el segundo caso el procedimiento verifico que no existe y
mostrara un mensaje de advertencia.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 186


FUNDAMENTOS DE PROGRAMACIN

Variable Global.
Ejercicio con la misma lgica que el ejemplo anterior con el cambio del mbito
de la variable, ya que en este caso la variable estar definica como global.

Crear un nuevo archivo de Excel e ingresar las siguientes funciones con la


definicin de la variable.
Dim n As String

Sub Procedimiento1()
n = "senati"
MsgBox "El valor de n es " & n
End Sub

Sub Procedimiento2()
If n = "" Then
MsgBox "La variable n no esta definida"
Else
MsgBox "La respuesta es " & n
End If
End Sub
Luego de ejecutar desde los vinculas en la hoja se podr apreciar el mismo
mensaje en ambos procedimientos ya que la variable esta definida como global
y puede ser vista desde cualquier procedimiento en el modulo.

NOTA:
La variable toma el valor Senati cuando se ejecuta el primer procedimiento, si al abrir el libro
se ejecuta primero el segundo procedimiento se mostrara el mensaje de no definido.

Resultado al ejecutar el Procedimiento 1

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 187


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:
DEFINIR LAS VENTAJAS DE UTILIZAR PROCEDIMIENTOS Y FUNCIONES.

Pasos para crear un modulo que al ejecutar muestre y liste todos los nombres
de las hojas de Excel.

Paso 1:
Cree un nuevo archivo de Excel y cree el siguiente procedimiento:

Sub CrearIndiceDelLibro()
Pregunta = MsgBox("Desea crear el ndice en una hoja nueva?", _
vbExclamation + vbYesNoCancel, "Donde crear el ndie...")

If Pregunta = vbCancel Then Exit Sub


If Pregunta = vbYes Then Worksheets.Add Before:=Worksheets(1)

With [B2]
.Value = "Contenido de este libro": .Font.Size = 12
.Font.Bold = True: .Font.Underline = xlUnderlineStyleSingle
End With

For Each Hoja In Worksheets


If Hoja.Name <> ActiveSheet.Name Then
INCREMENTO = INCREMENTO + 1
ActiveSheet.Hyperlinks.Add _
Anchor:=ActiveSheet.Cells(3 + INCREMENTO, 3), _
TextToDisplay:=Hoja.Name, _
SubAddress:=Hoja.Name & "!A1", _
Address:=""
End If
Next
End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 188


FUNDAMENTOS DE PROGRAMACIN

Paso 2:

Inserte una forma y vincule el objeto con el procedimiento creado en el paso


anterior.

Paso 3:

Ejecute la macro desde la forma y dele clic en si para que el ndice se cree en
una nueva hoja.

RESULTADO:

Se creara en una nueva hoja el ndice creado por el procedimiento.

El ndice lista los nombres de las hojas y crea un vionculo a cada una de ellas.

NOTA:
Esta macro es til cuando se tiene un libro con bastantes hojas, facilitando asi el despliegue
entre ellas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 189


FUNDAMENTOS DE PROGRAMACIN

OPERACIN:

UTILIZAR LA RECURSIVIDAD EN EL USO DE PROCEDIMIENTOS Y


FUNCIONES.

Pasos para crear un procedimiento que permitir encontrar el rea de las tres
figuras gemoetricas mas utilizadas (cuadrado, triangulo y circulo).

El modulo tendr un procedimiento principal el cual se encargara de evaluar


una variable y dependiendo del tipo de figura invocara la ejecucin de otro
procedimiento distinto.

Ademas se creara otro modulo el cual tendr un procedimiento que se


encargue de registrar la funcin y agregar los detalles de la misma.

Paso 1:

Cree un nuevo archivo de Excel y elabore el siguiente diseo:

Paso 2:

Abra el editor de VBA y cree dos modulos asignndoles a ambos los nombres
que se indican en la siguiente imagen:

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 190


FUNDAMENTOS DE PROGRAMACIN

Paso 3:

En el modulo Mi_funcion_areas_figuras ingrese los siguientes procedimientos:

Function area_figura(figura As String, lado As Integer, base As Integer, _


altura As Integer, radio As Integer) As Double
If (figura = "cuadrado") Then
area_figura = area_cuadrado(lado)
ElseIf (figura = "triangulo") Then
area_figura = area_triangulo(base, altura)
ElseIf (figura = "circulo") Then
area_figura = area_circulo(radio)
Else
MsgBox ("Figura no definida para esta funcion." + Chr(13) + Chr(13) _
+ "Ingrese solo las siguiente figuras: " + Chr(13) _
+ "cuadrado - triangulo - circulo")
End If

End Function

Public Function area_cuadrado(lado)


area_cuadrado = lado * lado
End Function

Public Function area_triangulo(base, altura)


area_triangulo = (base * altura) / 2
End Function

Public Function area_circulo(radio)


Const pi As Double = 3.1416
area_circulo = pi * radio * radio
End Function

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 191


FUNDAMENTOS DE PROGRAMACIN

Paso 4:

En el modulo Descripcion_mi_funcion ingrese el siguiente cdigo:

Sub FunctionDescription()
'------------------------------------------------------------------------
'Este procedimiento agrega descripcion de ayuda a la funcion creada,
'Ademas agrega la funcion a una categoria existente.

'Por sistemas_mr@hotmail.com
'Date: 05/11/2013
'------------------------------------------------------------------------

'Declarando las variables necesarias


Dim NombredeFuncion As String 'FuncName
Dim DescripcionFuncion As String
Dim CategoriaFuncion As Variant
Dim NombredeMiCategoria As String

'La funcion area_figura tiene 5 parametros


Dim DescripcionArgumentos(1 To 5) As String

'"FrictionFactor" is the name of the function.


NombredeFuncion = "area_figura"

'Se agrega la descripcion de la funcion.


DescripcionFuncion = "Calcula el area de la figura geometrica indicada"

'Cada categoria tiene un numero asignado.


'En este ejemplo le asignaremos el numero 3.
CategoriaFuncion = 3

'Puede agregar directamente el nombre de la categoria.


'De forma opcional puede agregar un evento para buscar
'el nombre de la categoria segun el numero ingresado.
'FuncCat = "My VBA Functions"

NombredeMiCategoria = "Mis Funciones Personales"

'Here we add the description for the function's arguments.


DescripcionArgumentos(1) = "Ingrese solo las figuras: cuadrado, triangulo o circulo"
DescripcionArgumentos(2) = "Lado del cuadrado, si la figura ingresada no es un cuadrado, entonces ingrese cero(0)"
DescripcionArgumentos(3) = "Base de la figura, si la figura ingresada no es un triangulo, entonces ingrese cero(0)"
DescripcionArgumentos(4) = "Altura de la figura, si la figura ingresada no es un triangulo, entonces ingrese cero(0)"
DescripcionArgumentos(5) = "Radio del circulo, si la figura ingresada no es un circulo, entonces ingrese cero(0)"

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 192


FUNDAMENTOS DE PROGRAMACIN

'Opcionalmente puede cambiar la variable NombredeMiCategoria por CategoriaFuncion


'si desea que su funcion se ubique en una categoria propia de Excel.

Application.MacroOptions _
Macro:=NombredeFuncion, _
Description:=DescripcionFuncion, _
Category:=NombredeMiCategoria, _
ArgumentDescriptions:=DescripcionArgumentos

'Categorias existentes.
Select Case CategoriaFuncion
Case 1: CategoriaFuncion = "Financial"
Case 2: CategoriaFuncion = "Date & Time"
Case 3: CategoriaFuncion = "Math & Trig"
Case 4: CategoriaFuncion = "Statistical"
Case 5: CategoriaFuncion = "Lookup & Reference"
Case 6: CategoriaFuncion = "Database"
Case 7: CategoriaFuncion = "Text"
Case 8: CategoriaFuncion = "Logical"
Case 9: CategoriaFuncion = "Information"
Case 10: CategoriaFuncion = "Commands"
Case 11: CategoriaFuncion = "Customizing"
Case 12: CategoriaFuncion = "Macro Control"
Case 13: CategoriaFuncion = "DDE/External"
Case 14: CategoriaFuncion = "User Defined default"
Case 15: CategoriaFuncion = "Engineering"
Case Else: CategoriaFuncion = CategoriaFuncion
End Select

'Informacion para que el usuario sepa que se agrego los datos de la nueva funcion.
MsgBox "Mi funcion (" & NombredeFuncion & ") fue agregada satisfactoriamente a la categoria " &
NombredeMiCategoria, vbInformation, "Done"

End Sub

Paso 5:
Ingrese los valores necesarios para calcular por ejemplo el rea de un
cuadrado e ingres la funcin en la celda C13:
Tome en cuenta que solo debe ingresar los valores que necesite, por ejemplo
para el cuadrado solo se necesitaran los valor.es de las celdas C7 y C8, en los
dems valores ingrese el cero(0)

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 193


FUNDAMENTOS DE PROGRAMACIN

NOTA:
Si utiliza herramienta para insertar funcin podr observar los detalles asignados a las
propiedades de la funcin nueva.

Los procedimientos creados en el paso 3 es una muestra de que los cdigos se


pueden crear en bloques para que su mantenimietno y entendimiento sea mas
efectivo.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 194


FUNDAMENTOS DE PROGRAMACIN

FUNDAMENTO TERICO:

Aprender a utilizar parmetros en una funcin.

Una de las herramientas ms importantes en cualquier lenguaje de


programacin son las funciones. Una funcin es un conjunto de instrucciones
que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello,
que este conjunto de instrucciones se agrupan en una funcin. Las funciones
pueden ser llamadas y ejecutadas desde cualquier punto del programa.

Adems, una funcin puede recibir parmetros externos de los cuales dependa
el resultado de dicha funcin. Es decir, segn el parmetro o parmetros con
los que se invoque a la funcin, sta devolver un resultado u otro.
Las funciones deben estar definidas antes de realizar la llamada a la funcin
(como es lgico).

Sintaxis general para declarar una funcin:


function nombre (parmetro1, parmetro2, , parmetroN) {
instruccin1
instruccin2
.
Instruccin N
}
Para llamar (hacer que se ejecute) la funcin usaremos esta sintaxis: nombre
(parmetros);

Definicin de parmetro.
Un parmetro es una orden o valor que se le pasa a la funcin y esta variar su
comportamiento. Por ejemplo se puede crear un a funcin que se llame
"NombreDeUsaurio($id);", esta funcin cuando sea llamada se le pasar un
valor numrico dentro de la variable $id y la funcin dependiendo de este
identificador de usuario retornar un nombre u otro valor.

Ejemplo:
Se escribe dentro de la programacin:
Buenos das usuario NombreDeUsaurio(48022).

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 195


FUNDAMENTOS DE PROGRAMACIN

Esto mostrar:
Buenos das usuario "Diaz"

Las Funciones retornan valores o no. Si el usuario 1456 no hubiese sido


encontrado en la base de datos la funcin no hubiese retornado nada o el
programador podra haber previsto esto y mostrar un mensaje de error o
advertencia (usuario 48022 no ha sido encontrado).

NOTA:
Diferencia entre parmetro y argumento en programacin
En general las palabras argumento y parmetro son tomadas como sinnimos; en realidad hay
diferencia: los parmetros aparecen en la definicin del procedimiento, los argumentos
aparecen en los llamados a procedimientos.

Ejemplo de funcin en entorno web (PHP)


Escriba ahora este cdigo en un bloc de notas y gurdelo con el nombre de
archivo como ejemplo1.php. A continuacin, suba el fichero a un servidor de
pago, gratuito o local y visualice el resultado.

<?php //Ejemplo funciones 1


function mostrarTexto($texto) {
echo "<strong>El texto a mostrar es el siguiente: </strong>";
echo $texto;
}
mostrarTexto("Me gusta mucho la web de aprenderaprogramar.com");
?>

RESULTADO:

En este ejemplo hemos visto cmo hemos definido una funcin cuyo nombre es
mostrarTexto. Esta funcin espera un parmetro cuando es invocada
(parmetro que se ha denominado $texto). Una vez se ejecuta, la funcin
ejecuta una serie de instrucciones y devuelve el control al punto desde el que
fue invocada.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 196


FUNDAMENTOS DE PROGRAMACIN

La utilidad fundamental de las funciones es no tener que repetir partes de


cdigo comunes, que sera necesario repetir varias veces. Esas partes de
cdigo comunes se agrupan en funciones y simplemente llamaremos a la
funcin cada vez que necesitamos ejecutar ese cdigo. De esta manera,
evitamos la repeticin que hace ms largo y difcil de entender un programa o
desarrollo web.

Analizar las normas generales de uso de parmetros.


Ejemplo 1:
Crear un archivo de Excel y disear la siguiente hoja.

Habilitar el editor de vba, insertar un modulo y crear la siguiente funcin.

Public Function Descuento(Precio, porcentaje As Double)


Descuento = Precio - (porcentaje / 100 * Precio)
End Function
Ingresar la funcin y darle los parmetros que necesita para calcular el nuevo
precio final.

Tambien puede utilizar la herramienta para insertar funcin de Excel.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 197


FUNDAMENTOS DE PROGRAMACIN

Ejemplo 2:
Crear un archivo de Excel y disear la siguiente hoja.

Habilitar el editor de vba, insertar un modulo y crear la siguiente funcin.

Ingrese la funcin en la celda B2 utilizando la funcin CalculaImpuesto, la cual


recibir como parmetro el Monto y devolver el igv.

Explicacion de la funcin CalculaImpuesto:


Todas las funciones que creemos se deben colocar entre las secciones
Function . End Function, para este caso CalculaImpuesto, es el nombre de
nuestra funcin y ser el nombre que ocupemos para llamarla en nuestra hoja
de calculo. La seccin (Valor As Double) indica que la funcin recibe un
parmetro (o valor) de tipo Double y con nombre Valor (Double es un tipo de
datos numrico e indica que contendr un numero posiblemente con
decimales), la parte As Double, indica que el resultado de la formula tambin
sera de tipo Double.

Dim calculo As Double, declara una variable llamada calculo y que sera de tipo
double, la linea calculo = Valor * 0.18, realiza el calculo de la formula
multiplicando por 0.13 el valor que se recibe como parmetro y lo almacena en

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 198


FUNDAMENTOS DE PROGRAMACIN

la variable Calculo. Finalmente en la linea CalculaImpuesto = calculo, indica


que la funcin regresa el valor almacenado en la variable calculo (esto es el
resultado Valor * 0.13).

NOTA:
Un parmetro representa un valor que el procedimiento espera que se transfiera cuando es
llamado. La declaracin del procedimiento define sus parmetros.
Cuando se define un procedimiento Function o Sub, se especifica una lista de parmetros entre
parntesis que va inmediatamente despus del nombre de procedimiento. Para cada
parmetro, se especifica un nombre, un tipo de datos y un mecanismo para pasar argumentos.
Tambin puede indicar que un parmetro es opcional. Esto significa que el cdigo de llamada
no tiene que transferir un valor.
El nombre de cada parmetro acta como una variable local en el procedimiento. El nombre del
parmetro se utiliza del mismo modo que cualquier otra variable.

Para definir un parmetro de procedimiento.


1. En la declaracin del procedimiento, agregue el nombre de parmetro a la
lista de parmetros del procedimiento, separndolo de otros parmetros
mediante comas.
2. Decida el tipo de datos del parmetro.
3. Inserte una clusula As despus del nombre de parmetro para especificar
el tipo de datos.
4. Decida el mecanismo para pasar los argumentos que desea para el
parmetro. Normalmente los parmetros se transfieren por valor, a menos
que desee que el procedimiento pueda cambiar su valor en el cdigo de
llamada.
5. Anteponga ByVal (Visual Basic) o ByRef (Visual Basic) al nombre del
parmetro para especificar el mecanismo para pasar argumentos.
6. Si el parmetro es opcional, anteponga Optional (Visual Basic) al mecanismo
para pasar argumentos y, detrs del tipo de datos del parmetro, incluya un
signo igual (=) y un valor predeterminado.

En el ejemplo siguiente se define el esquema de un procedimiento Sub con tres


parmetros. Los dos primeros parmetros son obligatorios, mientras que el
tercero es opcional.
Las declaraciones de parmetros estn separadas en la lista de parmetros
mediante comas.

Sub updateCustomer(ByRef c As customer, ByVal region As String,


Optional ByVal level As Integer = 0)
' Insert code to update a customer object.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 199


FUNDAMENTOS DE PROGRAMACIN

End Sub
Ejemplo en Visual Basic

CONSTRUIR UN PROCEDIMIENTO UTILIZANDO VARIABLES LOCALES Y


GLOBALES.

MBITO DE LAS VARIABLES.


El mbito de una variable determina el mdulo y el procedimiento en el que se
puede usar una variable.

mbito Cmo se declara una variable en este


mbito

Un procedimiento Incluye instrucciones Dim, Static o Private dentro del


procedimiento.

Al nivel de mdulo Incluye una instruccin Dim antes del primer procedimiento de un
mdulo.

Todos los mdulos Incluye una instruccin Public antes del primer procedimiento de
un mdulo.

Variables Locales.
Las variables Locales son aquellas que se declaran dentro de un mdulo o
procedimiento y slo pueden ser utilizadas en ste.
stas dejan de existir una vez que el procedimiento termina su ejecucin. Se
pueden usar en otros mdulos o procedimientos pero sus caractersticas nada
tienen que hacer con la declaracin dada en otro mdulo o procedimiento.
Para declararlas se debe usar la sentencia DIM.

Por ejemplo:
Sub procedimiento()
Dim nDat As Integer
Dim Cadena As String
Sentencias ....
End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 200


FUNDAMENTOS DE PROGRAMACIN

Variables a nivel de mdulo.


Algunas veces se desear que una variable est disponible para todos los
procedimientos de un mdulo. Para ello, se declara la variable antes del primer
procedimiento del mdulo (fuera de cualquier procedimiento o funcin).

DIM fecha As Date


Sub Dias()
Aqu va el cdigo
End Sub
Sub Meses()
Aqu va el cdigo
End Sub

Variables Public.
Para que una variable est disponible para todos los procedimientos de un
proyecto de VBA, se declara la variable a nivel de mdulo con el uso de la
palabra public.
Public InteresAnual as Long

Variables Static.
Las variables estticas son un caso especial. Se declaran a nivel de
procedimiento y retienen su valor despus de que el procedimiento finaliza.

Sub Ejemplo()
Static Counter As Integer
Aqu va el cdigo
End Sub

Procedimientos.
Un procedimiento est formado por un conjunto de sentencias que permite
resolver un problema. Un mdulo est formado por uno o ms procedimientos.
Un procedimiento se declara a travs de la sentencia Sub y puede ser Privado,
Pblico o Esttico.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 201


FUNDAMENTOS DE PROGRAMACIN

Procedimiento Privado.
Un procedimiento privado slo es accesible por otros procedimientos dentro del
mismo mdulo. Su sintaxis es:

Private Sub Procedimiento (Argumento1,Argumento2,.....)


[sentencias]
End Sub

Procedimiento Pblico.
Un procedimiento pblico es accesible por todos los procedimientos de todos
los mdulos VBA de un proyecto, su sintaxis es:

Public Sub Procedimiento(Argumento1,Argumento2,.....)


[Sentencias]
End Sub

Procedimiento Esttico.
Para que las variables de un procedimiento se conserven una vez terminada su
ejecucin, ste debe definirse como Esttico:

Static Sub Procedimiento(Argumento1,Argumento2,.....)


[Sentencias]
End Sub

La sentencia Sub y End Sub son obligatorias al definir cualquier procedimiento.


Los argumentos y las sentencias Private, Public y Static son opcionales. Es
importante mencionar que al definir un procedimiento sin ninguna de las
sentencias anteriores, por defecto ste se define como Pblico, es decir:

Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
End Sub

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 202


FUNDAMENTOS DE PROGRAMACIN

Es equivalente a:
Public Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
End Sub

Existe una instruccin que permite terminar la ejecucin de un procedimiento,


sta es la instruccin Exit Sub. Por ejemplo, si tenemos el siguiente
procedimiento:
Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
Exit Sub
[Sentencias]
End Sub

Llamar a un procedimiento desde otro

Para llamar a un procedimiento desde otro procedimiento, se puede utilizar la


sentencia Call o simplemente el nombre del procedimiento. Por ejemplo:

Sub Proced1 (Argumento1,Argumento2,.....)


[Sentencias]
Proced2
[Sentencias]
End Sub

En este caso, el procedimiento Proced1 llama al procedimiento Proced2.

La sentencia Call se utiliza cuando se requiere llamar a un procedimiento al


cual hay que pasarle un argumento, por ejemplo:

Sub Procedimiento1(argumento1,argumento2,.....)
[Sentencias]
indice= ........

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 203


FUNDAMENTOS DE PROGRAMACIN

Call Proced2(indice)
[Sentencias]
End Sub

En este caso, el procedimiento Procedimiento1 llama al procedimiento


Procedimiento2 al cual se le debe pasar el argumento indice.
Es recomendable utilizar siempre la sentencia Call para llamar a otro
procedimiento, aunque a ste no se le tengan que pasar argumentos, esto
permite identificar ms fcilmente las llamadas a otros procedimientos.

Ejemplo para crear procedimiento con variable local.

Sub Variable_local()

Dim x As Integer, y As Integer

x=5
y = 20

MsgBox "el valor de x es " & x & _


Chr(13) & "el valor de y es " & y

End Sub

Ejemplo de mbito de una variable local.


Sub Macro1()
Dim x As Integer
x = 10
MsgBox "x, segn se ve en Macro1 es " & x
'la siguiente lnea ejecuta Macro2
Macro2

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 204


FUNDAMENTOS DE PROGRAMACIN

End Sub
Sub Macro2()
MsgBox "x, segn se ve en Macro2 es " & x
End Sub

Al ejecutar el resultado seria el siguiente:

Si modificamos el ejemplo anterior y declaramos las variables al inicio del


modulo indicando que son globales, tal como lo muestra el siguiente cdigo:

Al ejecutar el procedimiento tendramos las siguientes ventanas de alerta como


resultado.

Se puede apreciar que la variable tiene un alcance de todo el modulo, por tal
motivo se puede saber su valor desde la Macro1 y la Macro2.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 205


FUNDAMENTOS DE PROGRAMACIN

Definir las ventajas de utilizar procedimientos y funciones.

Las ventajas y desventajas del uso de funciones y procedimientos:


Las funciones y procedimientos son dos de las herramientas de la caja de
herramientas de cada programador que le permiten escribir un cdigo ms
eficiente. Mientras que puede ser un inconveniente el uso de estas opciones de
programacin, las ventajas superan con mucho cualquier desventaja. Mediante
la implementacin de funciones y procedimientos en tu programa, el
programador reduce el tiempo de codificacin y el tiempo de depuracin,
reduciendo as el tiempo total de desarrollo.

Procedimientos y funciones.
Los procedimientos y funciones operan sobre
el mismo principio de escribir un pequeo
fragmento de cdigo que se puede llamar, en
lugar de escribir el mismo cdigo en varios
lugares en tu programa. Esta prctica, por lo
menos, reduce el tamao del programa, y
normalmente mejora la legibilidad del
programa.

La mayora de los lenguajes de programacin


contienen funciones incorporadas, y apoyan la capacidad para crear
procedimientos y funciones en tu cdigo.

Reduccin del tiempo de codificacin.


Una ventaja de utilizar funciones y
procedimientos es que el tiempo de
codificacin se reduce.
Si slo tienes que escribir una rutina una
vez y sentencias de cdigo que la llaman, te
ahorras tiempo de codificacin de la misma
rutina varias veces, incluso si optas por
cortar y pegar la rutina. La reduccin del
tiempo de codificacin ayuda a reducir el tiempo de entrega del proyecto.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 206


FUNDAMENTOS DE PROGRAMACIN

Reduccin del tiempo de depuracin.


Adems de reducir el tiempo de programacin,
utilizar procedimientos y funciones ayuda a
reducir el tiempo de depuracin.
Cuando se pone el mismo cdigo en varios
lugares, a veces es difcil hacer cambios de
depuracin en todos esos lugares.

Si hace el cambio a un solo lugar, pero no lo


hace en los otros dos lugares, es fcil
confundirse. Esto hace que sea difcil encontrar
el problema y eliminarlo de todos los lugares del
programa.

Efectos de mantenimiento.
Los efectos sobre el mantenimiento del
programa, que es la ms costosa de las etapas
de desarrollo, pueden ser tanto buenos como
malos.

Al igual que con la depuracin, si el problema se


encuentra en un procedimiento llamado,
entonces puedes encontrarlo una vez y
eliminarlo rpidamente. Sin embargo, si el
programador que escribi el cdigo, us procedimientos y funciones en exceso,
el programa puede ser ms difcil de entender. Entre ms difcil sea de
entender, ms tiempo se necesita para arreglar un programa.

Utilizar la recursividad en el uso de procedimientos y funciones.


Crear funciones y procedimientos por separado puede ser muy til cuando
necesitamos organizar y reutilizar procesos asi como tambin optimizar el
tiempo de mantenimento del mismo.
La programacin modular es un paradigma de programacin que consiste en
dividir un programa en mdulos o subprogramas con el fin de hacerlo ms
legible y manejable.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 207


FUNDAMENTOS DE PROGRAMACIN

Programacion Modular.
Se presenta histricamente como una evolucin de la programacin
estructurada para solucionar problemas de programacin ms grandes y
complejos de lo que sta puede resolver.
Al aplicar la programacin modular, un problema complejo debe ser dividido en
varios subproblemas ms simples, y estos a su vez en otros subproblemas ms
simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente
simples como para poder ser resueltos fcilmente con algn lenguaje de
programacin.
Un mdulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de
estos mdulos tiene una tarea bien definida y algunos necesitan de otros para
poder operar. En caso de que un mdulo necesite de otro, puede comunicarse
con ste mediante una interfaz de comunicacin que tambin debe estar bien
definida.
Si bien un mdulo puede entenderse como una parte de un programa en
cualquiera de sus formas y variados contextos, en la prctica se los suele
tomar como sinnimos de procedimientos y funciones. Pero no necesaria ni
estrictamente un mdulo es una funcin o un procedimiento, ya que el mismo
puede contener muchos de ellos, no debe confundirse el trmino "modulo" (en
el sentido de programacin modular) con trminos como "funcin" o
"procedimiento", propios del lenguaje que lo soporte.

Orgenes de la programacin estructurada.


A finales de los aos 1970 surgi una nueva forma de programar que no
solamente daba lugar a programas fiables y eficientes, sino que adems
estaban escritos de manera que facilitaba su mejor comprensin, no slo
proveyendo ventajas durante la fase de desarrollo, sino tambin posibilitando
una ms sencilla modificacin posterior.
El teorema del programa estructurado, propuesto por Bhm-Jacopini,
demuestra que todo programa puede escribirse utilizando nicamente las tres
instrucciones de control siguientes:
Secuencia.
Instruccin condicional.
Iteracin (bucle de instrucciones) con condicin al principio.
Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor
repertorio de estructuras de control, stas pueden ser construidas mediante las
tres bsicas citadas.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 208


FUNDAMENTOS DE PROGRAMACIN

Ventajas de la programacin estructurada.

Ventajas de la programacin estructurada


comparada con el modelo anterior (hoy
llamado despectivamente cdigo
espagueti).
Los programas son ms fciles de
entender, pueden ser ledos de forma
secuencial y no hay necesidad de hacer
engorrosos seguimientos en saltos de
lneas (GOTO) dentro de los bloques de
cdigo para intentar entender la lgica.
La estructura de los programas es clara, puesto que las instrucciones estn
ms ligadas o relacionadas entre s.
Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los
fallos o errores del programa ("debugging") se facilita debido a su estructura
ms sencilla y comprensible, por lo que los errores se pueden detectar y
corregir ms fcilmente.
Reduccin de los costos de mantenimiento. Anlogamente a la depuracin,
durante la fase de mantenimiento, modificar o extender los programas resulta
ms fcil.
Los programas son ms sencillos y ms rpidos de confeccionar.

Por qu descomponer un problema en partes?

Experimentalmente est comprobado que:


Un problema complejo cuesta ms de resolver que otro ms sencillo (de
Perogrullo).

La complejidad de un problema global es mayor que el valor de las


complejidades de cada una de sus partes por separado.

Segn esto, merece la pena el esfuerzo de dividir un problema grande en


subproblemas ms pequeos. Si el objetivo es elaborar un programa para
resolver dicho problema grande, cada subproblema (menos complejo) podr
ser resuelto por un mdulo (subalgoritmo) relativamente fcil de implementar
(ms que el programa global No dividido).

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 209


FUNDAMENTOS DE PROGRAMACIN

NOTA
Programacion recursiva.
En programacin avanzada se dice que algo es recursivo si se define en funcin de s mismo o
a s mismo. Tambin se dice que nunca se debe incluir la misma palabra en la definicin de
sta.
El caso es que las definiciones recursivas aparecen con frecuencia en matemticas, e incluso
en la vida real. Un ejemplo: basta con apuntar una cmara al monitor que muestra la imagen
que muestra esa cmara. El efecto es verdaderamente curioso, en especial cuando se mueve
la cmara alrededor del monitor.
Por otra parte, la recursividad tambin puede ser indirecta, si tenemos un procedimiento P que
llama a otro Q y ste a su vez llama a P. Tambin en estos casos debe haber una condicin de
parada.

En el siguiente procedimiento se utiliza la recursividad para calcular el factorial de su


argumento original.

Function factorial(ByVal n As Integer) As Integer


If n <= 1 Then
Return 1
Else
Return factorial(n - 1) * n
End If
End Function
Codigo en Visual Basic

Ejercicios y tareas de investigacin

1. En que consiste un parmetro en programacin?

2. Qu criterios se deben de tomar en cuenta al momento de crear un


parametro?

3. Cul es la ventaja de utilizar funciones en un sistema?

4. En que consiste la programacin modular?

5. Elabore un caso prctico donde utilice ms de una funcin.

ESCUELA DE TECNOLOGAS DE LA INFORMACIN 210

S-ar putea să vă placă și