Vous êtes sur la page 1sur 169

Programación

Fundamentos y prácticas de Programación


Carlos Zepeda Chehaibar
Profesor
INFORMÁTICA aprender haciendo
PROGRAMACIÓN
Fundamentos y Prácticas de Programación

Autor
Carlos Zepeda Chehaibar

Apoyo en desarrollo y actividades


José Alberto Cruz Espinosa

Coordinación editorial y revisión


Elsa Lesser Carrillo

Diseño editorial
María Goretti Fuentes García

Apoyo editorial
Coordinación de ilustración José Agustín Pedraza Nieto
Ramón Salas Gil Corrección de estilo
Ilustración de portada Elsa Lesser Carrillo
Armando Mendoza Hernández Lorena Lara Manzano

Ilustración de Interiores Coordinación de Módulos de Instrucción Digital


Said Emmanuel Dokins Milián Sergio Jiménez Valenzuela

Revisión de Recursos Digitales Desarrollo de Módulos de Instrucción Digital


Carlos Alberto León Rendón Alma Rodríguez de Jesús
Dennise López Font
Resolución de actividades Luis Alfonso Jiménez Chávez
Carlos Alberto León Rendón Sergio Jiménez Valenzuela

DERECHOS RESERVADOS © 2007 MMVII por Grupo Educare S. A. de C. V.


Ésta es una obra protegida por las leyes internacionales de derechos de autor. Prohibida la reproducción total o parcial de esta obra y/o los recursos
que la acompañan, por cualquier medio, sin autorización escrita de Grupo Educare S. A. de C. V.
Grupo Educare, el logotipo de Grupo Educare, el logotipo del Programa de Informática Educativa, son propiedad de Grupo Educare S. A. de C. V.
El diseño editorial y contenidos gráficos son propiedad exclusiva de Grupo Educare S.A. de C.V.
Todos los nombres de empresas, productos, direcciones y nombres propios contenidos en esta obra, forman parte de ejemplos ficticios, a menos que se indique lo contrario. Las citas, imágenes y
videogramas utilizados en esta obra se utilizan únicamente con fines didácticos, y para la crítica e investigación científica o artística, por lo que el autor y Grupo Educare S. A. de C. V. no asumen
ninguna responsabilidad por el uso que se dé a esta información, ni infringen derecho de marca alguno, en conformidad al Artículo 148 de la Ley Federal del Derecho de Autor.

Microsoft Office, MS DOS, MS Windows, Word, PowerPoint, Excel, FrontPage y Access y sus logotipos son marcas comerciales de Microsoft Corporation. Microsoft y el logo de Microsoft Office son
marcas registradas de Microsoft Corporation en los Estados Unidos y/o en otros países. Microsoft no patrocina, endosa o aprueba esta obra. Flash, Illustrator, Fireworks, Freehand, Dreamweaver,
Photoshop y sus logotipos son marcas registradas de Adobe Inc. Adobe no patrocina o endosa esta obra.
CONTENIDO

Parte 1
Lógica computacional 1
Actividad 01 Secuencias lógicas 2

Algoritmos 3
Actividad 02 Algoritmos 4

Prueba de escritorio 5
Características del algoritmo 5
Actividad 03 Algoritmos 6

Clasificación de algoritmos 8
Transcripción 8
Compilación y errores 8
Actividad 04 Identificando errores 9

Variables 10
Actividad 05 Acerca de variables 10
Asignación de valores 11
Actividad 06 Asignación de variables 12

Operadores 14
Actividad 07 Operadores 15

Estructuras básicas 17
Primera estructura: Secuencia de acciones 17
Segunda estructura: Decisión de acción 18
Actividad 08 Escribiendo algoritmos 18
Tercera estructura: Ciclos de acciones 22
Actividad 09 Escribe algoritmos computacionales 24

Técnicas para representar algoritmos 28


Diagrama de flujo 28
Actividad 10 Diagramas de flujo 31

Pseudocódigo 36

Diagramas de Nassi – Schneiderman (N-S) 37


Diagrama N-S de estructuras de decisión 38
Actividad 11 Diagramas N-S 39
CONTENIDO

Pseudocódigos de la Estructura Si-Entonces – Si no 42


Actividad 12 Decisiones simples 43

Decisiones en secuencia 45
Actividad 13 Decisiones en secuencia 46

Decisiones en cascada o anidadas 50


Actividad 14 Decisiones anidadas 51

Ciclos 55
Ciclo Mientras (While) 55
Actividad 15 Ciclo mientras 56
Ciclo Para (For) 58
Actividad 16 Ciclo para 58
Ciclo Hacer-Mientras (Repeat while) 61
Actividad 17 Ciclo Hacer-Mientras 61
Ciclo Hacer-Hasta (Repeat Until) 64
Actividad 18 Ciclo Hacer-Hasta 65
Ciclos anidados 67
Actividad 19 Ciclos anidados 69

Pseudocódigos con varias estructuras 70


Actividad 20 Prueba de escritorio 71
Actividad 21 Repaso de pseudocódigos 71
Actividad 22 Escribiendo pseudocódigos matemáticos 74

Arreglos 76
Actividad 23 Arreglos 78

Matrices 81
Actividad 24 Arreglos 82
Lámina de apoyo 01 Glosario de conceptos algoritmos 85

Parte 2
Visual Basic 86
¿Por qué Visual Basic? 87
Lámina de apoyo 02 ¿Por qué Visual Basic?
(historia de Visual Basic) 87
Propiedades, Métodos y Eventos 87
Actividad 25 Propiedades, métodos y eventos 88
Programación por Eventos vs.
Programación Estructurada 89
CONTENIDO

Actividad 26 Tipos de programación 89


¿Cómo se programa en Visual Basic? 90
MID 01 Nuevo Proyecto 91

El entorno de Visual Basic 91


Formulario 91
Cuadro de herramientas 91
Ventana de propiedades 92
La ventana de proyectos 93
Añadir controles al formulario 94
MID 02 El entorno de Visual Basic 94
Actividad 27 Identificando el entorno de trabajo 95

Preparando el formulario para la programación 95


Convenciones para nombrar los objetos 95
Actividad 28 Identificando los objetos por su nombre 96
Cambiar el tamaño y posición de los controles 96
MID 03 Cambiar el tamaño y posición de los controles 98
Actividad 29 Creando una interfaz gráfica 98
La notación Punto 99
Código 100
MID 04 Código 101
Actividad 30 Haciendo que funcione el programa 102

Variables 103
Tipos de datos 103
Actividad 31 Declarando variables 105
Asignaciones 105
Variables locales 106
Variables globales 106
Actividad 32 Declaración y asignación de variables 107
Actividad 33 La importancia de las variables 109
Actividad 34 Programas para Ciencias exactas 109

Constantes 110
Actividad 35 Declaración de Constantes 110

Operadores 111
MID 05 Prioridad en las operaciones 112
Actividad 36 Calculadora simple 113
Expresiones Lógicas 114
Actividad 37 Reconociendo expresiones 114
CONTENIDO

Operadores lógicos 115


Actividad 38 Uniendo expresiones 115

Estructuras de Decisiones 116


Decisión IF… Then 116
Actividad 39 Comprendiendo condicionales 117
Actividad 40 La importancia de las decisiones 118
Actividad 41 Estructura de Decisión 1 118
MsgBox 120
Actividad 42 Estructura de Decisión 2 121
Estructura de decisión SELECT CASE 123
Actividad 43 Estructura de Decisión 3 124

Creación de un archivo ejecutable 127


MID 06 Creación de un archivo ejecutable 129
Actividad 44 Cotizaciones de autos 129
Actividad 45 Fórmula General 130
Actividad 46 Repaso 132

Estructura de bucle FOR … NEXT 132


Actividad 47 Ciclo FOR 133

Estructura de bucle DO 133


Actividad 48 Ciclo DO 134

Procedimientos y funciones 135


Actividad 49 Procedimientos y funciones 136

Manejo de menús 137


Actividad 50 Menús 137

Colecciones 141
Actividad 51 Colecciones 142

Matrices o Arreglos (Array) 143


Actividad 52 Arrays 144

Gestión de Base de Datos Access 145


Actividad 53 Base de Datos 146
RECURSOS

Material Impreso
Este material forma parte de un conjunto de recursos que conforman el
Programa de Informática Educativa (PIE). Está organizado en bloques integrales
que incluyen todo lo necesario para aprender, practicar y evaluar habilidades
o competencias. Las explicaciones, imágenes, tablas, actividades, notas y tips,
apoyadas con las láminas y tutoriales, permiten integrar la experiencia de
aprendizaje desde múltiples perspectivas. Así, podemos afirmar que el PIE de
Grupo Educare es la mejor manera de aprender haciendo.

Recursos Digitales
Los recursos digitales que acompañan al material impreso, contienen videos que
te ayudarán a comprender los conceptos y a poner en práctica las habilidades
adquiridas. Adicionalmente encontrarás los archivos que se requieren para
realizar las actividades, algunos documentos y aplicaciones útiles. No olvides
que los recursos digitales son parte integral del programa, por lo que es muy
importante que los conozcas y utilices en el curso.
Explicación Iconográfica

Actividad
Este icono nos indica un ejercicio que refuerza de manera
práctica e inmediata la parte teórica de este material.

MID. Módulo de Instrucción Digital


Es el material digital de los recursos del programa.
La representación en video de la parte teórica de este
volumen.

Nota
Las notas que verás dentro de tu texto, puntualizan la
teoría o los aspectos más importantes de un tema.

Lámina de apoyo
La lámina es un recurso del profesor, que sirve como
refuerzo dinámico e interactivo a un tema denso, que
complementa la teoría del material impreso.

TIP
Es una sugerencia que complementa un tema del
material impreso, dando un panorama más amplio al
alumno sobre cómo ejecutar una actividad de manera
más sencilla y práctica.
Propuesta
Didáctica
TIEMPO EN SEMANAS TEMAS SUBTEMAS COMPETENCIA

C o n o ce lo s fu n d a m e n to s y
1 /2 S e m a n a In tro d u cció n p rá ctica s d e p ro gra m a ció n .

A p lica se cu e n cia s ló gica s d e n tro d e


1 /2 S e m a n a Lógica co m p u ta cio n a l S e cu e n cia s ló gica s la p ro gra m a ció n .

D ise ñ a a lgo ritm o s d e n tro d e la


1 /2 S e m a n a A lgo ritm o s A lgo ritm o s
p ro gra m a ció n .

M e m o riza la s d ife re n te s form a s d e


1 /2 S e m a n a P ru e b a d e e scrito rio C a ra cte rística s d e l a lgo ritm o
cre a r a lgo ritm o s.

T ra n scrip ció n Id e n tifica lo s e rro re s que se p u e d e n


1 /2 S e m a n a C la sifica ció n d e a lgo ritm o s C o m p ila ció n y e rro re s cre a r e n la cla sifica ció n d e
Id e n tifica n d o e rro re s a lgo ritm o s.

A ce rca d e va ria b le s Id e n tifica y a p lica la s va ria b le s


V a ria b le s A sign a ció n d e va lo re s co rre sp o n d ie n te s d e a cu e rd o a su
1 Sem ana
A sign a ció n d e va ria b le s va lo r.

E n cu e n tra va lo re s a la s va ria b le s
1 /2 S e m a n a O p e ra d o re s O p e ra d o re s p a ra la reso lu ció n d e la s
o p e ra cio n e s.
S e cu e n cia d e a ccio n e s
D e cisió n d e a cció n A p lica a lgo ritm o s e m p le a n d o la
1 Sem ana E stru ctu ra s B á sica s E scrib ie n d o a lgo ritm o s e stru ctu ra b á sica d e p ro gra m a ció n .
C iclo s d e a ccio n e s
E scrib e a lgo ritm o s co m p u ta cio n a le s

T é cn ica s p a ra rep re se n ta r E je cu ta a lgo ritm o s p a rtie n d o d e l


1 Sem ana D ia gra m a d e flu jo
a lgo ritm o s d ia gra m a d e flu jo .
P se u d o có d igo D ia gra m a N -S d e e stru ctu ra s d e R e p ro d u ce a lgunos a lgo ritm o s
1 Sem ana D ia gra m a s d e N a ssi – d e cisió n d e n tro d e l d ia gra m a d e N -S .
S ch n e id e rm a n (N -S )

U tiliza d e cisio n e s sim p le s e n la


1 Sem ana P se u d o có d igos d e la E stru ctu ra D e cisio n e s sim p le s
e je cu ció n d e a lgo ritm o s.

In te rp re ta d e cisio n e s e n se cu e n cia
1 Sem ana D e cisio n e s e n se cu e n cia D e cisio n e s e n se cu e n cia e n la e je cu ció n d e a lgo ritm o s.

O p e ra d e cisio n e s a n id a d a s o d e
1 Sem ana D e cisio n e s e n ca sca d a o a n id a d a s D e cisio n e s a n id a d a s ca sca d a e n la e je cu ció n d e
a lgo ritm o s.

C iclo M ie n tra s (W h ile ) E n u m e ra la s ca ra cte rística s d e lo s


C iclo P a ra (F o r) ciclo s.
4 Sem anas C iclo s C iclo H a ce r-M ie n tra s (R e p e a t w h ile ) D istin gue la a p lica ció n d e lo s
C iclo H a ce r-H a sta (R e p e a t U n til) d ife re n te s ciclo s e n la a p lica ció n d e
C iclo s a n id a d o s lo s a lgo ritm o s.

P ru e b a d e e scrito rio D ife re n cia la s e stru ctu ra s d e lo s


P se u d o có d igos co n va ria s R e p a so d e p se u d o có d igo s p se u d o có d igo s, y p la n e a su
1 Sem ana e stru ctu ra s E scrib ie n d o p se u d o có d igos a p ro p ia d a a p lica ció n .
m a te m á tico s

E n cu e n tra co n lo s p se u d o có d igo s
1 Sem ana A rre glo s A rre glo s la s so lu cio n e s p e rtin e n te s p a ra
a rre gla r lo s p ro b le m a s.

A rre glo s A p lica la s h e rra m ie n ta s d e la s


M a trice s L á m in a d e a p o yo M a trice s p a ra la so lu ció n d e
1 Sem ana p ro b le m a s.
G lo sa rio d e co n ce p to s a lgo ritm o s
ACTIVIDADES SUGERIDAS PARA EL
INDICADOR OBJETIVOS ALUMNO (CONTENIDAS EN EL RECURSOS
MATERIAL DE TRABAJO)

A tra ve s d e l m a te ria l d e a p o yo d e l C o m p u ta d o ra , m a te ria l d e a p o yo d e l


E la b o ra u n cu a d ro sin ó p tico co n lo s
a lu m n o y d e l in te rn e t, co n o ce lo s a lu m n o e in te rn e t
fu n d a m e n to s y p rá ctica s d e
fu n d a m e n to s y p rá ctica s d e
p ro gra m a ció n .
p ro gra m a ció n .

C o m p re n d e cu a le s so n la s
D e scrib e d e ta lla d a m e n te la s se cu e n cia s se cu e n cia s ló gica s que se u tiliza n C o m p u ta d o ra , m a te ria l d e a p o yo d e l
A ctivid a d 0 1 S e cu e n cia s ló gica s
ló gica s d e n tro d e la co m p u ta ció n . e n p ro gra m a ció n a sí co m o su a lu m n o y cd d e l a lu m n o
fin a lid a d .
D e sa rro lla a lgo ritm o s p a ra cre a r o b je to s. Id e n tifica e l p ro ce so p a ra
C o m p u ta d o ra , m a te ria l d e a p o yo d e l
C o n stru ye u n a lgo ritm o p a ra d e sa rro lla r la co n stru cció n d e a lgo ritm o s. A ctivid a d 0 2 A lgo ritm o s
a lu m n o y cd d e l a lu m n o
a lgo ritm o s.
E n lista lo s p a so s a se gu ir p a ra la E va lúa e l p ro ce so p a ra cre a r C o m p u ta d o ra , m a te ria l d e a p o yo d e l
A ctivid a d 0 3 A lgo ritm o s
cre a ció n d e a lgo ritm o s. n u e vo s a lgo ritm o s a lu m n o y cd d e l a lu m n o

M e n cio n a e je m p lo s C la sifica a lo s a lgo ritm o s p a rtie n d o C o m p u ta d o ra , m a te ria l d e a p o yo d e l


d e e rro re s d e sin ta xis A ctivid a d 0 4 Id e n tifica n d o e rro re s
d e lo s e rro re s e n la s se cu e n cia s. a lu m n o y cd d e l a lu m n o
y e rro re s ló gico s.

P re p a ra u n fo rm a to co n in fo rm a ció n
co m p le ta so b re la s va ria b le s y su A ctivid a d 0 5 A ce rca d e va ria b le s C o m p u ta d o ra , m a te ria l d e a p o yo d e l
a sign a ció n . R e su e lve u n a E stim a e l va lo r d e u n a va ria b le .
A ctivid a d 0 6 A sign a ció n d e va ria b le s a lu m n o y cd d e l a lu m n o
p ru e b a d e e scrito rio , co n te sta n d o co n la s
va ria b le s a d e cu a d a s.
E scrib e u n a o p e ra ció n a lgebra ica . E va lúa e l va lo r d e la s va ria b le s e n C o m p u ta d o ra , m a te ria l d e a p o yo d e l
C a m b ia lo s va lo re s a la s va ria b le s que d ife re n te s o p e ra cio n e s. A ctivid a d 0 7 O p e ra d o re s
a lu m n o y cd d e l a lu m n o
se te in d ica n .

D ise ñ a a lgo ritm o s e m p le a n d o la A ctivid a d 0 8 E scrib ie n d o a lgo ritm o s C o m p u ta d o ra , m a te ria l d e a p o yo d e l


M a n e ja la s e stru ctu ra s b á sica s d e
se cu e n cia , d e cisió n , y ciclo s d e a ccio n e s. A ctivid a d 0 9 E scrib e a lgo ritm o s a lu m n o y cd d e l a lu m n o
lo s a lgo ritm o s.
E scrib e a lgo ritm o s co m p u ta cio n a le s. co m p u ta cio n a le s

R e p re se n ta e n u n d ia gra m a d e flu jo C o n o ce la s té cn ica s p a ra C o m p u ta d o ra , m a te ria l d e a p o yo d e l


A ctivid a d 1 0 D ia gra m a s d e flu jo
a lgunos a lgo ritm o s. re p re se n ta r a lgoritm o s. a lu m n o y cd d e l a lu m n o

E m p le a a lgu n o s a lgo ritm o s e n e l Id e n tifica e l D ia gra m a (N -S ) y su C o m p u ta d o ra , m a te ria l d e a p o yo d e l


A ctivid a d 1 1 D ia gra m a s N -S
d ia gra m a N -S . a p lica ció n e n lo s a lgo ritm o s. a lu m n o y cd d e l a lu m n o

E stim a la s d e cisio n e s sim p le s a l


R e a liza a lgunos a lgo ritm o s e n d ive rso s C o m p u ta d o ra , m a te ria l d e a p o yo d e l
tra b a ja r co n a lgo ritm o s e n e l A ctivid a d 1 2 D e cisio n e s sim p le s
e je rcicio s, u tiliza n d o d e cisio n e s sim p le s. a lu m n o y cd d e l a lu m n o
P se u d o có d igo d e la e stru ctu ra .
P ro gra m a a lgo ritm o s e n d ive rso s E m p le a d e n tro d e la e je cu ción d e C o m p u ta d o ra , m a te ria l d e a p o yo d e l
e je rcicio s, u tiliza n d o d e cisio n e s e n a lgo ritm o s, la s d e cisio n e s e n A ctivid a d 1 3 D e cisio n e s e n se cu e n cia
a lu m n o y cd d e l a lu m n o
se cu e n cia . se cu e n cia co rre sp o n d ie n te s.
D e scrib e la s d ife re n cia s e n tre la s
d e cisio n e s e n ca sca d a y la s d e cisio n e s D ife re n cía la s d e cisio n e s e n C o m p u ta d o ra , m a te ria l d e a p o yo d e l
a n id a d a s. ca sca d a y la s d e cisio n e s a n id a d a s A ctivid a d 1 4 D e cisio n e s a n id a d a s a lu m n o y cd d e l a lu m n o
O rganiza a lgo ritm o s e n d ive rso s e n u n a p ro gra m a ció n .
e je rcicio s, u tiliza n d o d e cisio n e s d e
ca sca d a o a n id a d a s.
C o n stru ye d ife re n te s a lgo ritm o s A ctivid a d 15 C iclo Mie n tra s
u tiliza n d o la s fu n cio n e s d e lo s ciclo s E lige e l tip o d e ciclo a d e cu a d o e n A ctivid a d 16 C iclo Pa ra C o m p u ta d o ra , m a te ria l d e a p o yo d e l

(m ie n tra s, p a ra , h a ce r - m ie n tra s, h a ce r - la cre a ció n d e a lgo ritm o s. A ctivid a d 17 C iclo H a ce r-M ie n tra s a lu m n o y cd d e l a lu m n o

h a sta , y ciclo s a n id a d o s) A ctivid a d 18 C iclo H a ce r-H a sta


A ctivid a d 19 C iclo s An id a d o s
C re a u n m a p a co n ce p tu a l co n la s
e stru ctu ra s d e lo s P se u d o có d igo . E va lúa la s fu n cio n e s qu e se A ctivid a d 2 0 P ru e b a d e e scrito rio
R e a liza u n a p ru e b a d e e scrito rio co n u n p u e d e n a p lica r co n lo s A ctivid a d 2 1 R e p a so d e p se u d o có d igos C o m p u ta d o ra , m a te ria l d e a p o yo d e l
P se u d o có d igo . P su d o có d igo s e n d ife re n te s A ctivid a d 2 2 E scrib ie n d o p se u d o có d igos a lu m n o y cd d e l a lu m n o
C o n stru ye e l P se u d o có d igos d e u n e stru cu tu ra s. m a te m á tico s
p ro gra m a m a te m á tico .
E scrib e co n u n P se u d o có d igo u n
A p lica lo s p se u d o có d igo s p a ra la C o m p u ta d o ra , m a te ria l d e a p o yo d e l
p ro gra m a que d e so lu ció n a d ife re n te s A ctivid a d 2 3 A rre glo s
so lu ció n d e p ro b le m a s. a lu m n o y cd d e l a lu m n o
e je rcicio s.

P la n e a u n p ro gra m a , e n fo rm a to d e R e su e lve p ro b le m a s m a te m á tico s C o m p u ta d o ra , m a te ria l d e a p o yo d e l


P se u d o có d igo , p a ra ca d a e je rcicio u tiliza n d o la lá m in a d e a p o yo y e l A ctivid a d 2 4 A rre glo s a lu m n o y cd d e l a lu m n o
m a te m á tico . glo sa rio d e co n ce p to s a lgo ritm o s.
TIEMPO EN SEMANAS TEMAS SUBTEMAS COMPETENCIA

¿ P o r qué V isu a l B a sic?


L á m in a d e a p o yo
H isto ria d e V isu a l B a sic Id e n tifica ca d a u n a d e la s
P ro p ie d a d e s, M é to d o s y E ve n to s h e rra m ie n ta s d e Visu a l Ba sic p a ra
1 Sem ana V isu a l B a sic P ro gra m a ció n p o r E ve n to s vs. e m p le a rla s e n e l tip o d e
P ro gra m a ció n E stru ctu ra d a p ro gra m a ció n que co rre sp o n d a .
T ip o s d e p ro gra m a ció n
¿ C ó m o se p ro gra m a e n V isu a l
B a sic?
F o rm u la rio
C u a d ro d e h e rra m ie n ta s
O rd e n a ca d a u n a d e la s p a rte s que
V e n ta n a d e p ro p ie d a d e s
1 Sem ana E l e n to rn o d e V isu a l B a sic co n fo rm a n e l e n to rn o d e Visu a l
L a ve n ta n a d e p ro ye cto s
Ba sic.
A ñ a d ir co n tro le s a l form u la rio
E l e n to rn o d e V isu a l B a sic
Id e n tifica n d o e l e n to rn o d e tra b a jo
C o n ve n cio n e s p a ra n o m b ra r lo s
o b je to s
Id e n tifica n d o lo s o b je to s p o r su
P re p a ra n d o e l form u la rio p a ra la Id e n tifica y a p lica la s h e rra m ie n ta s
n o m b re
p ro gra m a ció n n e ce sa ria s p a ra cre a r in te rfa z
1 Sem ana C a m b ia r e l ta m a ñ o y p o sició n d e
grá fica e n p ro gra m a ció n .
lo s co n tro le s
C re a n d o u n a in te rfa z grá fica
L a n o ta ció n P u n to
C ó d igo
H a cie n d o que fu n cio n e e l p ro gra m a

T ip o s d e d a to s
D e cla ra n d o va ria b le s
A sign a cio n e s
V a ria b le s lo ca le s Id e n tifica la im p o rta n cia d e la s
2 Sem anas V a ria b le s V a ria b le s glo b a le s va ria b le s y su s d e n o m in a cio n e s
D e cla ra ció n y a sign a ció n d e d e n tro d e p ro gra m a ció n .
va ria b le s
L a im p o rta n cia d e la s va ria b le s
P ro gra m a s p a ra C ie n cia s e xa cta s

P re p a ra u n n u e vo d o cu m e n to
1 Sem ana C o n sta n te s D e cla ra ció n d e C o n sta n te s
y a p lica la s co n sta n te s n e ce sa ria s.

P rio rid a d e n la s o p e ra cio n e s


C a lcu la d o ra sim p le A p re n d e a u tiliza r la ca lcu la d o ra
1 Sem ana O p e ra d o re s E xp re sio n e s Lógica s sim p le p a ra reso lve r o p e ra cio n e s y
R e co n o cie n d o e xp re sio n e s e xp re sio n e s ló gica s.
O p e ra d o re s ló gico s
U n ie n d o e xp re sio n e s

D e cisió n IF … T h e n
C o m p re n d ie n d o co n d icio n a le s
L a im p o rta n cia d e la s d e cisio n e s D e scrib e y a p lica la s h e rra m ie n ta s,
M sgB o x se gún se a e l ca so la s e stru ctu ra s
5 Sem anas E stru ctu ra s d e D e cisio n e s d e d e cisio n e s.
E stru ctu ra d e D e cisió n
E stru ctu ra d e De cisió n S E L E C T
CASE

C re a ció n d e u n a rch ivo e je cu ta b le R e co p ila la s fu n cio n e s d e


C o tiza cio n e s d e a u to s p ro gra m a ció n y a p líca la s e n u n
2 Sem anas C re a ció n d e u n a rch ivo e je cu ta b le
F ó rm u la G e n e ra l a rch ivo e je cu ta b le .
R e p a so

Id e n tifica la s fu n cio n e s d e
1 Sem ana E stru ctu ra d e b u cle F O R … N E X T C iclo F O R la e stru ctu ra d e b u cle F O R … N E X T .
ACTIVIDADES SUGERIDAS PARA EL
INDICADOR OBJETIVOS ALUMNO (CONTENIDAS EN EL RECURSOS
MATERIAL DE TRABAJO)

D e fin e e l co n ce p to d e V isu a l B a sic.


R e co n o ce a m p lia m e n te e l
D e scrib e a m p lia m e n te la s p ro p ie d a d e s, A ctivid a d 2 5 P ro p ie d a d e s, m é to d o s y C o m p u ta d o ra , in te rn e t,
sign ifica d o d e Visu a l Ba sic y to d a s
m é to d o s y e ve n to s que se e m p le a n e n e ve n to s m a te ria l d e a p o yo
la s p ro p ie d a d e s qu e se p u e d e n d e l a lu m n o y cd d e l a lu m n o
Visu a l Ba sic. A ctivid a d 2 6 T ip o s d e p ro gra m a ció n
gene ra r.
In ve stiga lo s tip o s d e p ro gra m a ció n que
e xiste n .

E n lista ca d a u n a d e la s p a rte s d e l D istin gu e ca d a u n a d e la s p a rte s A ctivid a d 2 7 Id e n tifica n d o e l e n to rn o d e C o m p u ta d o ra , m a te ria l d e a p o yo d e l


e n to rn o d e tra b a jo que a p a re ce e n la que fo rm a n e l e n to rn o d e tra b a jo tra b a jo a lu m n o y cd d e l a lu m n o
p la n tilla . d e V isu a l B a sic.

E xp lica a m p lia m e n te e l u so d e lo s A ctivid a d 2 8 Id e n tifica n d o lo s o b je to s


co n tro le s que se u tiliza n e n p o r su n o m b re C o m p u ta d o ra , m a te ria l d e a p o yo d e l
R e co n o ce e l form u la rio p a ra la
p ro gra m a ció n . A ctivid a d 2 9 C re a n d o u n a in te rfa z a lu m n o y cd d e l a lu m n o
p ro gra m a ció n .
D ise ñ a u n a in te rfa z grá fica u tiliza n d o lo s grá fica
co n tro le s, p a ra h a ce r fun cio n a r e l A ctivid a d 3 0 H a cie n d o que fu n cio n e e l
p ro gra m a . p ro gra m a

A ctivid a d 3 1 D e cla ra n d o va ria b le s


D e scrib e a m p lia m e n te e l co n ce p to d e
A ctivid a d 3 2 D e cla ra ció n y a sign a ció n
va ria b le s y su s d e n o m in a cio n e s.
E va lu a a m p lia m e n te e l u so d e la s d e va ria b le s C o m p u ta d o ra , m a te ria l d e a p o yo d e l
A sign a va ria b le s e n e l u so d e p ro gra m a s
va ria b le s y su s d e n o m in a cio n e s. A ctivid a d 3 3 L a im p o rta n cia d e la s a lu m n o y cd d e l a lu m n o
p a ra la s cie n cia s e xa cta s.
va ria b le s
C o n stru ye p ro ye cto s n u e vo s a p lica n d o
A ctivid a d 3 4 P ro gra m a s p a ra C ie n cia s
va ria b le s lo ca le s y glo b a le s.
e xa cta s

V a lo ra la s co n sta n te s que se
C re a u n n u e vo d o cu m e n to y a p lica A ctivid a d 3 5 D e cla ra ció n d e C o n sta n te s C o m p u ta d o ra , m a te ria l d e a p o yo d e l
p u e d e n u tiliza r e n u n n u e vo
n u e va s co n sta n te s. a lu m n o y cd d e l a lu m n o
d o cu m e n to .

R e su e lve o p e ra cio n e s u tiliza n d o la A rgu m e n ta ca d a u n a d e la s A ctivid a d 3 6 C a lcu la d o ra sim p le


C o m p u ta d o ra , m a te ria l d e a p o yo d e l
ca lcu la d o ra sim p le . h e rra m ie n ta s qu e a yu d a n a A ctivid a d 3 7 R e co n o cie n d o e xp re sio n e s
a lu m n o y cd d e l a lu m n o
N a rra d e ta lla d a m e n te e l co n ce p to d e la s re so lve r la s o p e ra cio n e s ló gica s. A ctivid a d 3 8 U n ie n d o e xp re sio n e s
e xp re sio n e s ló gica s.

E la b o ra u n cu a d ro sin óp tico
A ctivid a d 3 9 C o m p re n d ie n d o
d e sa rro lla n d o la s e stru ctu ra s d e
co n d icio n a le s
d e cisio n e s.
A ctivid a d 4 0 L a im p o rta n cia d e la s
R e a liza u n a p ru e b la d e e scrito rio Id e n tifica ca d a u n a d e la s
d e cisio n e s
u tiliza n d o va lo re s d ife re n te s a la s e stru ctu ra s d e d e cisio n e s y C o m p u ta d o ra , m a te ria l d e a p o yo d e l
A ctivid a d 4 1 E stru ctu ra d e D e cisió n 1
va ria b le s. a p re n d e a a p lica rla s e n ca d a ca so . a lu m n o y cd d e l a lu m n o
A ctivid a d 4 2 E stru ctu ra d e D e cisió n 2
C o n stru ye va rio s e je m p lo s d e e stru ctu ra s
A ctivid a d 4 3 E stru ctu ra d e D e cisió n 3
d e d e cisio n e s y a p lica la s h a b ilid a d e s
A ctivid a d 4 4 C o tiza cio n e s d e a u to s
adqu irid a s e n e l m a n e jo d e Visu a l Ba sic.
A ctivid a d 4 5 F ó rm u la G e n e ra l
A ctiva u n a fó rm u la gene ra l p a ra reso lve r
A ctivid a d 4 6 R e p a so
e cu a cio n e s.

C re a u n a rch ivo e je cu ta b le d o n d e u tilice s R e p a sa lo s fu n d a m e n to s genera le s


C o m p u ta d o ra y m a te ria l d e a p o yo d e l
to d a s la s fu n cio n e s a n te rio re s. y la s p rá ctica s d e p ro gra m a ció n .
a lu m n o

Im p rim e la ta b la d e m u ltip lica r d e u n V a lo ra la s fu n cio n e s d e


A ctivid a d 4 7 C iclo F O R C o m p u ta d o ra , m a te ria l d e a p o yo d e l
n ú m e ro ca p tu ra d o . la e stru ctu ra b u cle F O R … N E X T .
a lu m n o y cd d e l a lu m n o
TIEMPO EN SEMANAS TEMAS SUBTEMAS COMPETENCIA

1 Sem ana U b ica la s fu n cio n e s d e e stru ctu ra


E stru ctu ra d e b u cle D O C iclo D O
d e b u cle D O .

E je cu ta lo s p ro ce d im ie n to s y
1 Sem ana P ro ce d im ie n to s y fu n cio n e s P ro ce d im ie n to s y fu n cio n e s fu n cio n e s n e ce sa rio s d e n tro d e
p ro gra m a ció n .

P re p a ra u n fo rm a to a l te xto d e u n a
1 Sem ana M a n e jo d e m e n ú s M enús e tiqu e ta u tiiza n d o la s h e rra m ie n ta s
qu e a p a re ce n e n e l m e n ú .

C a m b ia d e sd e u n a p ro p ie d a d a u n a
1 Sem ana C o le ccio n e s C o le ccio n e s
co le cció n d e o b je to s.

S e le ccio n a lo s m a trice s y a rre glo s


1 Sem ana M a trice s o A rre glo s A rra ys a d e cu a d o s, d e n tro d e u n n u e vo
p ro gra m a .
V isu a liza , a gre ga y e lim in a re gistro s
1 Sem ana G e stió n d e B a se d e D a to s A cce ss B a se d e D a to s
e n u n a b a se d e d a to s.

Total 38 semanas
ACTIVIDADES SUGERIDAS PARA EL
INDICADOR OBJETIVOS ALUMNO (CONTENIDAS EN EL RECURSOS
MATERIAL DE TRABAJO)

In icia u n n u e vo p ro ye cto y so licita u n a E va lúa la s fu n cio n e s C o m p u ta d o ra , m a te ria l d e a p o yo d e l


co n tra se ñ a a l u su a rio h a sta qu e se A ctivid a d 4 8 C iclo D O
d e la e stru ctu ra b u cle D O . a lu m n o y cd d e l a lu m n o
in tro d u zca la co rre cta .
T ra b a ja d e sd e u n n u e vo d o cu m e n to lo s In ve n ta ria lo s p ro ce d im ie n to s y C o m p u ta d o ra , m a te ria l d e a p o yo d e l
p ro ce d im ie n to s y fu n cio n e s b á sico s d e fu n cio n e s e n p ro gra m a ció n . A ctivid a d 4 9 P ro ce d im ie n to s y fu n cio n e s a lu m n o y cd d e l a lu m n o
p ro gra m a ció n .
A p lica e l m a n e jo d e m e n ú s d e sd e u n A n a liza la s a p lica cio n e s d e l m a n e jo C o m p u ta d o ra , m a te ria l d e a p o yo d e l
n u e vo d o cu m e n to p a ra d a rle fo rm a to a l d e m e n ú s.
A ctivid a d 5 0 M e n ú s a lu m n o y cd d e l a lu m n o
te xto d e u n a e tiqu e ta .

M o d ifica d e sd e u n cu a d ro d e te xto la s A ctivid a d 5 1 C o le ccio n e s C o m p u ta d o ra , m a te ria l d e a p o yo d e l


R e co n o ce la s p ro p ie d a d e s qu e se
p ro p ie d a d e s p a ra d a r p a so a a lu m n o y cd d e l a lu m n o
e n cu e n tra n e n la s co le ccio n e s.
la co le cció n d e o b je to s.

D e sa rro lla a m p lia m e n te la a p lica ció n d e C o m p u ta d o ra , m a te ria l d e a p o yo d e l


M e m o riza y u tiliza lo s a rra ys. A ctivid a d 5 2 A rra ys
lo s m a trice s o a rre glo s. a lu m n o y cd d e l a lu m n o

A p lica fun cio n e s d e n tro C o m p a ra la b a se d e d a to s d e A ctivid a d 5 3 B a se d e D a to s C o m p u ta d o ra , m a te ria l d e a p o yo d e l


d e u n a b a se d e d a to s. a cce ss co n o tro s p ro gra m a s. a lu m n o y cd d e l a lu m n o
Programación

Lógica computacional
La lógica es la capacidad de pensar en soluciones alternativas. Se remonta
a la época de Aristóteles en la que desarrolló reglas para establecer un
razonamiento encadenado. La lógica es una rama del conocimiento que
nos permite determinar que algo está aprobado por la razón como bien
deducido o bien pensado. En pocas palabras en la forma más obvia y más
fácil de hacer algo.

La lógica es muy importante, ya que determina la manera en que se puede


resolver un problema. Es un nivel de abstracción sin el cual no es posible
estructurar los pasos que generen lo que esperamos obtener.
La computadora trabaja con una lógica especial, exacta y matemática.
Aunque tal vez no te hayas dado cuenta, todas las acciones que realizas en la
computadora están haciendo uso de esta lógica en la forma de procedimientos
o secuencias de pasos que hay que realizar para lograr lo que se quiere.

Secuencias lógicas

01
Actividad
Como ejemplo, contesta detalladamente las siguientes cuestiones:

1. ¿Cuáles son los pasos para entrar a la calculadora de Windows?


1. Dar clic en el botón Inicio.
2. Seleccionar el menú Todos los programas.
3. Seleccionar el menú Accesorios.
4. Dar clic en la opción Calculadora.

2. ¿Hay formas alternativas para entrar a este programa? Describe una:


1. Dar clic en el menú Inicio.
2. Seleccionar la opción Ejecutar.
3. Escribir la palabra “calc”.
4. Presionar la tecla Enter.

3. ¿Qué ocurre si con cualquiera de las formas, no sigues los pasos o los
realizas en desorden?
No podría abrir el programa ya que cada paso subsecuente requiere que el
anterior esté completo.

De forma similar la computadora realiza internamente secuencias de pasos


para realizar las tareas que nos son útiles.

2 Programación - Fundamentos y prácticas de Programación


Algoritmos
¿Has pensado quién hizo los programas que conoces? y más aún ¿tienes idea
de cómo los hicieron? La computadora permite solucionar una gran cantidad
de problemas. El primer paso que debes dar para la solución de un problema
es tener muy claro cuál es el problema a resolver, en otras palabras, cuál es el
objetivo. Parece una cosa muy obvia, pero la mayoría de las personas que no
pueden resolver un problema es porque no lo han identificado y comprendido.
Tener claro el objetivo te va a permitir saber hacia dónde vas y a dónde quieres
llegar. Cuando el objetivo es lo suficientemente claro podemos vislumbrar un
camino lógico para llegar hasta él. A ese camino lógico se le llama Algoritmo.

Una vez identificado el problema es necesario diseñar una solución. Una forma
sencilla de aproximarse a una solución, que después pueda implementarse en
la computadora, es por medio de un algoritmo. Un algoritmo es un conjunto
de pasos que permiten alcanzar un objetivo. Los pasos deben ser secuenciales
y ordenados, es decir, deben ser ejecutados uno después de otro, en un orden
definido, teniendo un inicio y un fin.

Ejemplo:
Objetivo. Tenemos como objetivo adquirir el paquete de Microsoft Office
2007. Queremos solamente adquirirlo: no instalarlo, no usarlo. El objetivo
solamente es adquirirlo.

Algoritmo. Salimos del lugar donde nos encontremos y nos dirigimos hacia
una tienda de software. Al llegar al lugar hay que solicitar el programa. Si lo
tienen disponible, lo compramos y si no lo tienen, nos dirigimos hacia otra
tienda repitiendo el proceso.

Si explicamos el algoritmo así es simplemente un texto. Ahora podemos


organizar el algoritmo para que sea más estético y entendible. Asignándole un
nombre al algoritmo lo generalizamos para cualquier adquisición de software.

Algoritmo para adquisición de software


Inicio
1. Determinar qué software se desea adquirir
2. Desplazarnos hacia la tienda de software
3. Preguntar si tienen el software requerido
4. Si lo tienen
Comprar el software
Terminar con el algoritmo
Si no lo tienen
Repetir desde el paso 2
Fin

Observa el algoritmo anterior.
Casi todas las líneas van enumeradas, pero no todas.
Se debe cumplir con la orden de la línea 1 para continuar con el resto
del algoritmo, realizando cada tarea indicada.
Si se siguen los pasos, siempre funciona, sin importar el software
que se quiera adquirir ni el lugar donde se va a comprar. El algoritmo
es genérico.

3
Algoritmos

02
Actividad
A continuación escribirás algunos algoritmos. No olvides ponerles un título e
indicar claramente el principio y el fin.

1. Desarrolla un algoritmo que te permita encender un vehículo.


Algoritmo para encender un vehículo
Inicio
1. Abrir la puerta del vehículo
2. Entrar al vehículo
3. Si el vehículo es estándar
Pisar el clutch
Si no es estándar
Verificar que esté en Parking
4. Insertar la llave en la ranura
5. Girar la llave
Fin
2. Desarrolla un algoritmo que te permita hacer un pastel.
Algoritmo para hacer un pastel
Inicio
1. Comprar los ingredientes
2. Mezclar los ingredientes
3. Vaciar la mezcla en un molde para pastel
4. Prender el horno
5. Si el horno está caliente
Meter el pastel al horno
Si no - regresar al paso 5
6. Si el pastel está listo
Sacar el pastel del horno
Si no - regresar al paso 6
Fin
3. Crea un algoritmo para crear algoritmos.
Algoritmo para crear algoritmos
Inicio
1. Determinar el problema a resolver

4 Programación - Fundamentos y prácticas de Programación


2. Elegir una posible solución al problema
3. Indicar los pasos a seguir
4. Realizar una prueba del algoritmo
5. Si la prueba marca errores
Corregir las fallas y regresar al paso 4
6. Si la solución es satisfactoria
Terminar algoritmo
Si no - regresar al paso 2
Fin

Existen problemas que pueden resultar tan complejos que podríamos requerir
de cientos o hasta miles de líneas para resolverlos. Además, sabemos que
un problema se puede resolver de varias maneras diferentes. El análisis de
algoritmos busca que las soluciones sean lo más sencillas posibles, aún para
problemas muy complejos. La manera en que buscamos esta solución óptima
está fundamentada en la lógica. Es más, sin la lógica no podríamos decidir
entre cuál de dos soluciones es más sencilla, simplemente porque esta decisión
requiere también del pensamiento lógico.

Prueba de escritorio
Todo algoritmo debe ser probado antes de ser ejecutado para tener la certeza
de que lograremos el objetivo. La forma de probarlo es siguiendo cada uno
de los pasos que indica el algoritmo. A esto es a lo que llamaremos prueba de
escritorio. En la prueba de escritorio, un algoritmo bien hecho siempre debe
funcionar.

Al poner en marcha los pasos del algoritmo para determinar si logrará o no


el objetivo, tal vez tengas que hacer algunas modificaciones hasta lograr el
objetivo esperado. El algoritmo debe ser lo suficientemente detallado para que
no exista duda alguna al ejecutarse.

Características del algoritmo


Un algoritmo debe tener al menos las siguientes características:

Ser preciso. Las actividades o pasos del algoritmo deben desarrollarse en


orden estricto, ya que el desarrollo de cada paso debe seguir un orden lógico.

Ser definido. Esto quiere decir que siempre que se ejecute con los mismos
datos, el resultado será el mismo. No puede improvisar, inventar o adivinar la
información que necesita para poder realizar un proceso.

Ser finito. Esto indica que el número de pasos de un algoritmo debe ser
limitado, es decir, los pasos a seguir deben tener un fin.

5
Presentación. El algoritmo debe ser entendible para cualquier persona, no
sólo para la persona que lo diseñó. Más adelante veremos otras formas de
presentar un algoritmo, como por ejemplo en pseudocódigo, en un diagrama
de flujo o en diagramas de Nassi/Schneiderman, entre otras.

Algoritmos

03
1. Desarrolla un algoritmo que te permita determinar si un número es par o Actividad
impar.
Inicio
1. Ingresar número a evaluar
2. Si el residuo del número/2 = 0
es par
Si no
es impar
Fin

2. Pide a un compañero que realice a tu algoritmo tres pruebas de escritorio


utilizando tres diferentes números enteros. Utiliza este espacio para las
pruebas.

a. número
60
número/2 = 30
residuo = 0
Es par

b. número
15
número/2 = 7
residuo = 1
Es impar

6 Programación - Fundamentos y prácticas de Programación


c. número
2
número/2 = 1
residuo = 0
Es par

3. Desarrolla un algoritmo que te permita saber si un número es primo.


Inicio
1. Ingresar número a evaluar
2. Si número < 0
Terminar algoritmo
3. Dividir el número por todos los números entre 1 y número/2
4. Si el número sólo es divisible por sí mismo y la unidad
Es primo
Si no
No es primo
Fin
4. Pide a un compañero que realice a tu algoritmo cinco pruebas de escritorio
utilizando los números 0, 4, 7, 11 y 23. Utiliza este espacio para las pruebas.
a. Número = 0
el número es menor o igual a 0
no es primo

b. Número = 4
4/1 = 4
4/2 = 2
no es primo

7
c. Número = 7
7/1 = 7
7/2 = 3.5
7/3 = 2.33 Es primo
d. Número = 11
11/1 = 11 11/4 = 2.75
11/2 = 5.5 11/5 = 2.2
11/3 = 3.66 Es primo
e. Número = 23
23/1 = 23 23/4 = 5.75 23/7 = 3.28 23/10 = 2.3
23/2 = 11.5 23/5 = 4.6 23/8 = 2.87 23/11 = 2.09
23/3 = 7.66 23/6 = 3.83 23/9 = 2.55 Es primo

Clasificación de algoritmos
Hay dos clasificaciones para los algoritmos:

Algoritmos informales
Algoritmos computacionales

Los algoritmos informales son aquellos que no se realizan para una computadora,
sino se diseñan para ser ejecutados por el ser humano. Todos los días ejecutas
algoritmos informales en todas tus actividades: al prepararte para tus clases,
al vestirte, al cocinar, al regresar a casa, entre otros.

Los algoritmos computacionales son los que se crean para que una computadora
sea quien ejecute los pasos y obtener el resultado esperado. Se aprovecha la
velocidad de procesamiento del ordenador para darnos un resultado mucho
más confiable.

Transcripción
Los algoritmos computacionales no pueden ser ejecutados directamente. La
transcripción es el proceso a través del cual convertimos un algoritmo en un
listado de instrucciones entendibles para la computadora. Estas instrucciones
deben ajustarse a las reglas sintácticas de un lenguaje de programación. Las
reglas sintácticas de un lenguaje de programación son las restricciones técnicas
sobre las cuales está construido el lenguaje.

Así, un programa computacional es un algoritmo escrito con las instrucciones,


restricciones y reglas de un lenguaje de programación.

Compilación y errores
Una vez que has identificado el objetivo a cumplir, has realizado un algoritmo
que te permita obtener el resultado deseado y lo has transcrito en un lenguaje
de programación, necesitas hacer una compilación.

8 Programación - Fundamentos y prácticas de Programación


La compilación es el proceso mediante el cual la computadora revisa que el
programa que has escrito cumpla con las reglas sintácticas del lenguaje de
programación que estés utilizando. El compilador es el encargado de hacer
esta revisión y te ayuda a detectar los errores de sintaxis y de precaución.

Errores de sintaxis. Son errores representados en la omisión de alguna o


algunas reglas sintácticas del lenguaje de programación. Es como un error
ortográfico en el lenguaje que estés programando. Por ejemplo, si en algún
lenguaje hay una instrucción “print” y por error tú escribes “prant”, el programa
no funcionará, pues hay un error de sintaxis y la computadora no puede
adivinar que en realidad querías escribir “print”. Algunas veces se requiere
utilizar paréntesis, comas, puntos o corchetes. Si no se cumple con esas reglas
de lenguaje, el programa no puede funcionar. Los errores de compilación son
los más fáciles de detectar y corregir.

Errores de precaución. Algunos compiladores hacen sugerencias para el


mejoramiento o aseguramiento del programa. Cada lenguaje de programación
cuenta con su propio compilador que te ayudará a escribir tu programa
correctamente y a detectar estos errores.

Errores lógicos. Este tipo de errores no pueden ser detectados por el


compilador. Ocurren cuando el programa se compila perfectamente, no tiene
errores de sintaxis, sin embargo no hace lo que se supone que debería hacer.
Por ejemplo, si escribo un programa para calcular el área de un triángulo y utilizo
la fórmula Área=(base*altura)/3, cometería un error lógico. El compilador no
detecta ningún error en la fórmula, el programa funciona, pero el resultado
está mal. Estos errores son los más difíciles de corregir y se pueden evitar si se
diseña y analiza correctamente el problema antes de comenzar a programar en
la computadora. Unos minutos de trabajo previo en papel, te pueden ahorrar
muchas horas de trabajo en la computadora. Estos errores los tenemos que
detectar nosotros mismos al hacer las pruebas de escritorio, ya que ahí es
donde determinamos si el algoritmo logrará o no el objetivo esperado.

Identificando errores

04
Actividad
1. Da un ejemplo (diferente a los de este libro) de un error de sintaxis.
Escribir una instrucción “Si no” sin haber escrito antes la instrucción “Sí”

9
2. Da un ejemplo (diferente a los de este libro) de un error lógico.

Si quiero obtener el promedio de dos números A y B y escribo

promedio = A+B/2

el resultado sería incorrecto.

Variables
En programación, una variable es un campo de memoria que almacena
información, la cual puede cambiar en cualquier momento.

Acerca de variables

05
Actividad
Reflexión previa:

1. ¿Qué significa la palabra variable?


Que puede cambiar (un valor, una propiedad, un atributo, entre otros).

2. En álgebra ¿qué es una incógnita o variable?


Una literal de la cual se desconoce su valor o una literal que puede cambiar
su valor.

3. En la fórmula para calcular el área de un rectángulo (Área=base x altura)


¿cuáles son las variables? ¿Cómo las puedes identificar?
Las tres, si yo cambio los valores de la base o la altura, el área cambiará
también su valor.

4. ¿Todas las fórmulas matemáticas tienen variables? ¿Por qué?

Sí, las fórmulas son para casos generales. Así se pueden obtener los valores

10 Programación - Fundamentos y prácticas de Programación


correctos para cualquier caso específico que exista.

5. ¿Qué es lo opuesto de una variable?

Una constante que no puede cambiar su valor.

Para poder utilizar variables en un programa deberás especificar primero qué


tipo de información va a almacenar. A esto se le conoce como declaración de
variables.

Existen diferentes tipos de datos que una variable puede almacenar, a


continuación se describen:

Tipo entero. Una variable de tipo entero solamente puede almacenar valores
numéricos sin punto decimal, por lo tanto sus operaciones jamás van a generar
valores decimales, ya que operan con un juego de reglas llamado Aritmética
Entera.

Tipo real. Una variable de tipo real puede almacenar números que tienen
punto decimal y en sus operaciones puede generar decimales, ya que opera
con un juego de reglas llamado Aritmética Real.

Tipo caracter. Una variable de tipo caracter puede almacenar valores


equivalentes del código ASCII (American Standar Code for Infomation
Interchange). ASCII es un código internacional de equivalencias internas en el
sistema binario, por lo que una variable caracter puede almacenar cualquier
cadena de caracteres que hayan sido tecleados.

Asignación de valores
Para asignar un valor a una variable (cargar una variable), en la mayoría de
los lenguajes de programación se utiliza el signo = (igual a), que indica a la
computadora que va a almacenar el valor que se encuentre a la derecha del
símbolo, dentro de la variable que se encuentre a la izquierda. Por ejemplo:

A=8 Indica que almacenará el número 8 en la variable A.


B=A Indica que almacenará el contenido de la variable A en la variable B.
C=A+B Indica que almacenará en la variable C, la expresión que resulte de la
suma de los valores que contengan las variables A y B.

Una variable sólo puede guardar un valor a la vez: si volviéramos a asignarle


otro valor a la variable A, ésta cambiaría el valor 8 por el nuevo valor asignado.
Entonces concluimos que:

Sólo puede haber una variable del lado izquierdo del signo igual.
Del lado derecho del signo puede haber una constante, una expresión
u otra variable.

11
Cada vez que se asigna un nuevo valor a una variable, se pierde el
valor anterior.
Ejemplos de asignación de variables.
Observa cómo las variables van adquiriendo nuevos valores conforme se
ejecutan las operaciones:

Valor después de
cada instrucción
A B C
A= 10 10 Se asigna el valor 10 a la variable A.
B= 15 10 15 Se asigna el valor 15 a la variable B y A
mantiene su valor.
C= 20 10 15 20 Se asigna el valor 20 a la variable C. A y B
mantienen su valor.
A=A+B 25 15 20 La variable A que valía 10 se suma con
la variable B con valor a 15 y el resultado
ahora se asigna a la variable A, cambiando
su valor de 10 por 25. Las variables B y C
mantienen su valor.
B=B-10 25 5 20 La variable B que valía 15 se resta en 10 y
el resultado se almacena en B, cambiando
su valor de 15 por 5. Las variables A y C
mantienen su valor.

En este ejercicio se ejemplifica claramente lo que es una prueba de escritorio.


Es muy útil ya que puedes verificar qué valores adquieren las variables durante
la ejecución de un algoritmo o programa.

Asignación de variables

06
Realiza una prueba de escritorio para cada uno de los siguientes programas. Actividad
Anota el valor de las tres variables después de ejecutar cada línea o
instrucción.
1.
a b c
a=3 3 ? ?
b=8 3 8 ?
c=1 3 8 1
a=5 5 8 1
b=9 5 9 1
c=7 5 9 7
a=a+1 6 9 7
b=b-2 6 7 7
c=c+3 6 7 10

12 Programación - Fundamentos y prácticas de Programación


2.
a b c
a = 10 10
b=1 10 1
c=4 10 1 4
a=a+c 14 1 4
b=a+c 14 18 4
c=a+c 14 18 18
a=c+5 23 18 18
b=c+b 23 36 18
c=a+b+c 23 36 77

3.
a b c
a=1 1
b=2 1 2
c=3 1 2 3
a=a+b 3 2 3
b=a–b 3 1 3
c=a*b 3 1 3
a=a/b 3 1 3
b=a+b 3 4 3
c=a*b 3 4 12

4.
a b c
a=5 5
b=5 5 5
c=5 5 5 5
a=a+a 10 5 5
b=b+b 10 10 5
c=c+c 10 10 10
a=a+b+c 30 10 10
b=a+b+c 30 50 10
c=a+b+c 30 50 90

13
5.
a b c
a = 10 10
b = 10 10 10
c = 10 10 10 10
a=a+5 15 10 10
b=a+3 15 18 10
c=a+2 15 18 17
a=b+4 22 18 17
b=b+5 22 23 17
c=c+8 22 23 25

Operadores
Los operadores son signos que expresan relaciones entre variables y/o
constantes de las cuales se obtiene un resultado. La acción que realice un
operador depende mucho del lenguaje de programación que estemos utilizando.
Los operadores más conocidos son:
Para expresar una suma: +
Para expresar resta: -
Para expresar una potencia: ^
Para expresar una multiplicación: *
Para expresar una división: /

Si más de un operador se usa en una expresión, las acciones se ejecutan


de acuerdo a una jerarquía:
a) La computadora evalúa y realiza las potencias, dando prioridad de Nota
derecha a izquierda.
b) Después se calculan las multiplicaciones y divisiones
c) Por último se realizan las sumas y restas.

Ejemplo 1:
x =a+b/c+d Primero se ejecutaría la división (b/c), posteriormente
la suma del resultado de la división con a y el resultado
se sumaría con d.

Asignemos algunos valores:


a=2
b=8
c=4
d=3

x = 2 + 8/4 + 3
El valor que tomará x es 7.

14 Programación - Fundamentos y prácticas de Programación


Cuando utilizamos paréntesis se altera la jerarquía de los operadores, ya que
la computadora realiza primero las operaciones de los paréntesis más internos.
Dentro de los paréntesis se respeta la jerarquía de los operadores.

Ejemplo 2:

x = (a + b) / (c + d)

Asignemos algunos valores:


a=2
b=8
c=4
d=3

x = (2 + 8)/(4 - 1)
El valor que tomará x es 10/3 ó 3.333333.

Operadores

07
Actividad
Evalúa las siguientes expresiones. Escribe en una sola línea la expresión
algebraica, tal y como se debe escribir en la computadora, usando paréntesis y
los operadores adecuados. Después evalúa cada expresión obteniendo el valor
final de x, suponiendo en todos los casos que:
a = 3, b = 4, c = 2 y d = 1

1. b
a +
c
x=
a
+ c
b

Expresión: x=(a+b/c) / (a/b+c)

x= x=(3+4/2) / (3/4+2)= 20/11

15
2. b
a +
b
a + b +
c
x=
b
a +
c + a

Expresión: x=(a+b/(a+b+b/c))/(a+b/(c+a))

x= (3+4/(3+4+4/2))/(3+4/(2+3))= 155/171

3. c
a + b +
d * a
x=
c
a + b *
d

Expresión: x=(a+b+c/d*a)/(a+b*c/d)

x= (3+4+2/1*3)/(3+4*2/1)= 23/33

4. a b
+
b c
x=
a b

b c
Expresión: x=(a/b+b/c)/(a/b - b/c)

x= (3/4+4/2)/(3/4 - 4/2)= -11/5

16 Programación - Fundamentos y prácticas de Programación


5. a + b
a +
c + d
x= a +
a
a +
b

Expresión: x=a+(a+(a+b)/(c+d))/(a+a/b)

x= 3+(3+(3+4)/(2+1))/(3+3/4)= 199/45

Estructuras básicas
Una estructura se define como un esquema que nos permite representar
una idea de manera más simplificada, además de restringir un poco la lógica
algorítmica. Por ejemplo cada persona puede tener su propia manera de hacer
un pastel, por esta razón es que una estructura puede restringir a que sólo
se realice de ciertas formas convenientes. Existen tres estructuras básicas
del razonamiento en las que nos basamos para realizar una acción o varias
acciones:

Primera estructura: Secuencia de acciones


Todos los días mientras realizamos nuestras actividades planeamos, consciente
o inconscientemente, lo que vamos a hacer y decidimos un orden para que se
realicen las actividades. Para preparar un pastel, por ejemplo, tenemos que
hacerlo paso por paso siguiendo la secuencia de la receta para prepararlo. En
otras palabras la secuencia nos indica el orden de ejecución.

Para escribir una secuencia de acciones lo único que tienes que hacer es escribir
una instrucción después de otra, de manera que se entienda la secuencia y el
orden de ejecución. Por ejemplo, si deseáramos hacer una secuencia que nos
permita observar a través de una ventana abierta, el algoritmo sería:

Algoritmo para observar a través de una ventana abierta.

Inicio
1. Ubicar la ventana por la que deseamos observar.
2. Dirigirnos hacia la ventana que escogimos.
3. Acercarnos lo suficiente para observar a través de ella.
4. Observar a través de la ventana abierta.
Fin

Notarás que para utilizar una estructura de secuencia sólo tenemos que indicar
en qué orden se ejecutará cada paso y lo que se tiene que hacer.

17
Segunda estructura: Decisión de acción
Durante la ejecución de una secuencia a menudo se tienen que tomar decisiones,
ya sea para escoger la mejor alternativa o simplemente porque tenemos que
escoger entre dos caminos lógicos dependiendo de alguna variable. La vida
cotidiana está llena de decisiones: tendremos que escoger si el pastel será de
chocolate o preferimos que sea de vainilla, o hay que elegir ropa diferente si
está lloviendo o si hace calor.

Siempre que se debe tomar una decisión, ésta depende de una condición. La
condición es una expresión lógica que nos permite decidir cuál es el camino a
tomar. Vamos a complementar el ejemplo de la estructura anterior:

Algoritmo para observar a través de una ventana.

Inicio

1. Ubicar la ventana por la que deseamos observar


2. Si nos encontramos sentados
Levantarnos del lugar donde nos encontremos
Si no estamos sentados
Nos orientamos hacia la ventana
3. Dirigirnos hacia la ventana que escogimos
3. Acercarnos lo suficiente para observar a través de ella.
4. Si está cerrada
Abrir la ventana
5. Observar a través de la ventana abierta.

Fin

Conforme utilizas las estructuras de secuencias junto con las estructuras de


decisiones, el algoritmo se aproxima más a la realidad. Observa que en las
estructuras de decisión siempre se debe indicar el camino que se debe tomar
cuando se cumpla la condición, pero no forzosamente tienes que indicar qué
acción tomar en caso de no cumplir la condición.

Escribiendo algoritmos

08
Actividad
Para cada uno de los siguientes problemas, escribe un algoritmo que lo
solucione. Después pide a un compañero que ejecute una prueba de escritorio
a tu algoritmo para asegurarse de que, sin importar los datos que se usen, el
algoritmo no falla.

1. Algoritmo para elegir la ropa adecuada para salir a cualquier tipo de


restaurante.
Inicio
1. Decidir qué tipo de restaurante es
2. Si el restaurante es elegante

18 Programación - Fundamentos y prácticas de Programación


3. Si es para hombre
Elegir traje
Si no
Elegir vestido
4. Si el restaurante es casual
5. Si es para hombre
Elegir pantalón de vestir
Elegir camisa
Si no
Elegir blusa
Elegir pantalón o falda de vestir
6. Si el restaurante es informal
Elegir jeans
Elegir T-shirt
Fin
Prueba de escritorio:
restaurante = casual
¿El restaurante es elegante? = no
¿El restaurante es casual? = sí
¿Es para hombre? = sí
Elegir pantalón de vestir
Elegir camisa
¿El restaurante es informal? =no
Fin
2. Algoritmo que requiere hacer una empresa que se dedica a pintar casas,
antes de presentarse con el cliente a realizar el trabajo.

Inicio
1. Reunirse con el cliente
2. Mostrar un color al cliente
3. Si al cliente no le gusta
regresar al paso 2
4.Calcular la pintura necesaria
5. Cotizar el trabajo
6. Si al cliente no le agrada la cotización

19
regresar al paso 2
7. Asignar a los trabajadores para el trabajo
8. Llevar a los trabajadores y la pintura al lugar de trabajo

Prueba de escritorio:
Color azul
¿Es de su agrado? = no
Color blanco
¿Es de su agrado? = sí
costo = $1000
¿Es de su agrado? = sí
Fin
3. Una tienda hace un descuento de $10 si el total de la compra es mayor a
$500. El algoritmo debe calcular el precio a pagar, basado en el valor de
la compra.

Inicio
1. Variable total = 0
2. Sumar el precio del artículo al total
3. Si es el último artículo
Si total > 500
total = total - 10
Si no
regresar al paso 2
Fin

20 Programación - Fundamentos y prácticas de Programación


Prueba de escritorio:
total artículo
0 150 ¿total es mayor a 500?
150 50 si
200 250 total = 510 - 10
450 60 total = 500
510

4. Una tienda hace un descuento de $10 si el total de la compra está entre


$100 y $200 y hace un descuento de $20 si el total de la compra es mayor
de $200. Si la compra es menor de $100, no hay descuento. El algoritmo
debe calcular el precio a pagar, basado en el valor de la compra.

Inicio
1. variable total = 0
2. total = total + precio del artículo
3. si hay más artículos
regresar al paso 2
4. si total > 100 y total < 200
total = total -10
5. si total > 200

21
total = total -20
6. Imprimir “El total es $” total
Fin

Prueba de escritorio:
total precio
0 20 ¿100 < total < 200? = sí
20 30 Total = 150 - 10
50 15 El total es $ 140
65 85
150

Tercera estructura: Ciclos de acciones


Un ciclo es una estructura que nos permite repetir una o varias acciones.
¿Recuerdas el algoritmo para crear un pastel? Tal vez queremos hacer varios
pasteles y tendremos que repetir el mismo procedimiento cierto número de
veces.

Vamos a suponer que eres un supervisor y cada hora, durante tu jornada de


trabajo, tienes que vigilar a través de una ventana. El resto del tiempo debes
permanecer en tu lugar de trabajo y sólo cada hora levantarte y observar a
través de la ventana.

Algoritmo para vigilar desde una ventana

22 Programación - Fundamentos y prácticas de Programación


Inicio
Llegar puntual a la jornada laboral
Ubicarse en el lugar de trabajo
Mientras no termine la jornada de trabajo
Ubicar la ventana por la que nos queremos asomar
Si estamos sentados
Levantarnos del lugar en donde estemos sentados
Orientarnos hacia la ventana
Si no
Orientarnos hacia la ventana
Fin Si
Dirigirnos hacia la ventana
Si está cerrada
Abrirla
Fin Si
Observar por la ventana
Regresar al lugar de trabajo
Mientras no haya pasado una hora
Permanecer en el lugar de trabajo
Fin Mientras
Fin Mientras
Fin

Analiza con detalle los cambios en nuestro algoritmo:

La palabra Mientras establece una condición que determina el número de


veces que se repite un conjunto de acciones.
El ciclo debe tener algún tipo de finalizador que detenga la repetición de
acciones.
El uso de sangrías te ayuda a identificar mejor cada una de las condiciones
y los ciclos.
Cada bloque de instrucciones dentro de una condición o un ciclo debe
indicar el inicio y fin.

- Asignación
Secuenciales - Entrada
- Salida

Estructuras - Simples
Condicionales - Dobles
Algorítmicas
- Múltiples

- Para
Cíclicas - Mientras Que
- Repita Hasta

23
Escribe algoritmos computacionales

09
Actividad
Para cada uno de los siguientes problemas, escribe un algoritmo que lo
solucione. Después pide a un compañero que ejecute una prueba de escritorio
a tu algoritmo para asegurarse de que, sin importar los datos que se usen,
el algoritmo no falla. Debes cuidar que haya siempre un inicio y un fin, tanto
para todo el algoritmo como para cada bloque de instrucciones en condiciones
o ciclos.

1. Un vendedor de arena tiene que despachar 2 kg. de producto a un cliente.


Para pesar el producto el vendedor tiene una báscula. Escribe el algoritmo
más adecuado que puedas pensar para despachar la cantidad exacta de
arena.

Inicio
1. Mientras la báscula no pase de 2 kg.
Agregar un puño de arena
Fin mientras
2.Si la báscula pasa de 2 kg.
Mientras la báscula no baje de 2 kg.
Quitar un poco de arena
Fin mientras
Fin si
Fin

Prueba de escritorio Problema 1:

báscula puño
0 200 g
200 g 300 g
500 g 250 g
750 g 400 g
1150 g 350 g
1500 g 300 g
1800 g 300 g
2100 g -50 g
2050 g -50 g
2000 g

24 Programación - Fundamentos y prácticas de Programación


2. El guardia de un estadio tiene que verificar los boletos de los espectadores.
Sólo podrán entrar quienes tengan boleto azul. No se sabe cuántos
espectadores asistirán al evento. Escribe el algoritmo que debe seguir el
guardia para cumplir con las reglas.
Inicio
1. Mientras la fila no se acabe
2. Revisar boleto del primer espectador
3. Si es azul
Aceptar
4. Si no
Rechazar
5. Recorrer fila
Fin Mientras
Fin

Prueba de escritorio Problema 2:


Personas en la fila Boleto ¿Aceptar?
5
4 Azul Sí
3 Rojo No
2 Azul Sí
1 Azul Sí
0 Rojo No

25
3. Analiza el siguiente algoritmo y contesta las preguntas.

X = 10
Mientras X>0, Repetir:
Mostrar el valor actual de X
X = X-1
Fin Mientras

a. ¿Qué es lo que hace este programa?


Muestra los números del 10 al 1 utilizando a x como variable.

b. ¿Cuántas veces se repite el ciclo?


10

c. Realiza una prueba de escritorio y anota el valor de x en cada


repetición.

Prueba de escritorio:

Repetición x Salida de pantalla


1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1

26 Programación - Fundamentos y prácticas de Programación


4. Analiza el siguiente algoritmo y contesta las preguntas.

Pedir el valor de X, y pedir el valor de Y


Mientras X>Y, Repetir:
Y = Y+1
Fin del ciclo
Mostrar el valor actual de Y

a. ¿Qué es lo que hace este programa?


Si X es mayor a Y va a aumentar el valor de Y hasta que sea igual a X
y lo muestra en pantalla.

b. Realiza una prueba de escritorio asignando valores a X y Y, donde


X>Y

Prueba de escritorio:

Repetición x y Salida de pantalla


0 16 10
1 11
2 12
3 13
4 14
5 15
6 16 16

27
c. Realiza una prueba de escritorio asignando valores a X y Y, donde
X<Y

Repetición x y Salida de pantalla


0 10 11 11

d. Suponiendo que al inicio X>Y ¿cuántas veces se repite el ciclo, en


términos de X y de Y?
(y - x) veces

e. Suponiendo que al inicio X>Y ¿qué valor tiene Y al final del programa?
el valor de x

Técnicas para representar algoritmos


Diagramas de flujo
Un diagrama de flujo es la forma de representar algoritmos de forma gráfica. El
diagrama permite que la secuencia a seguir sea más entendible, especialmente
cuando hay condiciones y ciclos. Se basa en la utilización de diversos símbolos
universales que representan operaciones específicas. Se les llaman diagramas
de flujo por que los símbolos se conectan por medio de flechas para indicar

28 Programación - Fundamentos y prácticas de Programación


la secuencia de una operación. A continuación se describen algunos símbolos
utilizados para hacer diagramas de flujo.

El uso del rectángulo representa un proceso o acción


a realizarse, como por ejemplo la asignación de un
valor a una variable.

El rombo se utiliza para representar una condición o


decisión. Normalmente el flujo de información entra
por arriba y sale por un lado si la condición se cumple
o por el lado opuesto si la condición no se cumple. En
el interior del rombo se escribe la condición que hay
que evaluar.

El paralelogramo indica un proceso de entrada o salida,


en otras palabras, indica un proceso donde se recibe o
donde se entrega información.

El óvalo representa el inicio o el fin de un algoritmo.


Todas las acciones a realizarse en el algoritmo se
encuentran entre el inicio y fin del diagrama de flujo.

Este símbolo representa una entrada de datos


utilizando el teclado y describe la asignación de un
valor a una variable. En su interior se debe escribir
el nombre de la variable en la que queremos que se
almacene el dato tecleado.

Estos símbolos se conocen como conectores.


Representan la continuación de un diagrama cuando
éste no cabe en una sola hoja. El círculo hace referencia
a la continuación de un diagrama dentro de la misma
hoja, mientras que el pentágono hace referencia hacia
la continuación de un diagrama en otra página.

Este símbolo representa una salida de datos en


un dispositivo electrónico, por ejemplo en una
impresora.

Este símbolo representa una salida de datos pero sólo


en el monitor.

Las flechas representan la forma de conexión entre los


demás símbolos. La dirección de la flecha determina el
flujo de ejecución.

29
¿Recuerdas el algoritmo para vigilar a través de una ventana? Observa cómo
se ve mucho más claro en un diagrama de flujo.

Inicio

Llegar puntual a
la jornada laboral

Ubicarnos en
nuestro lugar
de trabajo
1

¿Estamos Falso
sentados?

Verdadero

Levantarnos del
lugar donde Orientarnos hacia
estamos sentados la ventana

Orientarnos hacia
la ventana

Dirigirnos hacia
la ventana

¿Está
cerrada?

Verdadero
Falso
Abrirla

Observar por
la ventana

Regresar a
nuestro lugar
de trabajo
Falso

¿Ha pasado
una hora?

Verdadero

¿Ha terminado
la jornada Falso 1
laboral?

Verdadero

Fin

30 Programación - Fundamentos y prácticas de Programación


Recuerda que para cada problema puede haber una gran variedad de algoritmos,
ya que todos utilizamos nuestra propia lógica. Probablemente tú tengas en
mente otro proceso para lograr el objetivo de vigilar por una ventana. Lo
importante es que se logre el objetivo de la mejor manera posible.

Diagramas de flujo

10
Actividad
Representa en diagrama de flujo los siguientes algoritmos. La calidad de los
diagramas es importante, por lo que debes utilizar reglas o plantillas para que
los diagramas se vean ordenados y limpios.

1. Utiliza el algoritmo para encender un vehículo que realizaste anteriormente


y dibuja el diagrama de flujo.

Inicio

Abrir la puerta del


vehículo

Entrar al vehículo

Es vehículo Falso
estándar

Verdadero Verificar que esté en


parking
Pisar el clutch

Insertar la llave en la
ranura

Girar la llave

Fin

31
2. Utiliza el algoritmo que te permite hacer un pastel y dibuja el diagrama
de flujo.

Inicio

Comprar los
ingredientes

Mezclar los
ingredientes

Vaciar la mezcla
en un molde

Prender el horno

El horno está Falso


caliente

Verdadero

Meter el pastel

Abrir el horno

Está listo el Falso


pastel

Verdadero

Sacar el pastel
del horno

Fin

32 Programación - Fundamentos y prácticas de Programación


3. Utiliza el algoritmo para determinar si un número entero X es par o impar
y dibuja el diagrama de flujo.

Inicio

numero

Falso
numero MOD 2 = 0

Es impar
Verdadero

Es par

Fin

33
4. Dibuja un diagrama de flujo del algoritmo que te permita desarrollar
algoritmos.

Inicio

Determinar el
problema

Elegir una posible


solución

Indicar los pasos a


seguir

Realizar una prueba


del algoritmo

La prueba
encontró errores Falso

Verdadero

Corregir los
errores

La solución fue
satisfactoria Falso

Verdadero

Fin

34 Programación - Fundamentos y prácticas de Programación


5. Dibuja un diagrama de flujo del algoritmo que te permita saber si un
número entero X es primo.

Falso
Inicio Bandera = 0

Verdadero
Bandera = 0
El número El número
es primo no es primo
numero
Fin

numero < 1
Verdadero
Falso

numero = 2 Verdadero
A

Falso
i=2

Bandera = o e Falso
i < numero/2 A

Verdadero

numero MOD i = 0 Falso

Verdadero
Bandera = 1

i=i+1

35
Pseudocódigo
El pseudocódigo es un lenguaje de especificación de algoritmos, de uso fácil
y sintaxis similar al lenguaje de programación. Es un paso más cercano a los
lenguajes de computadora, pero te permite concentrarte en las estructuras y
acciones, en vez de preocuparte por la sintaxis del lenguaje en el que se va
a programar. Cuando un algoritmo se escribe en pseudocódigo, en vez de en
palabras comunes, su traducción a cualquier lenguaje de programación será
muy sencilla. Para escribir pseudocódigos hay que cumplir algunos requisitos
que facilitarán la posterior transcripción del algoritmo a un lenguaje de
computadora:

Asignar un nombre. Se debe poner un título al algoritmo que haga


referencia a su contenido o función.
Declarar variables. Es necesario especificar los nombres de las variables
y el tipo de dato que van a almacenar.
Delimitar estructuras. Todas las estructuras deben delimitarse entre un
Inicio y un Fin.
Identificar mensajes. Los mensajes que deseas que se muestren al
usuario deberán escribirse entre comillas.

Declarar una variable consiste en escribir el tipo de dato que puede guardar,
seguido del nombre de la variable. Para separar el tipo de dato del nombre de
la variable se utilizan dos puntos (:). Puedes declarar dos o más variables del
mismo tipo, separando sus nombres con comas, por ejemplo:

Entero: edad
Real: estatura, peso, sueldo
Cadena: nombre, dirección

Para asignar un valor a una variable primero se escribe el nombre de la variable,


luego el signo de igualdad (=) y después el valor que se va a asignar a la
variable. Por ejemplo:

edad = 14
estatura = 1.76
sueldo = 750.80
nombre = “Alejandra”

Antes de analizar a detalle la forma correcta de escribir las estructuras en forma


de pseudocódigo, veamos un ejemplo simple que sólo utiliza una secuencia de
instrucciones. ¿Puedes comprender su funcionamiento? Realiza una prueba de
escritorio.

Programa Identificar usuario


Inicio
Cadena: nom
Escribir “Bienvenido. Teclea tu nombre”
Leer nom
Escribir “Hola”, nom
Fin

36 Programación - Fundamentos y prácticas de Programación


Diagramas de Nassi – Schneiderman (N-S)
El diagrama N-S, también conocido como diagrama de Chapin, es una técnica
que combina la descripción textual del pseudocódigo, con la representación
gráfica del diagrama de flujo. Cuenta con un conjunto limitado de símbolos para
representar los pasos del algoritmo, por lo que se apoya en expresiones del
lenguaje natural utilizando un conjunto de palabras reservadas. Las palabras
reservadas más utilizadas son:

Inicio, Fin, Leer, Escribir, Mientras, Repetir, Hasta, Para, Incrementar,


Decrementar, Hacer Función, Entero Real, Caracter, Cadena, Lógico, Retornar.
Veamos como ejemplo un algoritmo que sirve para calcular el área y perímetro
de cualquier rectángulo. El usuario debe proporcionar los valores de la base y
la altura.

Algoritmo para calcular el área y perímetro de un rectángulo.

Inicio

1. Pedir al usuario el valor de la base (b)


2. Pedir al usuario el valor de la altura (h)
3. Calcular el área con la fórmula A=b*h
4. Calcular el perímetro con la fórmula P= 2*(b+h)
5. Mostrar al usuario los valores de A y P

Fin

Este simple algoritmo se puede representar con un diagrama de flujo, como se


muestra a continuación:

Inicio

b,h

A= b * h

P= 2* (b+h)

A, P

Fin

37
También sabemos que, para que la traducción posterior a un lenguaje
de programación sea más sencilla, es conveniente escribirlo en forma de
pseudocódigo, por ejemplo así:

Pseudocódigo para calcular el área y perímetro de un rectángulo.

Inicio
Entero: b, h, A, P
Pedir b
Pedir h
A = b*h
P=2*(b+h)
Mostrar A
Mostrar P
Fin

Para realizar el diagrama N-S tenemos que hacer el siguiente análisis.


Datos de entrada: b y h (base y altura)
Datos de salida: A y P (área y perímetro)
Procesos: A = b * h , P = 2 * (b + h)

Diagrama N-S:

Inicio
Entero: b, h, A, P
Leer b, h
A=b*h
P = 2 * (b + h)
Escribir “El área es:”, A
Escribir “El perímetro es:”, P
Fin

Hasta este punto parece que el diagrama N-S no tiene diferencia alguna con
el pseudocódigo, con la excepción de que está dentro de una especie de
recuadro con filas. Empezarás a notar cambios cuando tengas que representar
estructuras.

Diagrama N-S de estructuras de decisión


Considera ahora el siguiente caso. Queremos diseñar un programa para
encontrar el valor absoluto de un número entero. Recuerda que para los
enteros positivos el valor absoluto es el mismo número, mientras que para los
negativos, basta cambiar el signo para encontrar el valor absoluto.

Datos de entrada: num (cualquier número entero positivo o negativo)


Datos de salida: absnum (valor absoluto de num)
Proceso: absnum = num * (-1) Recuerda que este proceso sólo se realiza si
num es menor que cero.

38 Programación - Fundamentos y prácticas de Programación


Diagrama N-S:

Para ejemplificar un algoritmo de decisión múltiple, considera un algoritmo


para identificar el mayor y menor de dos números enteros dados.

Datos de entrada: num1, num2


Datos salida: mayor, menor
Proceso: comparación

Diseño de la solución

Diagramas N-S

11
Actividad
Representa en diagrama N-S (diagrama de Chapin) los siguientes algoritmos.
Recuerda que la claridad es importante, por lo que debes utilizar regla para
tener una máxima limpieza.

39
1. Algoritmo que te permita encender un vehículo

Inicio
Abrir la puerta del vehículo
Entrar al vehículo
Si Es estándar No
Pisar el clutch Verificar que esté
en parking
Insertar la llave en la ranura
Girar la llave
Fin del algoritmo

2. Algoritmo que te permita hacer un pastel

Inicio
Comprar los ingredientes
Mezclar los ingredientes
Vaciar la mezcla en un molde para pastel
Prender el horno
Esperar unos minutos
Abrir el horno
El horno está caliente
Meter el pastel al horno
Esperar unos minutos
Abrir el horno
El pastel está listo
Sacar el pastel del horno
Fin del algoritmo

40 Programación - Fundamentos y prácticas de Programación


3. Algoritmo que te permita determinar si un número es par o impar

Inicio
Entero: n
Entrar al vehículo
Si n MOD2 = 0 No
Mostrar: Mostrar:
“Es par” “Es impar”
Fin del algoritmo

4. Algoritmo que te permita desarrollar algoritmos

Inicio
Determinar el problema
Elegir una posible solución
Indicar los pasos a seguir
¿Hay posibles errores?
Corregir fallas
Realizar prueba del algoritmo
¿La solución fue satisfactoria?
Fin del algoritmo

41
5. Algoritmo que te permita saber si un número es primo

Inicio
Entero: bandera, numero, i = 0 Si Bandera = 0 No
Leer numero
numero > 1 Mostrar: Mostrar:
numero = 2 “El número “El número no
o numero = 1 es primo” es primo”
Si No
i=2 Fin del algoritmo
bandera = 0
e i < numero/2
numero MODi= 0
Si No
bandera = 1
i=i+1

Pseudocódigos de la estructura Si-Entonces- Si no


Ya hemos estudiado que cuando en un algoritmo hay que tomar una decisión,
se utiliza el condicional Si. Ya has escrito varios algoritmos utilizando esta
estructura de decisión. Ahora verás la forma correcta de escribir esta estructura
en forma de pseudocódigo.

En la toma de decisiones que dependen de una condición, la o las instrucciones


que formen parte de la estructura sólo se ejecutan si se cumple una condición.
Adicionalmente se pueden incluir una o varias instrucciones que se ejecuten
sólo en caso de que no se cumpla la condición. Un ejemplo en nuestro propio
lenguaje sería algo así:

Si hace frío entonces



usar un abrigo
ir al cine
Si no

usar ropa fresca
ir a la playa
Fin_Si

Su estructura general es la siguiente:

Si (Condición) entonces
Instrucciones a ejecutar en caso de que la condición sea Verdadera

Si no
Instrucciones a ejecutar en caso de que la condición sea Falsa

Fin_Si

42 Programación - Fundamentos y prácticas de Programación


Veamos un algoritmo de ejemplo. Se debe leer un número y determinar si éste
es negativo o positivo.

Programa Decisiones en Secuencia

Inicio
Entero: num
Escribir “Digite un número entero”
Leer num
Si num < 0
Escribir “El número digitado es negativo”
Si no
Escribir “El número digitado es positivo”
Fin_Si
Fin

Decisiones simples

12
Actividad
Realiza un algoritmo para cada uno de los ejercicios, utilizando decisiones
simples.

1. Determinar si un alumno aprueba o reprueba una materia, basado en el


promedio de 5 calificaciones. Escríbelo en pseudocódigo.

Inicio
Entero: total = 0, i = 0, calificacion = 0
Mientras i < 5
Leer calificacion
total = total + calificacion
i=i+1
Fin mientras
Si total /5 > 5
Mostrar “Aprobado”
Si no
Mostrar “Reprobado”
Fin si
Fin

2. Realiza un algoritmo para determinar si una persona es mayor de edad.


Escríbelo en pseudocódigo.
Inicio
Entero: Edad = 0
Leer Edad

43
Si Edad > 18
Mostrar “Mayor de edad”
Si no
Mostrar “Menor de edad”
Fin si
Fin
3. Leer un número y determinar si es un número primo. Escríbelo en
pseudocódigo.
Inicio
Entero: bandera = numero = i = 0
Repetir Leer numero
Hasta que numero > 1
Si numero <> 2
i=2
Mientras bandera = 0 e i < numero/2
Si numero MOD 2 = 0
Bandera = 1
Fin si
i=i+1
Fin mientras
Fin si
Si bandera = 0
Mostrar “Es primo”
Si no
Mostrar “No es primo”
Fin si
Fin
4. Leer un número y determinar si es número par. Escríbelo en
pseudocódigo.
Inicio
Entero: numero
Leer numero
Si numero MOD 2 = 0
Mostrar “El número es par”

44 Programación - Fundamentos y prácticas de Programación


Fin si
Fin

5. Leer un número y determinar si es número impar. Escríbelo en


pseudocódigo.

Inicio
Entero numero
Leer numero
Si numero MOD 2 <> 0
Mostrar “Es impar”
Fin si
Fin

Decisiones en secuencia
Este tipo de estructura se utiliza cuando se deben realizar varias preguntas
(condiciones) en las que no es importante el “Si no” de cada decisión.
Su esquema general es el siguiente:

Si condición1
Instrucciones a ejecutar en caso de que la condición1 sea Verdadera
Si condición2
Instrucciones a ejecutar en caso de que la condición2 sea Verdadera
Si condición3
Instrucciones a ejecutar en caso de que la condición3 sea Verdadera

45
Si condición4
Instrucciones a ejecutar en caso de que la condición4 sea Verdadera

Realiza una prueba de escritorio del siguiente ejemplo.


Inicio
Entero: numero
Escribir “Digite un numero”
Leer numero
Si numero =0
Llamar a recepción
Si numero =1
Llamar a vigilancia
Si numero =2
Llamar a mantenimiento
Si numero >2
Mensaje “Error, número invalido”
Fin

Decisiones en secuencia

13
Actividad
Realiza un algoritmo para cada uno de los ejercicios, utilizando decisiones en
secuencia.

1. Realiza un algoritmo para un buzón de voz de al menos 4 opciones.


Escríbelo como pseudocódigo.

Inicio
Entero: numero
Mostrar “Elija una opción”
Leer numero
Si numero = 0
Escuchar mensajes nuevos
Si numero = 1
Escuchar mensajes antiguos
Si numero = 2
Borrar mensaje
Si numero = 3
Mandar un mensaje a otro usuario
Si numero > 3
Mostrar “Opción no válida”
Fin

46 Programación - Fundamentos y prácticas de Programación


2. Leer una calificación numérica y determinar si es Deficiente, Regular, Bien,
Muy bien o Excelente. Escríbelo como pseudocódigo.
Inicio
Entero: calificacion
Si calificacion < 5
Mostrar “Deficiente”
Si calificacion = 6 o calificacion = 7
Mostrar “Regular”
Si calificacion = 8
Mostrar “Bien”
Si calificacion = 9
Mostrar “Muy bien”
Si calificacion = 10
Mostrar “Excelente”
Fin
3. Realizar un algoritmo que indique, según el número, el nombre del mes.
Escríbelo como pseudocódigo.
Inicio
Entero: mes
Leer mes
Si mes < 0 o mes > 12
Mostrar “Número no válido”
Si mes = 1
Mostrar “Enero”
Si mes = 2
Mostrar “Febrero”
Si mes = 3
Mostrar “Marzo”
Si mes = 4
Mostrar “Abril”
Si mes = 5
Mostrar “Mayo”
Si mes = 6
Mostrar “Junio”
Si mes = 7
Mostrar “Julio”
Si mes = 8
Mostrar “Agosto”
Si mes = 9

47
Mostrar “Septiembre”
Si mes = 10
Mostrar “Octubre”
Si mes = 11
Mostrar “Noviembre”
Si mes = 12
Mostrar “Diciembre”
Fin
4. Realizar un algoritmo que permita indicar el número de un día y el número
de un mes y muestre la estación del año que corresponde a esa fecha.

Inicio
Entero: dia, mes
Leer dia
Leer mes
Mientras dia < 1 o dia > 31
Leer dia
Mientras mes < 1 o mes > 12
Leer mes
Si mes = 4 o mes = 5
Mostrar “Primavera”
Si mes = 7 o mes = 8
Mostrar “Verano”
Si mes = 10 o mes = 11
Mostrar “Otoño”
Si mes = 1 o mes = 2
Mostrar “Invierno”
Si mes = 3 y dia > 20
Mostrar “Primavera”
Si mes = 3 y dia < 21
Mostrar “Invierno”
Si mes = 6 y dia > 21
Mostrar “Verano”
Si mes = 6 y dia < 22
Mostrar “Primavera”
Si mes = 9 y dia > 23
Mostrar “Otoño”
Si mes = 9 y dia < 24
Mostrar “Verano”

48 Programación - Fundamentos y prácticas de Programación


Si mes = 12 y dia > 21
Mostrar “Invierno”
Si mes = 12 y dia < 22
Mostrar “Otoño”
Fin
5. Realizar un algoritmo que indique el tipo de un triángulo, dependiendo de
las medidas de sus tres ángulos.

Inicio
Entero: a1, a2, a3
Leer a1, a2, a3
Mientras a1+a2+a3 <> 180
Leer a1, a2, a3
Si a1=a2 y a1=a3 y a2=a3
Mostrar “Triángulo equilátero”
Si (a1=a2 y a3<> a1) o (a1=a3 y a2<> a1) o (a2=a3 y a1<> a2)
Mostrar “Triángulo isóceles”
Si a1=90 o a2=90 o a3=90
Mostrar “Triángulo rectángulo”
Si a1>90 o a2>90 o a3>90
Mostrar “Triángulo obtusángulo”
Si a1<90 o a2<90 o a3<90
Mostrar “Triángulo acutángulo”
Fin

49
Decisiones en cascada o anidadas
En este tipo de decisiones, un nuevo condicional completo se coloca dentro
de la opción Si o de la opción Si no de otro condicional. A veces es muy
conveniente utilizar esta estructura porque permite optimizar el programa y
escribir menos instrucciones. Por ejemplo, analiza este caso:

Si llueve entonces
no salir de casa
Si no
Si hace frío
usar abrigo
ir al cine
Si no
usar ropa fresca
ir a la playa
Fin_Si
Fin_Si

Observa que el grupo de instrucciones en letra cursiva (el condicional interno)


sólo se ejecuta en el caso de que la primera condición sea falsa. Si la primera
condición es verdadera (si llueve), todo el segundo condicional es ignorado. El
esquema general es el siguiente.

Si condición1 entonces
Instrucciones a ejecutar en caso de que la condición1 sea Verdadera
Si no
Si condición2 entonces
Instrucciones a ejecutar en caso de que la condición2 sea Verdadera
Si no
Instrucciones a ejecutar en caso de que la condición2 sea Falsa
Fin_si
Fin_si

También es posible tener un esquema como éste:

Si condición1 entonces
Si condición2 entonces
Instrucciones a ejecutar en caso de que la condición2 sea Verdadera
Si no
Instrucciones a ejecutar en caso de que la condición2 sea Falsa
Fin_si
Si no
Instrucciones a ejecutar en caso de que la condición1 sea Falsa
Fin_si

De acuerdo a las necesidades de cada algoritmo, se pueden anidar dos, tres o


más decisiones. Realiza una prueba de escritorio de este ejemplo: se debe leer
un número entero y determinar si es de uno, dos, tres, cuatro o más dígitos.
Además hay que verificar que el número no sea negativo.

50 Programación - Fundamentos y prácticas de Programación


Programa Decisión en Cascada

Decisiones anidadas

14
Actividad
Realiza un algoritmo para cada uno de los siguientes ejercicios, utilizando
decisiones anidadas o en cascada.

1. Leer un número entero de dos dígitos y determinar si un dígito es múltiplo


del otro.

Inicio
Entero: num, aux1, aux2
Leer num
Mientras num<10 o num >99
Leer num
aux1= num/10
aux2= num MOD 10
Si aux1< aux2
Si aux2 MOD aux1 = 0

51
Mostrar “El segundo dígito es múltiplo del primero”
Fin si
Si no
Si aux1 MOD aux2 = 0
Mostrar “El primer dígito es múltiplo del segundo”
Fin si
Fin si
Fin

2. Leer dos números enteros. Si la diferencia entre los dos es menor o igual
a 10, entonces mostrar en pantalla todos los enteros comprendidos entre
el menor y el mayor de los números leídos.

Inicio
Entero: num1, num2, cont, aux
Leer num1, num2
Si num1< num2
aux=num1
num1=num2
num2=aux
Fin si
cont=num1-num2
Si cont < 10
Mientras cont > 0
Mostrar num1 - cont
cont = cont - 1
Fin mientras
Fin si
Fin

52 Programación - Fundamentos y prácticas de Programación


3. Leer dos números enteros de 2 dígitos. Si la diferencia entre los dos
números es par mostrar en pantalla la suma de los dos números; si dicha
diferencia es un número menor que 10 entonces mostrar en pantalla el
producto de los dos números; y si la diferencia entre los números leídos
termina en 4 mostrar en pantalla la diferencia.

Inicio
Entero: num1, num2, aux
Leer num1
Mientras num1<10 y num1 >99
Leer num1
Leer num2
Mientras num2<10 y num2 >99
Leer num2
Si num2 > num1
aux=num1
num1=num2
num2=aux
Fin si
aux=num1-num2
Si aux MOD 2 = 0
Mostrar num1+num2
Si aux < 10
Mostrar num1*num2
Si aux MOD 10 = 4
Mostrar aux

53
4. Leer un número entero de 2 dígitos. Si el número termina en 1 mostrar en
pantalla su primer dígito, si termina en 2 mostrar en pantalla la suma de
sus dígitos y si termina en 3 mostrar en pantalla el producto de sus dos
dígitos.
Inicio
Entero: num
Leer num
Mientras num<10 y num>99
Leer num
Fin mientras
Si num MOD 10 = 1
Mostrar num/10
Si num MOD 10 = 2
Mostrar num MOD 10 + num/10
Si num MOD 10 = 3
Mostrar num MOD 10 * num/10
Fin

54 Programación - Fundamentos y prácticas de Programación


Ciclos
Un ciclo es una estructura que permite repetir o iterar un conjunto de acciones
la cantidad de veces que determine una condición. El ciclo siempre debe tener
un inicio y un final.

Para facilitar la escritura de algoritmos se utilizan tres formas de ciclos. Aunque


siempre que necesites repetir instrucciones puedes usar cualquiera de los tres
ciclos, siempre hay alguno que resulta más conveniente o que permite escribir
menos instrucciones. Veamos los tipos de ciclos:

Ciclo Mientras (While)


En esta estructura hay una condición al inicio del ciclo. Mientras la condición se
cumpla (sea verdadera), se ejecutan las instrucciones especificadas dentro de
la estructura. Se utiliza cuando queremos que se repitan ciertas instrucciones
un número definido de veces. Antes de iniciar el ciclo, el programa verifica la
condición y, si esta se cumple, se ejecuta el ciclo. Si no se cumple la condición,
el programa hace caso omiso de cualquier instrucción dentro del ciclo y continúa
con las demás instrucciones del programa. Su estructura es:

Mientras (condición)
Acciones a ejecutar
Fin Mientras

Por ejemplo, imagina que deseamos que la computadora muestre los números
pares entre el 0 y el 1000. Si no utilizas ciclos tendrías que escribir algo así:

Inicio
Entero: num
num=2
Escribir num
num=num+2
Escribir num
num=num+2
Escribir num
num=num+2
...
… y así hasta que num tenga el valor de 1,000
Fin

Queda claro que hay instrucciones que se repiten una y otra vez, por lo que
conviene usar un ciclo que podría quedar como sigue. Realiza una prueba de
escritorio del algoritmo para entenderlo mejor.

Inicio
Entero: numero
numero = 2
Mientras numero <= 1000
Escriba numero
numero = numero + 2
Fin Mientras
Fin

55
Ciclo Mientras
Ciclo Mientras

15
Actividad
Realiza un algoritmo para cada uno de los siguientes problemas, utilizando la
estructura del ciclo Mientras.

1. Leer un número entero y mostrar todos los pares comprendidos entre 1 y


el número leído. Escríbe el pseudocódigo.

Inicio
Entero num, cont = 2
Leer num
Mientras num < 1
Leer num
Fin mientras
Mientras cont < num
Mostrar cont
cont =cont + 2
Fin mientras
Fin

2. Mostrar en pantalla todos los enteros impares comprendidos entre 20 y 150.

Inicio
Entero cont = 21
Mientras cont < 150
Mostrar cont
cont =cont + 2
Fin mientras
Fin

56 Programación - Fundamentos y prácticas de Programación


3. Leer un número entero y determinar si es un número primo.

Inicio
Entero: bandera = i = 0, numero
Leer numero
Mientras numero < 0
Leer numero
Si numero <> 0 y numero <> 1
i=2
Mientras bandera = 0 e i < numero/2
Si numero MOD i = 0
Bandera = 1
i=i+1
Fin si
Fin mientras
Fin si
Si bandera = 0
Mostrar “Es primo”
Fin si
Fin
4. Mostrar en pantalla la tabla de multiplicar del número 6, desde 6 X 1 hasta
6 X 12.

Inicio
Entero i = 1
Mientras i < 12
Mostrar “6x” i
i=i+1
Fin mientras
Fin

57
5. Leer cualquier número entero y mostrar en pantalla su tabla de multiplicar.
Escribe el pseudocódigo y dibuja un diagrama N-S. o diagrama de flujo.
Inicio Inicio
Entero num, i = 1 Entero: num, i = 1
Leer num Leer num
Mientras i < 12 i < 12
Mostrar num “*” i Mostrar num “*” i
i++ i++
Fin mientras Fin
Fin
Ciclo Para (For)
Este ciclo ejecuta una serie de instrucciones, el número de veces definidas
en un rango. Utiliza una variable que almacena el valor de inicio del ciclo y se
incrementa o decrementa en cada repetición hasta que la variable es igual al
valor final del ciclo.

Analiza este ejemplo que muestra los números consecutivos del 1 al 25:

Inicio
Entero: N
Para N= 1 hasta 25
Escriba N
Fin_Para
Fin

En el ejemplo anterior se utilizó la variable N, de tipo entero, para llevar la


cuenta del ciclo. El ciclo se repite desde que N tiene el valor de 1 (valor inicial),
hasta que N tiene el valor de 25 (valor final). No hay restricciones en cuanto a
los valores iniciales y finales, siempre y cuando el ciclo tenga un inicio y un fin.
Así, todas las líneas siguientes son válidas:

Para N= 7 hasta 9
Para N= 1 hasta 25 Paso 2 (para incrementar N de 2 en 2)
Para N= 10 hasta 0 Paso -1 (para decrementar N de 1 en 1)

Ciclo Para

16
Actividad
Realiza un algoritmo para cada uno de los ejercicios, utilizando la estructura
del ciclo Para.

1. Mostrar en pantalla todos los enteros comprendidos entre 1 y 15


Inicio
Entero: i
Para i = 1 hasta 15
Mostrar i

58 Programación - Fundamentos y prácticas de Programación


Fin para
Fin

2. Generar en orden los números del 1 al 10, utilizando un ciclo que vaya de
10 a 1.

Inicio
Entero: i
Para i = 10 hasta 1
Mostrar 11 - i
Fin para
Fin

3. Mostrar en pantalla los primeros 20 múltiplos de 4.


Inicio
Entero: num
Para num = 1 hasta 20
Mostrar 4* num
Fin para
Fin

59
4. Sumar los números primos comprendidos entre el 1 y el 22.
Inicio
Entero: total = 0, num
Para num = 1 hasta 22
Si num es primo
total = total + num
Fin si
Fin para
Mostrar total
Fin

5. Mostrar en pantalla los números pares comprendidos entre el 20 y el 30.

Inicio
Entero: i
Para i = 20 hasta 30
Mostrar i
i=i+1
Fin para
Fin

60 Programación - Fundamentos y prácticas de Programación


Ciclo Hacer-Mientras (Repeat While)
Esta estructura se utiliza generalmente cuando no sabemos de antemano
cuántas veces se ha de ejecutar el ciclo y tenemos que esperar a que cierta
condición se cumpla. A diferencia del ciclo Mientras, el ciclo Hacer-Mientras se
ejecuta siempre por lo menos una vez, ya que la condición se valida al final del
ciclo en vez de al principio. Si la condición es verdadera, el ciclo se repite y se
termina cuando la condición es falsa. Su estructura es:

Hacer
-
Acciones a ejecutar
-
Mientras (Condición)

Por ejemplo, este algoritmo muestra los números pares entre el 2 y el 1000

Inicio
Entero: numero
numero = 2
Hacer
Escriba numero
numero = numero + 2
Mientras numero <= 1000
Fin

Ciclo Hacer-Mientras

17
Actividad
Realiza un algoritmo para cada uno de los ejercicios, utilizando la estructura
del ciclo Hacer-Mientras.

1. Leer un número y calcular su factorial.


Inicio
Entero: num, prod = 1, fact = 1
Leer num
Mientras num < 1
Leer num
Hacer
fact* = prod
prod + = 1
Mientras prod < num
Mostrar fact
Fin

61
2. Mostrar en pantalla todos los impares comprendidos entre 1 y 100.

Inicio
Entero: num = 1
Hacer
Mostrar num
num + = 2
Mientras num < 99
Fin

3. Leer dos números enteros y mostrar todos los múltiplos de 4 comprendidos


entre el menor y el mayor.

Inicio
Entero: a, b, i = 1, aux
Leer a, b
Si b > a
aux = a
a=b
b = aux
Fin si
Mientras a MOD 4 <> 0 y a < b
a+=1
Fin mientras
Hacer
Mostrar a
a=a+4
Mientras a < b
Fin

62 Programación - Fundamentos y prácticas de Programación


4. Leer dos números enteros y sumar todos los valores enteros que haya
entre el menor y el mayor.
Inicio
Entero: a, b, suma, aux
Leer a, b
Si b < a
aux = a
a=b
Fin si
Hacer
suma + = a
a+=1
Mientras a < b
Fin

5. Sumar números leídos uno a uno, hasta que el usuario ingrese un 9. Al


final debe mostrarse la suma. Escribe el pseudocódigo y dibuja el diagrama
de flujo.

Inicio
Entero: suma, num
Hacer
Leer num
suma + = num
Mientras num <> 9
Mostrar suma
Fin

63
Inicio

Entero = suma, num

num

suma + = num

num <>a Verdadero

Falso
suma

Fin

Ciclo Hacer-Hasta (Repeat Until)


Algunos lenguajes de programación incluyen un ciclo muy parecido al Ciclo
Hacer-Mientras, con una diferencia: el ciclo se repite hasta que la condición a
validar sea verdadera.

Ciclo Hacer-Mientras.
Se repite Mientras la condición final sea verdadera, es decir, termina
cuando la condición es falsa.

Ciclo Hacer-Hasta.
Se repite mientras la condición final sea falsa, es decir, termina hasta
que la condición es verdadera.

La estructura del Ciclo Hacer Hasta es:

Hacer
-
Acciones a ejecutar
-
Hasta (Condición)

Por ejemplo, este algoritmo muestra los números pares entre el 2 y el 1000

Inicio
Entero: numero
numero = 2
Hacer
Escriba numero
numero = numero + 2
Hasta numero > 1000
Fin

64 Programación - Fundamentos y prácticas de Programación


Ciclo Hacer-Hasta

18
Actividad
Realiza un algoritmo para cada uno de los ejercicios, utilizando la estructura
del ciclo Hacer-Hasta

1. Leer un número entero y mostrar todos los pares comprendidos entre 1 y


el número leído.
Inicio
Entero: num, i = 2
Leer num
Si num > i
Hacer
Mostrar i
i+=2
Hasta i < num
Fin si
Fin

2. Mostrar en pantalla todos los pares comprendidos entre 20 y 100.


Inicio
Entero: num = 20
Hacer
Mostrar num
num + = 2
Hasta num > 100
Fin

65
3. Leer dos números enteros y mostrar todos los múltiplos de 4 comprendidos
entre el menor y el mayor.
Inicio
Entero: a, b, aux
Leer a,b
Si b > a
aux = a
a=b
b = aux
Fin si
Mientras a MOD 4 <> 0 y a < b
a+=1
Fin mientras
Hacer
Si a < b
Mostrar a
a+=4
Hasta a > b
Fin
4. Leer dos números enteros y sumar los valores enteros que estén entre el
menor y el mayor.

Inicio
Entero: a, b, aux, suma
Leer a, b
Si b > a
aux = a
a=b
b = aux
Fin si
Hacer
suma + = a
a++
Hasta a > b
Fin

66 Programación - Fundamentos y prácticas de Programación


5. Sumar números leídos uno a uno, hasta que el usuario ingrese un 9. Al
final debe mostrarse la suma. Escribe el pseudocódigo y dibuja el diagrama
de flujo.

Inicio
Entero: num, suma
Hacer
Leer num
suma + = num
Hasta num = 9
Mostrar suma
Fin

Ciclos anidados
Un ciclo anidado es una estructura en la que un ciclo está dentro de otro. Es
posible crear ciclos anidados de cualquiera de los tipos de ciclo que hemos
analizado o incluso anidar dos o más ciclos de diferente tipo. Considerando el
ciclo Mientras, la estructura sería la siguiente:

Mientras Condición1
Acciones a repetir en el ciclo externo
-
Mientras Condición2
Acciones a repetir en el ciclo interno
Fin_Mientras Interno
-
Fin_Mientras Externo

Analicemos esta estructura con un ejemplo. Imagina que deseamos mostrar en


pantalla las siguientes parejas de enteros x, y:

x y
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

67
Primero analiza la lógica de estos números. Observa que para cada dígito x, el
dígito y cambia su valor tres veces. Sólo cuando el dígito y ha llegado a 3, se
incrementa el valor del dígito x.

Este algoritmo logra generar las parejas en cuestión. Realiza una prueba de
escritorio para comprenderlo bien:
x y
Inicio
Entero: x, y 1 1
x=1 1 2
Mientras x <= 3
y=1
1 3
Mientras y <= 3 2 1
Escribe x 2 2
Escribe y
y=y+1 2 3
Fin_Mientras Interno 3 1
x=x+1
Fin_Mientras Externo
3 2
Fin 3 3

El mismo algoritmo puede simplificarse mucho anidando dos ciclos Para.


Realiza la prueba de escritorio de esta nueva solución:

Inicio
Entero: x, y
Para x = 1 hasta 3
Para y = 1 hasta 3
Escribe x
Escribe y
Fin_Para Interno
Fin_Para Externo
Fin

x y
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

68 Programación - Fundamentos y prácticas de Programación


Ciclos anidados

19
Actividad

1. Utilizando ciclos anidados, escribe el algoritmo para generar las siguientes


parejas de enteros.

Inicio
x y
2 0
Entero x, y
2 1 Para x = 2 hasta 5
3 0
3 1 Para y = 0 hasta 1
4 0 Si x = 5 y y = 1
4 1
5 0 Terminar algoritmo
Si no
Mostrar x
Mostrar y
Fin si
Fin para
Fin para
Fin
2. Utilizando ciclos anidados generar las siguientes parejas de números.
Puedes usar una variable auxiliar para llevar la cuenta de las repeticiones
en el ciclo interno.

Inicio
x y
4 1 Entero x, aux, y = 1
4 2 Para x = 4 hasta 6
4 3
5 4 Para aux = 1 hasta 3
5 5 Mostrar x
5 6
6 7 Mostrar y
6 8 y+=1
6 9
Fin para
Fin para
Fin

69
3. Utilizando tres ciclos anidados generar las siguientes ternas de números
Inicio
x y z
Entero: x, y, z
1 1 1
1 1 2 Para x = 1 hasta 2
1 1 3 Para y = 1 hasta 2
1 2 1
1 2 2 Para z = 1 hasta 3
1 2 3 Mostrar x, y, z
2 1 1
2 1 2
Fin para
2 1 3 Fin para
2 2 1 Fin para
2 2 2
2 2 3
Fin

Pseudocódigos con varias estructuras

Ahora que has estudiado y practicado las estructuras básicas, seguramente has
descubierto que cualquiera de ellas se puede utilizar en combinación con otras
estructuras para lograr tareas más interesantes.

Veamos un ejemplo. Se desea crear un programa de un juego que consiste en


adivinar un número secreto aleatorio entre 0 y 100. El usuario intenta adivinar
dando un número X y el programa le dice si su intento es mayor, menor o igual
al número secreto. El usuario hace los intentos necesarios hasta que adivine
el número.

Pseudocódigo para jugar al número secreto:

Inicio
Entero: secreto
secreto = número aleatorio entre 0 y 100.
Pedir al usuario un número x
Mientras X <> Secreto
Si X > Secreto mostrar el mensaje “Te pasaste.”
Si X < Secreto mostrar el mensaje “Te falta.”
Pedir al usuario un número X.
Fin Mientras
Fin
Mostrar el mensaje: “Adivinaste el número”

70 Programación - Fundamentos y prácticas de Programación


Prueba de escritorio

20
Actividad
Realiza una prueba de escritorio del pseudocódigo para jugar al número
secreto. Intenta ver cómo funcionará el programa con un número secreto dado
y realizando diferentes intentos.
Secreto = 70
x = 50 Te falta
x = 60 Te falta
x = 80 Te pasaste
x = 75 Te pasaste
x = 65 Te falta
x = 72 Te pasaste
x = 70 Adivinaste el número

Repaso de pseudocódigos

21
Actividad
Transcribe a pseudocódigo los siguientes algoritmos:

1. Escribe en pseudocódigo el algoritmo que te permite encender un vehículo


Inicio
Tipo = Asignar tipo de vehículo
Abrir puerta del vehículo
Entrar al vehículo
Si vehículo = estándar
Pisar el clutch
Si vehículo = automático
Verificar que esté en Parking
Insertar la llave en la ranura
Hacer
Girar la llave
Hasta que el vehículo enciende
Fin

71
2. Escribe en pseudocódigo el algoritmo que te permite hacer un pastel.

Inicio
Comprar ingredientes
Para i = 1 hasta total ingredientes
tazón + = ingrediente i
Vaciar la mezcla en un molde
Prender el horno
Meter el pastel al horno
Hacer
Esperar 5 minutos
Abrir el horno
Hasta que el pastel esté listo
Sacar el pastel
Decorar el pastel
Fin

3. Escribe en pseudocódigo el algoritmo que te permite determinar si un


número es par o impar.
Inicio
Entero: n
Leer n
Si n MOD 2 = 0
Mostrar “El número es par”
Si no
Mostrar “El número es impar”
Fin si
Fin

72 Programación - Fundamentos y prácticas de Programación


4. Escribe en pseudocódigo el algoritmo que te permite desarrollar
algoritmos.

Inicio
Determinar el problema
Hacer
Elegir una posible solución
Indicar los pasos a seguir
Realizar prueba del algorítmo
Mientras existan erores
Corregir las fallas
Realizar prueba del algorítmo
Fin mientras
Hasta que la solución sea satisfactoria
Fin
5. Escribe en pseudocódigo el algoritmo que te permite saber si un número
es primo.
Inicio
Entero: bandera, numero, i = 0
Hacer
Leer numero
Hasta que numero > 0
Si numero <> 0 y numero <>1
i=2
Mientras bandera = 0 e i = numero/2
Si numero MOD i = 0
bandera = 1
Fin si
i=i+1
Fin mientras
Fin si
Si bandera = 0
Mostrar “El número es primo”
Fin si
Fin

73
Escribiendo pseudocódigos matemáticos

22
Actividad
1. Escribe el pseudocódigo de un programa que muestre en pantalla la tabla
de multiplicar que pida el usuario, es decir, si el usuario teclea un 7, en la
pantalla debe verse:
7X1=7
7 X 2 = 14
7 X 3 = 21... etcétera

* Debes usar un ciclo.


Inicio
Entero: num, i
Leer num
Para i = 1 hasta 12
Mostrar num “*” i “=” num * i
Fin para
Fin

2. Cuatro números dados por el usuario representan dos fracciones, donde


el N1 es el numerador de la primera fracción, D1 es el denominador de la
primera fracción, N2 es el numerador de la segunda fracción y D2 es el
denominador de la segunda fracción. Dados estos cuatro números, escribe
el pseudocódigo para obtener el numerador (N3) y el denominador (D3)
de la fracción que resultaría de multiplicar las dos primeras fracciones.
Inicio
Entero: N1, N2, D1, D2
Leer N1, N2
Hacer
Leer D1
Hasta que D1 <> 0
Hacer
Leer D2
Hasta que D2 <> 0

74 Programación - Fundamentos y prácticas de Programación


Mostrar “El producto de las fracciones es”
N1* N2 “sobre” D1* D2
Fin

3. Escribe el pseudocódigo para obtener las soluciones de un sistema de


dos ecuaciones con dos incógnitas, por el método de determinantes. Si
tienes dudas sobre el procedimiento, consulta algún texto o un profesor
de matemáticas.
Inicio
Entero: x1, x2, y1, y2, b1, b2, d1, d2, d3
Mostrar “Escriba los coeficientes de la ecuación de la forma
ax + by = c con a, b y c diferentes de 0”
Leer x1, y1, b1
Mostrar “Escriba de la misma manera los coeficientes de la segunda
ecuación”
Leer x2, y2, b2
d3 = x1 * y2 - y1 * x2
d1 = b1 * y2 - y1 * b2
d2 = x1 * b2 - b1 * x2
Si d3 <> 0
Mostrar “El valor de x es:”
Mostrar d1/d3
Mostrar ”El valor de y es:”
Mostrar d2/d3

75
Si no
Mostrar “El sistema no tiene solución”
Fin si
Fin

Arreglos
Un arreglo es un conjunto de variables del mismo tipo a las que nos podemos
referir utilizando un nombre común. Para identificar cada una de las variables de
un arreglo se utiliza una posición o dirección: la dirección más baja corresponde
al primer elemento y la más alta al último. Por ejemplo, los días de la semana
pueden guardarse en un arreglo de tipo Cadena de 7 elementos:

Semana
Dirección Valor
1
2
3
4
5
6
7

Se puede definir el arreglo de forma similar a una variable, especificando


primero el tipo de dato que va a contener, seguido del nombre del arreglo.
Además hay que especificar el tamaño del arreglo entre corchetes:

Tipo: nombre_arreglo [tamaño]

En nuestro ejemplo, el arreglo para los días de la semana se podría definir


así:

Cadena: semana[7]

76 Programación - Fundamentos y prácticas de Programación


Cuando se define el arreglo, inicialmente sus elementos no contienen ningún
valor. Los valores de cada miembro del arreglo se asignan prácticamente igual
a como se hace con las variables. Nuestro arreglo de los días de la semana se
puede llenar así:
Semana
Dirección Valor
1 lunes
semana[1] = “lunes”
2 martes
semana[2] = “martes”
semana[3] = “miércoles” 3 miércoles
semana[4] = “jueves” 4 jueves
semana[5] = “viernes” 5 viernes
6 sábado
7 domingo

Similarmente se puede tener acceso a cualquier elemento del arreglo sin tener
que consultar los demás. Analiza por ejemplo este programa:

Programa para traducir los días de la semana

Inicio
Cadena: semana[7]
Entero: num
semana[1] = “lunes”
semana[2] = “martes”
semana[3] = “miércoles”
semana[4] = “jueves”
semana[5] = “viernes”
semana[6] = “sábado”
semana[7] = “domingo”
Escribir “Teclea un número del 1 al 7”
Leer num
Escribir “El día de la semana equivalente es ”
Escribir semana[num]
Fin

En este ejemplo se utiliza la variable num como un índice. Los índices son
todas aquellas variables que nos sirven para ubicar un elemento dentro de un
arreglo. Son números estrictamente enteros debido a que hacen referencia a
una posición dentro de un arreglo.

Normalmente los datos de un arreglo se manejan como un conjunto. Se


acostumbra trabajar con índices a través de variables de tipo entero y se
utilizan ciclos para facilitar su manejo. Analiza este ejemplo:

Programa para llenar un arreglo con números pares entre 2 y 100

77
Inicio
Entero: ind
Entero: posicion[50]
Para ind=1 hasta 50
posicion[ind]= ind*2
Fin_Para
Fin

Arreglos

Actividad

23
Para cada uno de los ejercicios, escribe con pseudocódigo un programa que dé
solución a lo que se pide.

1. Leer las edades de 7 personas (números enteros), almacenarlas en un


arreglo y determinar cuántas de esas personas son mayores de edad.
Además del pseudocódigo realiza la prueba de escritorio.
Inicio
Entero: edad [7], i
Para i = 1 hasta 7
Leer edad [i]
Fin para
Para i = 1 hasta 7
Mostrar “Persona número” edad[i] “es”
Si edad [i] < 18
Mostrar “Menor de edad”
Si no
Mostrar “Mayor de edad”
Fin si
Fin para
Fin

Edad 1 2 3 4 5 6 7
8 10 14 18 21 25 17
i: 1,2,3,4,5,6,7,1,2,3,4,5,6,7
Persona número 1 es menor de edad
Persona número 2 es menor de edad
Persona número 3 es menor de edad
Persona número 4 es mayor de edad
Persona número 5 es mayor de edad
Persona número 6 es mayor de edad
Persona número 7 es menor de edad

78 Programación - Fundamentos y prácticas de Programación


2. Leer 8 enteros, almacenarlos en un arreglo y determinar en qué posición
del arreglo está el mayor número leído. Además escribir cuál es el número
mayor del arreglo.

Inicio
Entero: mayor [8], aux, M, i
Para i = 1 hasta 8
Leer mayor [i]
Fin para
aux = 1
M = mayor[i] > M
Para i = 2 hasta 8
Si mayor[i] > M
aux = i
M = mayor [i]
Fin_si
Fin para
Mostrar “El número mayor es”
Mostrar M
Mostrar “Que se encuentra en la posición”
Mostrar aux
Fin

79
3. Almacenar en un arreglo de 10 posiciones los 10 primeros números primos
comprendidos entre 150 y 320. Luego mostrarlos en pantalla.
Inicio
Entero: primos[10], i, cont
cont = , i = 150
Mientras cont < 10 e i < 320
Si i es numero primo
primos [cont] = i
i ++
cont ++
Fin si
Fin mientras
Para i = 1 hasta contador -1
Mostrar primos [i]
Fin para
Fin
4. Leer 15 números enteros, almacenarlos en un arreglo y determinar si
existe al menos un número repetido.

Inicio
Entero: R[15], i, j, n = 0
Para i = 1 hasta 15
Leer R [i]
Fin para
Para i = 1 hasta 14
Para j = i + 1 hasta 15
Si R [i] = R[j]
n = 1
Fin si
Fin para
Fin para
Si n = 1
Mostrar “Existen repeticiones”
Fin si
Fin

80 Programación - Fundamentos y prácticas de Programación


Matrices
Una matriz es un conjunto de datos del mismo tipo, organizados en filas y
columnas. Piensa en una matriz como una tabla en la que cada casilla es un
elemento de la matriz en que se puede almacenar un dato. Una matriz cuenta
con ciertas características:

Nombre. Una matriz es un conjunto de variables, por lo que debe tener


nombre como identificador.
Dimensión. Es la cantidad de filas y columnas que tendrá la matriz.
Tamaño. El tamaño o número de posiciones de una matriz se obtiene al
multiplicar el número de filas por el número de columnas.

No. de Columna

No. de Fila

Una matriz se define de manera similar a un arreglo:

Tipo: nombre_matriz (filas, columnas)

Si suponemos que la matriz representada en la figura anterior se llama barcos,


se podría definir así:

Entero: barcos [4,5]

Y podemos referirnos al dato que se encuentra marcado con una X así:

barcos [2,3]

Dentro de los paréntesis, siempre se indica primero el número de fila y


Nota después el número de columna.

81
Analiza este ejemplo. El objetivo es crear la siguiente matriz y almacenar en
cada posición el valor que se muestra:

1 1 1 1
2 2 2 2

3 3 3 3

Programa para llenar la matriz ejemplo:

Inicio
Entero: fila, colum
Entero: tabla [3,4]
Para fila = 1 hasta 3
Para colum = 1 hasta 4
tabla [fila, colum] = fila
Fin_Para
Fin_Para
Fin

Arreglos

24
Actividad
Escribe un programa, en formato de pseudocódigo, para cada uno de los
siguientes problemas:
1. Se debe crear la siguiente matriz y asignar en cada posición los valores
que se muestran. Utiliza ciclos.

1 0 0 0 Inicio
0 1 0 0 Entero A[4,4], i, j
0 0 1 0 Para i = 1 hasta 4
0 0 0 1 Para j = 1 hasta 4
Si i = j
A[i, j]=1
Si no
A [i, j]= 0
Fin si
Fin para
Fin para
Fin

82 Programación - Fundamentos y prácticas de Programación


2. Se debe crear la siguiente matriz y asignar en cada posición los valores
que se muestran. Utiliza ciclos.

1 2 3 4 Inicio
2 4 6 8 Entero A[4,4], i, j, N
3 6 9 12 Para i = 1 hasta 4
4 8 12 16 Para j = 1 hasta 4
A[i, j]= i * j
Fin para
Fin para
Fin

3. Se debe crear la siguiente matriz y asignar en cada posición los valores


que se muestran. Utiliza ciclos.

2 3 4 5 Inicio
3 4 5 6 Entero A[4,4], i, j, N
4 5 6 7 Para i = 1 hasta 4
5 6 7 8 N=i+1
Para j = 1 hasta 4
A[i, j]= N
Fin para
Fin para
Fin

83
4. Se debe crear la siguiente matriz y asignar en cada posición los valores
que se muestran. Utiliza ciclos.

1 2 3 4
Inicio
5 6 7 8 Entero A[4,4], i, j, N
9 10 11 12
N=1
13 14 15 16
Para i = 1 hasta 4
Para j = 1 hasta 4
A[i, j]= N
N++
Fin para
Fin para
Fin
5. Se tiene una matriz de 4 filas por 3 columnas, en la que se han almacenado
12 datos de tipo entero. Debes leer cada dato y calcular la suma de los
elementos de cada fila. Utiliza algún ciclo.
Inicio
Entero: A[4,3], i, j, s1 = s2 = s3 = s4 = 0
Para i = 1 hasta 4
Para j = 1 hasta 3
Fin para
Fin para
Leer A [i, j]
Para i = 1 hasta 3
s1 + = A [1, i]
Fin para
Para i = 1 hasta 3
s2 + = A [2, i]
Fin para
Para i = 1 hasta 3
s3 + = A [3, i]
Fin para
Para i = 1 hasta 3
s4 + = A [4, i]
Fin para
Fin
84 Programación - Fundamentos y prácticas de Programación
6. Se tiene una matriz de 4 filas por 4 columnas, en la que se han almacenado
16 datos de tipo entero. Debes determinar en qué fila y en qué columna se
encuentra el número mayor.
Inicio
Entero: A[4,4], i, j, m, n
m = 1, n = 1
Para i = 1 hasta 4
Para j = 1 hasta 4
Si A [i, j] > A [m, n]
m = i
n = j
Fin si
Fin para
Fin para
Mostrar “El número mayor se encuentra en”
Mostrar i “,” j
Mostrar “Y tiene un valor de”
Mostrar A [i, j]
Fin

LProg 01 Lámina de apoyo: Glosario de conceptos algoritmos

85
Visual Basic
Windows es actualmente el sistema operativo más popular del mundo.
Como tal, literalmente miles de programas, con todo tipo de objetivos,
deben funcionar en esta plataforma.

Los programas se desarrollan en un lenguaje de programación y


entre los más populares en la actualidad está Visual Basic. Visual Basic,
además de ser un lenguaje, es un entorno de programación, es decir, es
una aplicación que sirve para hacer aplicaciones.

Antes de trabajar con Visual Basic, hay ciertos conceptos que debes analizar
y comprender para así tener un manejo más rápido y sencillo del entorno de
programación en sí. En esta sección analizaremos los principales conceptos
básicos necesarios, para posteriormente entrar de lleno al análisis de la
herramienta.
¿Por qué Visual Basic?
Las interfaces gráficas han cambiado la industria de las microcomputadoras.
Una interfaz gráfica (GUI o Graphic User Interface) es mucho más sencilla
y atractiva para los usuarios (especialmente los principiantes) que los viejos
símbolos y comandos del D.O.S. En vez del críptico C:> (que era el único
símbolo que veía el usuario en su pantalla al encender la PC) tenemos ahora
un escritorio virtual lleno de íconos, ventanas, menús y botones.

Aún más importante que cómo se ven las aplicaciones de Windows, es cómo
se sienten estas aplicaciones. Todas las aplicaciones para Windows tienen una
interfaz o entorno de trabajo consistente, de manera que un usuario puede
concentrarse en usar la aplicación, en vez de aprender a usar la interfaz. En
otras palabras, no importa si trabajas en Word Perfect, Corel Draw, Paint, Auto
Cad, Lotus Notes o Excel: la forma de trabajar con las ventanas, cuadros de
diálogo, botones, menús y demás elementos gráficos es siempre la misma. Los
usuarios quieren aplicaciones fáciles de aprender, que les permitan ser más
productivos.

La primera versión de Visual Basic apareció en 1991. Antes de su existencia


programar aplicaciones para Windows era mucho más complicado que programar
aplicaciones para D.O.S. Al programar para un ambiente gráfico, el programador
tenía que preocuparse por todos los pequeños detalles, por ejemplo, la creación
de ventanas o cuadros de diálogo, los movimientos del ratón, los clics o dobles
clic, etcétera. Para desarrollar una aplicación se necesitaban programadores
realmente expertos para escribir miles de líneas de código.

Visual Basic se creó como una solución a estos problemas. Es un lenguaje


de programación con un enfoque completamente distinto, basado en los
elementos gráficos más que en una secuencia de líneas de programa.
Permite agregar menús, botones, cajas de texto, check boxes, múltiples
ventanas y prácticamente todos los elementos gráficos con los que nos
topamos al trabajar con Windows. Visual Basic es hoy, quizás el lenguaje
de programación más popular y una herramienta de desarrollo profesional
realmente poderosa.

LProg 02 Lámina de apoyo 02: ¿Por qué Visual Basic? (historia


de Visual Basic)

Propiedades, Métodos y Eventos


Observa cualquier cuadro de diálogo de Windows. En estas ventanas hay una
serie de objetos, como botones, cajas de texto o menús, con los que el usuario
puede interactuar. Tres cosas definen a todos los objetos: tienen Propiedades,
tienen Métodos y responden a Eventos.

Propiedades: Las características de un objeto son sus propiedades. Las


propiedades determinan la apariencia y comportamiento de los objetos.
El color de pelo, la estatura y la edad de una persona son propiedades
de esa persona.

87
En Windows, el color de un botón, sus dimensiones o el texto que muestra, son
propiedades de ese botón.

Métodos: Los métodos son las cosas que un objeto sabe hacer. Son
procedimientos provistos por el objeto. En la analogía con una persona,
algunos métodos serían caminar, hablar o dormir. Un programador no
necesitaría decirle a una persona cómo caminar; solamente debe decirle
cuándo hacerlo.

En Windows, una ventana “sabe” minimizarse y maximizarse y basta con que


el programador le indique cuando debe hacerlo, invocando estos métodos.

Eventos: Los objetos responden a eventos, es decir, a acciones que


ocurren sobre ellos o en el entorno que los afecta. En nuestra analogía,
una persona responde a eventos como tocarla o gritarle.

En Windows, un botón responde, por ejemplo, al evento Clic o al evento Doble


Clic.

Propiedades, métodos y eventos

25
Actividad
1. Escribe 3 propiedades, 3 métodos y 3 eventos de una persona adulta:
Propiedades: color de cabello, estatura, edad

Métodos: comer, correr, dormir

Eventos: hablarle, tocarla, saludarla

2. Escribe 3 propiedades, 3 métodos y 3 eventos de una lámpara:


Propiedades: tamaño, color, costo

Métodos: encender, apagar, modificar intensidad

Eventos: conectar, desconectar, apretar botón de encendido

88 Programación - Fundamentos y prácticas de Programación


3. Escribe 3 propiedades, 3 métodos y 3 eventos de una lavadora de ropa:
Propiedades: tamaño, capacidad, marca

Métodos: lavar, enjuagar, secar

Eventos: llenarla de agua, añadir suavizante, seleccionar un ciclo de lavado

Programación por Eventos vs. Programación Estructurada


Visual Basic se deriva del obsoleto lenguaje Basic, que es un lenguaje de
programación estructurada, tal como C o Pascal. Sin embargo Visual Basic
utiliza el modelo de Programación por Eventos.

En la Programación Estructurada (también llamada lineal, descendente o


de funciones) las líneas de programa de la aplicación determinan cómo se
ejecuta ésta. Un programa comienza con la primera línea de código y sigue
una secuencia predeterminada a través de la aplicación.

En la Programación por Eventos, el programa no sigue un flujo predefinido,


sino que ejecuta diferentes porciones de código como respuesta a eventos.
Los eventos pueden resultar de la acción del usuario, mensajes del sistema,
de otra aplicación o del mismo programa.

Tipos de Programación

Actividad

26
Realiza una investigación acerca de las características, ventajas y
desventajas de la programación orientada a objetos y eventos, comparada
con la programación estructurada tradicional. Anota los principales aspectos
que definen a cada una y escribe al final conclusiones personales.

Programación por Eventos


Programas típicos de Windows: Una vez iniciado el programa se queda en espera de
las acciones del usuario. Un gran número de tareas se realizan sin escribir código,
simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla.

89
Programación Estructurada
Se utilizan tres estructuras:
Secuencial: Si las instrucciones se ejecutan una tras otra a modo de secuencia.
Selectiva: Permite la realización de una instrucción u otra según un criterio.
Herativa: Hace que se repitan instrucciones mientras se cumpla una condición.

Conclusiones
Con los años, la programación va evolucionando para que nosotros, como realizadores
de aplicaciones, lo hagamos de manera más fácil y mejor, sin embargo, a veces es
necesario basarnos en modelos anteriores de programación para solucionar nuestros
problemas.

¿Cómo se programa en Visual Basic?


La creación de un programa Visual Basic siempre tiene el mismo enfoque.
Recuerda que antes de crear cualquier programa, debes comprender el
problema que se quiere resolver y tener claro el algoritmo de solución. Los
pasos para hacer un programa en Visual Basic son:

1. Comprender el problema
2. Diseñar la solución en papel
3. Crear el entorno gráfico
4. Establecer las propiedades de los controles
5. Programar cómo responderán estos controles a los eventos (escribir
código)

Visual Basic trabaja a través de proyectos. Un proyecto de Visual Basic


almacena toda la información para la creación de tu programa. La extensión
del archivo de cada proyecto en Visual Basic es *.vbp (Visual Basic project),
que contiene la definición de todo el proyecto. De la misma manera que se
genera este archivo, también se genera un archivo por cada formulario que
insertes en tu proyecto, con la extensión *.frm (form). Es recomendable
crear una carpeta donde guardes todos los archivos generados; esto evitará
confusiones con otros archivos creados en diferentes proyectos.

Al abrir por primera vez la aplicación, te aparecerá una ventana que te


permite crear nuevos proyectos, abrir proyectos existentes, o bien, trabajar
con alguno de los archivos recientes. Las imágenes siguientes muestran
cada una de estas opciones:

90 Programación - Fundamentos y prácticas de Programación


Durante este curso crearemos únicamente archivos ejecutables estándar
(Standard EXE).

Progr

01 Nuevo Proyecto

El entorno de Visual Basic


Formulario
Un formulario es una ventana que se muestra durante la ejecución de
un programa. Un formulario puede contener menús, botones, cuadros de
lista o cualquier objeto común para las aplicaciones desarrolladas para
ambiente Windows. A estos objetos se les llama controles.

Al iniciar un nuevo proyecto aparecerá por default un formulario en


blanco “Form1”, donde podrás insertar los controles que utilizarás para tu
programa. Este formulario cuenta con una rejilla delimitada por puntos,
que sirve para alinear los objetos dentro de tu formulario.

Cuadro de herramientas
El cuadro de herramientas contiene controles o elementos que podrás
añadir para crear la interfaz del usuario (formulario). Después de agregarlos
podrás programar estos elementos para que realicen tareas especiales. No

91
todos los controles aparecen activados en el Cuadro de herramientas, sólo
los más comunes. Si requieres usar algún control que no esté visible, lo
puedes activar a través del Menú Project/Components…

Para insertar un control simplemente da doble clic sobre él y se convertirá


en un objeto dentro del formulario activo. Estos objetos estarán visibles
para el usuario al momento de ejecutar el programa y a través de ellos los
usuarios podrán ejecutar las instrucciones que has programado en estos
objetos.

Label Text Box


Command Button
Check Box Option Button

Ventana de propiedades
La ventana de propiedades te permite cambiar las características o la
configuración de los objetos insertados en tu proyecto. Cada uno de los
elementos cuenta con un conjunto de propiedades. Podrás definir las
propiedades durante el diseño utilizando la ventana de propiedades. También
puedes modificar las propiedades durante la ejecución de un programa,
mediante código.

Por ejemplo, a una etiqueta de texto podrás cambiarle el tipo de letra, tamaño,
color, etcétera. Es posible modificar estas propiedades desde esta ventana de
propiedades, o bien, puedes programar un control que aplique este formato a
la etiqueta durante la ejecución del programa. Cada objeto tiene sus propias
propiedades que pueden ser configuradas.

Para activar la ventana de propiedades

Selecciona el Menú View/Properties Window o la tecla de función <F4>.


La ventana de propiedades se encuentra dividida en tres partes:

1 En la parte superior se indica con negrita el nombre del objeto que tenemos
seleccionado y al cual se cambiará alguna propiedad.
2 En la parte del centro se indican las propiedades que se pueden modificar
al objeto seleccionado. Éstas se pueden visualizar en orden alfabético
(Alphabetic) o por categorías (Categorized). Del lado izquierdo aparece
el nombre de cada propiedad y a su derecha el valor asignado a dicha
propiedad.

92 Programación - Fundamentos y prácticas de Programación


3 En la parte inferior aparece una pequeña descripción de la propiedad
seleccionada.

Un ejemplo es la propiedad que indica a Windows cómo debe mostrar el


formulario. Esta propiedad se llama WindowState y se le pueden asignar tres
valores:

0- Normal. El formulario se muestra con su ancho y alto definidos.


1- Minimized. En este estado se minimiza el formulario.
2- Maximized. En este estado se maximiza el formulario.

La ventana de proyectos
La ventana de proyectos lista todos los archivos utilizados para un programa y
permite acceder a su contenido utilizando los botones especiales: Ver Código
<F7> y Ver Objeto <Shift + F7> para cualquier elemento seleccionado.

93
Podrás añadir o eliminar archivos desde esta ventana. El archivo que almacena
toda la información relativa a todos los demás elementos y archivos del
programa, se le llama archivo de proyecto de Visual Basic (con extensión .vbp).
En las versiones 5 y 6 de Visual Basic es posible cargar varios archivos de
proyecto y cambiar de uno a otro sin ningún problema.

Añadir controles al formulario


Los controles más usados son las etiquetas Label, las cajas de texto TextBox,
los botones CommandButton, las listas de texto ListBox, las listas
desplegables o colgantes ComboBox, las casillas de verificación CheckBox,
los botones de opción Option o RadioButton y por último los controles que
suelen hacer de contenedores de otros controles, como los marcos Frame y
los cuadros de imágenes PictureBox.

Formulario
En el formulario se pintan los controles que formarán el
entorno del programa que se está creando.

Label
Option Button
Se usa para incluir textos
Permitirán al usuario elegir
simples o mensajes.
sólo una de las opciones
disponibles. Incluye el
Text
texto descriptivo.
Se usa para admitir entrada
de texto del usuario.
Check Box
Command Button. Permitirán al usuario ele-
Los botones responden a gir una o varias opciones.
eventos como Clic, doble Incluyen el texto descrip-
clic y otros que permiten tivo.
ejecutar acciones.

La manera más sencilla de insertar un control es dando doble clic sobre su


icono en el cuadro de herramientas. El control se insertará en el centro del
formulario con un tamaño predeterminado.

Otra forma sería seleccionar el control y arrastrar sobre el formulario para


dibujarlo en la posición y el tamaño que deseamos que aparezca.

Progr

El entorno de Visual Basic


02
94 Programación - Fundamentos y prácticas de Programación
Identificando el entorno de trabajo

27
Actividad Observa el MID 02 Entorno de Visual Basic e identifica cada una de las
partes del entorno de este formulario. Escribe sobre la línea el nombre de
cada zona.

3. Ventana de proyectos
1. Cuadro de herramientas
4. Panel de propiedades
2. Área de trabajo (formulario)

Preparando el formulario para la programación


Convenciones para nombrar los objetos
Observa que el diseñador de formularios de Visual Basic asigna un nombre
a cada control insertado siguiendo una nomenclatura, por ejemplo,
al insertar una etiqueta le asigna el nombre de “Label1”; si insertamos
otra etiqueta le asignará “Label2” y así sucesivamente. Este nombre es
importante ya que identifica al objeto.

Cuando en un formulario hay muchos controles se hace difícil recordar el


nombre de cada uno de ellos. Afortunadamente todos los objetos tienen
la propiedad Name. Cambiando el valor de la propiedad Name puedes
cambiar el nombre de los objetos.

95
Aunque hay pocas restricciones en cuanto al nombre que le puedes dar a
los objetos, es muy conveniente apegarse a algunas reglas y convenciones
aceptadas mundialmente en programación, mismas que usaremos en este
curso. Estudia la siguiente tabla de convenciones para nombrar los
objetos:

Control El nombre empezará con:


Label lbl
TextBox txt
Command Button cmd
Option Button opt
Check Box chk
Form frm
Combo Box combo
List Box list

Identificando objetos por su nombre

28
Actividad
Suponiendo que un programador sigue las normas para nombrar los controles,
identifica a qué objeto se refiere cada uno de los siguientes nombres.

frmBienvenida form
lblInstrucciones label
chkCanto check box
optMasculino option button
txtNombre text box
cmdAceptar button
lblTitulo label
cmdSalir button
optFemenino option button
chkDeportes check box
txtApellido text box

Cambiar el tamaño y posición de los controles


Podrás cambiar el tamaño de los controles insertados en el formulario. Al ser
seleccionado el control aparecen a su alrededor unos cuadros que te permiten
cambiar de manera manual el ancho y alto del control dando clic sostenido
sobre ellos y arrastrando el ratón.

96 Programación - Fundamentos y prácticas de Programación


Otra manera de cambiar el tamaño es desde la ventana de propiedades: la
propiedad Height te permite cambiar el alto del control y la propiedad Width
te permite cambiar el ancho. Estas opciones te permiten definir un tamaño
preciso, por ejemplo cuando deseas que varios objetos tengan exactamente
las mismas dimensiones.

En la opción Format/Make Same Size encontrarás las herramientas


necesarias para que varios objetos sean del mismo tamaño y de la misma
altura del último objeto seleccionado.

Para cambiar la posición del control en el formulario sólo tendrás que


arrastrarlo.

También en las propiedades del objeto está la propiedad Left que te permite
establecer a qué distancia del margen izquierdo se posicionará el objeto y la
propiedad Top establece a qué distancia del margen superior de tu formulario
se ubicará el control. Si visualizas la ventana de propiedades por categorías,
encontrarás estas opciones en la clasificación Position.

Cuando trabajas con muchos objetos y deseas que éstos ya no se muevan de


su lugar, debes usar la opción Format/Lock Controls. Para desbloquear
el objeto, ejecuta nuevamente la misma acción.

97
Progr

Cambiar el tamaño y posición de los controles


03
Creando una interfaz gráfica

Actividad

29
1. Inicia en Visual Basic un nuevo proyecto EXE estándar. En esta actividad
vas a crear la interfaz de un programa que suma dos números. Observa
la figura.

Importante: Al crear varios controles del mismo tipo, NO uses copiar


y pegar, porque se crearía una matriz de controles en vez de controles
independientes. Crea por separado cada control.

2. En un formulario vacío agrega el primer control Label.

3. Teniendo este control seleccionado en el formulario, busca la propiedad
Caption en la ventana de Propiedades. Modifica el valor de la
propiedad Caption a Número 1.
4. Agrega el segundo control Label y cambia su propiedad CAPTION.
5. Crea también un tercer control Label que mostrará el resultado de la
suma.
6. Dibuja en el formulario la primera caja de texto (TextBox).
7. Seleccionando la caja de texto que acabas de agregar, busca en la
ventana de Propiedades la propiedad Text y asígnale un valor
Vacío. La propiedad Text determina el texto contenido en la Caja de
Texto: queremos borrar lo que haya en esa propiedad para eliminar el
texto del control.

98 Programación - Fundamentos y prácticas de Programación


8. Agrega la segunda caja de texto y cambia su propiedad Text a vacío
(borra su contenido).
9. Dibuja ahora un Command Button y asígnale la palabra Sumar por
medio de la propiedad Caption. Si deseas que alguna letra de la
palabra Sumar quede subrayada y funcione como Hot Letter, utiliza
el símbolo & antes de esa letra. En nuestro ejemplo, la propiedad
Caption del botón tiene el valor: &Sumar.
10. Por último selecciona el formulario haciendo clic sobre él sin tocar
ninguno de los controles. Cambia la propiedad Caption del formulario
para poner un título a la ventana “Programa de Sumas”.
11. Cambia la propiedad Back color del formulario. Haz que sea de un
color llamativo.
12. Cambia la propiedad Back color de las dos etiquetas para que su
color coincida con el del formulario.
Utiliza la misma propiedad de la etiqueta para el resultado para que
resalte de los demás controles.
13. Guarda primero el formulario terminado mediante el comando Menú
File/Save Form1, en la carpeta que el profesor te indique, con el
nombre sumas.frm.
14. Ahora guarda el proyecto que contiene al formulario en la misma
carpeta con el comando Menú File/Save Project. Dale el nombre
sumas.vbp.
15. Recuerda la ubicación de estos archivos, pues los usaremos en la
siguiente actividad.

La notación Punto
Recuerda que en Visual Basic los objetos tienen Propiedades, tienen
Métodos y responden a Eventos. En el código de Visual Basic se utiliza la
notación punto siempre que se desea hacer referencia a las propiedades y
a los métodos de un objeto. La notación Punto tiene la siguiente sintaxis:

objeto.Propiedad
objeto.Método

donde objeto es el nombre del objeto en cuestión y Propiedad o Método
es la propiedad o método al que queremos hacer referencia.

Usando la notación punto podrías pedir a una persona que camine con una
instrucción como:
Juan.camina
En este ejemplo Juan es el nombre de la persona y camina es un método
(algo que sabe hacer).

Podrías hacer que el color de un gráfico fuera rojo con una instrucción
como:
Pelota.color = rojo

99
En este caso Pelota es el nombre del gráfico y color es una propiedad, a la
que se le asigna el valor rojo.

En Visual Basic, por ejemplo, para referirnos a la propiedad Caption de una


etiqueta llamada Label1, usaríamos la sintaxis: Label1.Caption. De forma
similar, para referirnos a la propiedad Text de una caja de texto llamada Text1,
usaremos la sintaxis: Text1.Text.

Veamos un ejemplo concreto: En un formulario hay una etiqueta llamada Label1.


La instrucción para que la etiqueta muestre el texto “Hola América” es:

Label1.Caption= “Hola América”

Código
Hemos visto que la notación punto se usa para referirnos a propiedades y
métodos de los objetos. ¿Qué pasa con los eventos? En Visual Basic el código
se escribe dentro de los eventos, pues las acciones ocurren cuando se dispara
algún evento en algún control. Algunos eventos que pueden ocurrir sobre un
control son: hacer clic sobre él, seleccionarlo o arrastrarlo.

Imagina la interfaz que creaste para sumar dos números: la suma debe
realizarse cuando el usuario presione el botón de Sumar, por lo tanto, es
necesario escribir instrucciones dentro del evento Clic del botón de Sumar.

Para entrar a la ventana de código se puede hacer doble clic sobre cualquier
control en el formulario, o presionar la tecla <F7>. Esta ventana tiene 2 menús
colgantes:

El primer menú presenta una lista de todos los objetos contenidos en


el formulario, incluyendo el formulario mismo.

El segundo menú muestra una lista de todos los eventos a los que
responde el objeto seleccionado en el primer menú.

100 Programación - Fundamentos y prácticas de Programación


Cuando seleccionas un objeto en el menú izquierdo y un evento en el menú
derecho, aparecen automáticamente dos líneas de código del tipo:
Private Sub OBJETO_EVENTO()

End Sub

donde OBJETO es el nombre del objeto para el que se escribirá el código y
EVENTO es el nombre del evento en que quieres que se ejecute ese código.
El código debe escribirse en medio de estas dos líneas.

Al escribir código, siempre toma en cuenta esta secuencia para facilitar tu


trabajo.

1. Antes de escribir código revisa los nombres de todos los objetos (propiedad
Name) y utiliza la convención para nombrar los objetos.
Da a cada control un nombre descriptivo apropiado.
2. Abre la ventana de código (con <F7>).
3. Selecciona de la lista de objetos el elemento que quieres programar.
4. Selecciona de la lista de eventos el evento requerido.
5. Escribe el código en el espacio apropiado, por ejemplo:

Nombre del objeto


Verifica que el proyecto a
programar sea el adecuado.

Private Sub cmdAceptar_Click()


Instrucciones
Escribe aqui el código
a ejecutar. Evento
El código se ejecutará cuando
End Sub este evento le ocurra al objeto
en cuestión.

Progr

04 Código

101
Haciendo que funcione el programa

Actividad

30
1. Abre el proyecto Sumas.vbp que creaste en la actividad anterior.
2. Ejecuta el programa con Menú Run/Start. Intenta realizar una suma.
¿Qué sucede? ¿Por qué?
Nada, no existe código a realizar al hacer clic sobre el botón.
3. Renombra (cambia la propiedad Name) los siguientes objetos como
se indica:
a. A la primera caja de texto nómbrala txtNum1
b. A la segunda caja de texto nómbrala txtNum2
c. Al botón nómbralo cmdSumar
d. A la etiqueta que contendrá el resultado de la suma nómbrala
lblResultado
4. Recuerda el objetivo del programa. Queremos que al presionar el botón
de comando cmdSumar el programa sume las cantidades que se
encuentren en las cajas txtNum1 y txtNum2. El resultado quedará
en la etiqueta lblResultado. El código es muy simple: usando la
notación punto, haremos:
lblResultado.Caption = val(txtNum1.Text) + val(txtNum2.Text)

En este caso utilizamos la función val() para convertir el texto en cada


una de las cajas de texto a un número. Sin ella, nuestro programa
simplemente juntaría las dos cadenas de texto en una sola.
La acción se debe ejecutar al presionar el botón, por lo tanto, debe
estar dentro del evento clic del botón.
5. Haz doble clic sobre el botón de comando cmdSumar para entrar a la
ventana de código. Revisa que las líneas que se muestran son:
Private Sub cmdSumar_Click ( )
End Sub
Si no ves estas líneas, selecciona las opciones adecuadas de los menús
de la ventana de código.
6. Teclea el código entre las líneas. El evento completo queda así:
Private Sub cmdSumar_Click ( )
lblResultado.Caption = val(txtNum1.Text) + val(txtNum2.Text)
End Sub

7. Ejecuta el programa con Menú Run/Start y prueba que funcione


correctamente.
8. Guarda el programa terminado.
9. Contesta las siguientes preguntas:
a. ¿Es posible sumar números negativos? Da un ejemplo.
Sí, -1 + (-2) = -3

102 Programación - Fundamentos y prácticas de Programación


b. ¿Qué sucede si en vez de números intentas sumar dos palabras?
Da un ejemplo.

Variables
Ya hemos visto lo que es una variable. Puedes pensar en las variables como
en ubicaciones temporales en la memoria para almacenar información dentro
de un programa. Una variable puede almacenar números, palabras, fechas o
propiedades. Una variable también puede almacenar información introducida
por el usuario o el resultado de algún cálculo.

Para guardar un dato en una variable, se debe escribir su nombre, utilizar el


signo de igual “=” e indicar el valor o la información que almacenará. Por
ejemplo, podemos usar una variable que almacene la edad de una persona
como:

Edad=24

Cuando queramos guardar en una variable una palabra, una frase o cualquier
tipo de información alfabética, tendremos que indicarlo poniendo dicha
información dentro de comillas dobles, por ejemplo:

Nombre= “Angelina”

Aunque para Visual Basic, el nombre de variable que elijas no significa nada,
es recomendable elegir nombres que sean representativos para ti y que te
faciliten identificar los valores que cada variable contiene.

Tipos de datos
Básicamente existen dos tipos de datos: los Numéricos (que sólo son números)
y los Alfanuméricos (que pueden almacenar cualquier caracter).

Las variables numéricas tiene cuatro tipos básicos: enteros, enteros largos,
simples y dobles. Cada uno de ellos tiene características especiales. Por su
lado, los textos también se pueden guardar en diferentes tipos de variables. El
espacio de memoria que ocupa cada tipo de variable es diferente.

103
Tipo Se usa para Espacio ocupado Representación
Valores numéricos sin
Integer (Entero) decimales, desde -32,768 2 bytes %
hasta 32,767.

Long integer Valores enteros desde


-2,147,483,648 hasta 4 bytes &
(Entero largo) 2,147,483,647.

Valores numéricos desde


Single Precision -3.4028 E+38 hasta 4 bytes !
3.4028E+38.

Valores numéricos desde


Double Precision -1.79769E+308 8 bytes #
hasta 1.79769E+308.

Currency Permite almacenar


números de tipo moneda, 8 bytes @
(Monetario)
con dos decimales
Puede contener de 0 a
32,000 caracteres
alfanuméricos. Como los
String valores se guardan 1 byte por $
(Cadena) como texto, no se pueden carácter
realizar operaciones
matemáticas con ellos
directamente.
Puede contener
Boolean únicamente los valores
(Booleano) 1 bit
TRUE o FALSE.

Contiene valores de 8 bytes


Date (Fecha) Fecha y Hora.
Pude almacenar cualquier
Variant tipo de dato, inclusive variable
objetos

Aunque en Visual Basic la declaración de variables no es obligatoria, es muy


recomendable que siempre declares todas las variables que vas a utilizar. Para
declarar una variable se usa la instrucción Dim, seguida del nombre que se
quiera dar a la variable, la palabra AS y el tipo de dato que va a guardar. Por
ejemplo:
Dim X As Integer
Dim letra As String
Dim edad As Single
Dim sueldo As Double
Dim casado As Boolean
También es posible hacer la declaración utilizando el símbolo que representa a
los principales tipos de variables, por ejemplo:
Dim X%
Dim letra$
Dim edad!
Dim sueldo#

104 Programación - Fundamentos y prácticas de Programación


Declarando variables

Actividad

31
Completa las siguientes declaraciones de variables. Escribe la parte faltante en
cada sentencia.

1. Dim Y as integer
2. Dim cadena as String
3. Dim precio as double
4. Dim simple !
5. Dim edad as Single
6. Dim calific as integer
7. Dim nombre as string
8. Dim sexo as Boolean
9. Dim nombre $
10. Dim cadena as string
Asignaciones
Ahora veremos cómo se manejan las expresiones y las asignaciones en las
variables. Para asignar una expresión a una variable, primero se calcula la
expresión y el resultado se asigna a la variable. Por ejemplo:
Dim A As Integer
Dim B As Integer
A = 10
B = A * 3
El valor de la variable B de este programa sería 30, que es lo que resulta de
multiplicar 10 por 3. Podríamos simplificar un poco el código y hacerlo de la
siguiente manera:
Dim A, B As Integer
A = 10
B = A * 3
O incluso usar una sola variable:
Dim A As Integer
A= 10
A= A * 3

Con las variables de tipo String ocurre lo mismo, sólo que la única operación
que se puede realizar con este tipo de variables es la suma o concatenación.
Observa los siguientes ejemplos:

Dim Num1, Num2 as String


Num1 = “5”
Num2 = “3”
Num1 = Num1 + Num2

El resultado del valor final de Num1 es 53, es decir la unión de las dos cadenas.
El mismo resultado se obtiene con el operador de concatenación &, por
ejemplo:

105
Dim Num1 As Integer
Dim Num2 As Integer
Num1 = 5
Num2 = “3”
Num1 = Num1 & Num2

El resultado final de Num1 será 53. El operador & es muy útil; incluso si
declaráramos las variables Num1 y Num2 como numéricas el resultado sería
“53” ya que uniría el contenido textual de las dos variables.

TIP
La declaración de variables es muy importante. Por eso es que te
recomendamos activar la opción Menú Tools/Options… /Require
Variable Declaration. Esto hace que la declaración de variables
sea obligatoria, agregando la instrucción Option Explicit a todas las
ventanas de código.
Otra ventaja de activar esta opción es que, si escribes mal una variable
que has declarado, Visual Basic mostrará una advertencia. Así evitarás
muchos errores simples.

Una variable puede tener estas coberturas:


- Privada o Local a nivel de procedimiento (Sub, Function, etcétera)
- Privada o Local a nivel de módulo (FRM, BAS, etcétera)
- Pública o Global a nivel de aplicación

Variables locales
Si declaras una variable dentro de un evento o procedimiento, la variable
únicamente será válida dentro de ese evento o procedimiento, es decir, no
podrás hacer referencia a esa variable fuera del evento donde fue declarada.
Esto se conoce como variable local.

Analiza este ejemplo: Programamos un botón que calcula la suma de dos


dígitos cuando el usuario de un clic sobre él. El resultado se almacenará en una
variable que llamaremos resultado. En este ejemplo, las variables sólo están
disponibles dentro de este procedimiento “Private Sub cmdSumar_Click()”.

Private Sub cmdSumar_Click ()


‘Declaración de variables locales
Dim numero1 As Integer
Dim numero2 As Integer
Dim resultado As Integer
‘Calcular la suma de las dos variables
resultado = numero1 + numero2
End Sub

Variables globales
Si declaras una variable en la sección de Declaraciones Generales de la ventana
de código, la variable será válida en todos los eventos o procedimientos del
programa. Esto se conoce como variable global.

106 Programación - Fundamentos y prácticas de Programación


Analiza este ejemplo: Programaremos un botón que calcule la suma de dos
dígitos cuando el usuario de un clic sobre él. El resultado se almacenará en
una variable que llamaremos resultado. En este ejemplo, las variables están
disponibles en cualquier lugar del programa.

Option Explicit
‘Declaración de variables globales
Dim numero1 As Integer
Dim numero2 As Integer
Dim resultado As Integer

Private Sub cmdSumar_Click ()


‘Calcular la suma de las dos variables
resultado = numero1 + nuemro2
End Sub

Declaración y asignación de variables

32
Actividad 1. Abre Visual Basic.
2. Crea un nuevo proyecto Standard EXE y guárdalo con el nombre
mensaje.vbp, en la carpeta que te indique el profesor.
3. Inserta un botón y una etiqueta. Alinéalos al centro seleccionándolos y
usando el Menú Format/Center in Form/Horizontally.

4. Nómbralos como cmdAccion y lblMensaje, respectivamente.


5. Asigna a cada objeto las siguientes propiedades:

Objeto Propiedad Valor


Form1 Caption Nombre
Start Up Position 2- CenterScreen
lblMensaje Caption Nombre
AutoSize True
Font Arial, 10, negrita
Alignment 2-Center
cmdAccion Caption Introducir nombre

107
6. Da doble clic sobre el botón y escribe el siguiente código (la primera y
última líneas deben estar ya en la ventana):
Private Sub cmdAccion_Click ()
Dim mensaje, nombre
mensaje = “Por favor, escribe tu nombre”
nombre = InputBox$(mensaje)
lblMensaje.Caption = nombre
End Sub
Tu formulario debe de quedar como en la imagen que se muestra en el
punto 3.
7. Ejecuta el programa y da clic en el botón.
8. Escribe tu nombre en el cuadro de diálogo que aparece.
9. Realiza una prueba de escritorio explicando cómo funciona el programa,
línea por línea. Continua a partir de donde se queda la explicación:
Primero se declaran las variables mensaje y nombre con la instrucción
Dim
A la variable mensaje se le asigna el texto “Por favor, escribe tu nombre”
Después
A la variable nombre se le asigna la cadena de texto que el usuario escriba
en una caja de texto.
A la propiedad caption de la etiqueta lblMensaje se le asigna el valor de
la variable nombre.

La función InputBox$() se usa para desplegar un campo donde el usuario


puede escribir un valor. El valor que introduzca el usuario se debe guardar
en alguna variable, que está a la izquierda del signo de igual. Entre el
paréntesis se escribe un mensaje o instrucción para el usuario. Además Nota
puedes poner un título al cuadro de diálogo. Por ejemplo:

edad = InputBox$(“Escribe tu edad”, ”Solicitud de edad”)

108 Programación - Fundamentos y prácticas de Programación


La importancia de las variables

Actividad

33
Define los siguientes términos. Expresa con claridad las ideas, de modo que
una persona no familiarizada con programación las pueda comprender.

1. ¿Qué es una Variable?


Una ubicación en memoria que contiene un valor y puede cambiarlo por las
instrucciones de un programa.
2. ¿Qué es una Variable numérica?
Una variable cuyo valor puede ser únicamente un número.

3. ¿Qué es una Variable Alfanumérica?


Una variable cuyo valor puede ser un número o una letra.

4. ¿Por qué es importante la declaración de Variables?


Para reservar espacio en memoria antes de la ejecución del programa.

5. ¿Qué es una Variable Local?


Una variable que sólo puede ser utilizada dentro del mismo objeto o función en que
fue definida.
6. ¿Qué es una Variable Global?
Una variable que puede ser utilizada en cualquier parte del programa.

Programas para Ciencias exactas

34
Actividad
1. Crea por separado los siguientes 3 programas. Los programas deben
funcionar correctamente y tener una interfaz agradable y bien presentada.
Comprende las ecuaciones necesarias para realizar las conversiones.
Debes utilizar variables para guardar los datos.
a. Un programa que reciba la longitud de un lado y dé como resultado el
área de un cuadrado, el perímetro de un cuadrado y el volúmen de un
cubo con ese lado.
b. Un programa que convierta centímetros a pulgadas y viceversa.
1 pulgada = 2.54 cm.
c. Un programa que reciba la magnitud y ángulo de un vector y dé como
resultado las componentes X y Y de ese vector. Consulta en la ayuda
del programa cómo se utilizan las funciones seno y coseno. Recuerda
que la componente X = Magnitud * coseno (ángulo) y la componente
Y = Magnitud * seno (ángulo).

109
Constantes
Una constante es un nombre significativo que contiene el valor de un número
o una cadena de texto que no cambia. Funciona de forma muy similar a una
variable con la diferencia de que su valor no cambia durante la ejecución del
programa. La manera de declarar una constante en Visual Basic es utilizando la
palabra clave Const, por ejemplo para asignar el valor 3.1416 a una constante
que se llame Pi, puedes escribir:

Const Pi=3.1416

Si deseas que esa constante esté disponible para todos los objetos y
procedimientos del programa, debes preceder la declaración con la palabra
Public, por ejemplo:

Public Const Pi=3.1416

Declaración de Constantes

35
Actividad
1. Crea un nuevo proyecto Standard EXE y guárdalo con el nombre
Constante.vbp, en la carpeta que te indique el profesor.
2. Inserta 6 etiquetas y colócalas como se ve en la imagen. Las etiquetas
tienen la fuente Arial, 12 puntos, negrita y AutoSize.

3. Renombra las 3 etiquetas de la derecha como: lblPi, lblRadio y lblArea.


4. En el evento Form_Load introduce el siguiente código:

110 Programación - Fundamentos y prácticas de Programación


Private Sub Form_Load()
Const Pi = 3.1416
Dim radio, area
radio = InputBox$(“Por favor introduce el valor del radio”, “Radio”)
area = Pi * (radio ^ 2)
lblPi.Caption = Pi
lblRadio.Caption = radio
lblArea.Caption = area
End Sub

Los objetos deben tener los siguientes valores en sus respectivas


propiedades:
5. Ejecuta el programa con <Ctrl+F5> y prueba que funcione
correctamente.
6. Contesta:
a. ¿Por qué las instrucciones se ejecutan de inmediato, sin presionar
ningún botón? Porque se ejecutan cuando el formulario se carga.

b. ¿Si después de obtener un resultado, quieres calcular el área de otro


círculo, qué tienes que hacer? Volver a ejecutar el programa.

c. ¿Qué cambios podrías hacer al programa para poder calcular el área de


varios círculos, uno después de otro? Que las instrucciones se ejecuten
al presionar un botón y así se podrán ejecutar las veces que sean
necesarias sin cerrar el programa.

7. Modifica el programa para que las instrucciones se ejecuten al presionar


un botón.
8. Guarda tu trabajo.

Windows es un sistema operativo controlado por eventos: cada vez que


movemos el ratón, pulsamos alguna tecla, tocamos alguna ventana o
Nota cualquiera de los controles que hay en ella, se produce un evento. Cuando
se ejecuta alguno de estos eventosse ejecuta el código insertado en dicho
evento. El evento load de un formulario ocurre cuando éste se carga por
primera vez durante la ejecución de un programa.

Operadores
Visual Basic te permite hacer uso de operadores matemáticos para crear
fórmulas con números, variables o constantes. A continuación se muestran los
operadores matemáticos:

111
+ Suma
- Resta
* Multiplicación
/ División
\ División entera
Mod Resto o residuo de la división entera (módulo)
^ Exponenciación (potencias)
& Concatenación de cadenas de texto

Cuando en una expresión se utiliza más de un operador, los cálculos se realizan


siguiendo un orden jerárquico. Antes de obtener un resultado, Visual Basic
evalúa la expresión para determinar en qué orden ejecutará las operaciones.
La siguiente tabla indica el orden de prioridad, de la más alta a la más baja.

( ) Los valores entre paréntesis se evalúan 1ro.


^ La exponenciación se evalúa en 2do. lugar
- La negación en 3er. lugar
*/ Multiplicación y División en 4to. lugar
\ La división entera en 5to. lugar
Mod El módulo ocupa el 6to. lugar
+- La suma y la resta se evalúan al final

Los operadores de igual prioridad se evalúan de izquierda a derecha, según


aparezcan en la expresión. Cuando utilizamos varios paréntesis en una
operación, se resuelven primero los paréntesis internos.

Progr

Prioridad en las operaciones


05

112 Programación - Fundamentos y prácticas de Programación


Calculadora simple

Actividad

36
Realiza la siguiente actividad:

1. En un nuevo proyecto Visual Basic crea la siguiente interfaz gráfica.


Observa que los botones de opción (OptionButton) están dentro de un
marco (frame). Debes crear primero el marco y luego los controles de
opción. Iguala el formato de las etiquetas. Los controles de opción tienen
su propia etiqueta.

2. Renombra los controles de texto como txtValor1 y txtValor2. La etiqueta


para el resultado debe llamarse lblResultado.
3. En la ventana de código, en la sección de Declaraciones Generales, define
las siguientes variables:
Dim n1, n2 As Integer
4. En el primer OptionButton, que corresponde a la suma, inserta en el
evento click el siguiente código:
n1 = txtValor1.Text
n2 = txtValor2.Text
lblResultado.Caption = n1 + n2
5. De forma similar, introduce el código que permitirá restar, multiplicar o
dividir los valores de las cajas de texto, en cada OptionButton.
6. Ejecuta el programa y prueba que funcione correctamente.
7. Guarda tu trabajo.

113
Expresiones Lógicas
La expresión lógica (conocida también como expresión booleana) es una de
las más útiles para procesar información en un procedimiento. Forma parte de
una sentencia de programa que realiza preguntas de tipo verdadero o falso
sobre una propiedad, una variable o algún otro tipo de datos en el código del
programa.

Una expresión lógica es cualquiera que pueda evaluarse como verdadera o


falsa. Por ejemplo:

Hoy es lunes
Edad < 18
A + B = 7

Todas estas expresiones se pueden evaluar como verdaderas o falsas, por lo


tanto son expresiones lógicas o booleanas.

La siguiente lista describe el significado de algunos operadores de comparación


usados en las expresiones booleanas:

Operadores de comparación
= Igual que
<> Distinto que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que

Reconociendo expresiones

Actividad

37
1. Para cada una de las siguientes expresiones escribe una “B” si se trata
de una expresión booleana y una “N” si no es una expresión lógica.

a. 57+4 N
b. 30+5=34 B
c. Juan es mayor que Liz B
d. La bandera nacional N
e. Tengo 13 años B
f. base*altura/2 N

114 Programación - Fundamentos y prácticas de Programación


TIP
La mayoría de las expresiones lógicas incluyen un operador de
comparación. La excepción son las variables que ya tienen un valor
verdadero o falso almacenado.

Operadores lógicos
Visual Basic te permite comparar más de una expresión lógica o evaluar más
de un criterio en una sola instrucción. Para enlazar expresiones se utilizan los
operadores lógicos. Éstos son los más usados:
AND. Sólo si todas las expresiones son verdaderas el resultado de la expresión
es verdadero. Si una sola de las expresiones es falsa, toda la expresión es
falsa. Por ejemplo:
Hoy es lunes AND Hoy hace frío. La expresión compuesta sólo es verdadera si
hoy es un lunes frío.
Edad > 18 AND Color = “rojo” AND Calificación > 6 AND Calificación < = 10
OR. Sólo si todas las expresiones son falsas el resultado de la expresión
es falso. Si una sola de las expresiones es verdadera, toda la expresión es
verdadera. Por ejemplo:
Hoy es lunes OR Hoy hace frío. La expresión compuesta sólo es falsa si hoy no
es un lunes frío.
Edad > 18 OR Color = “rojo” OR Calificación > 6
NOT. Si la expresión es falsa el resultado es verdadero. Si es verdadero será
falsa. Por ejemplo:
NOT(Edad > 18). Si la edad no es mayor que 18, la expresión es verdadera.

Uniendo expresiones

Actividad

38
1. Escribe todos los números enteros que cumplen con las siguientes
expresiones. Para facilitar el trabajo, imagina que sólo existen los
enteros del 1 al 20. Analiza el ejemplo resuelto.
(Entero <= 9 AND Entero >2 ) OR Entero =12
3, 4, 5, 6, 7, 8, 9, 12
a. Entero > 2 AND Entero <= 10

3, 4, 5, 6, 7, 8, 9, 10

115
b. Entero < =8 OR Entero >14
1, 2, 3, 4, 5, 6, 7, 8, 15, 16, 17, 18, 19, 20
c. NOT(Entero < =8 OR Entero >14)
9, 10, 11, 12, 13, 14
d. (Entero > 10 OR Entero <=3) AND Entero > 15
16, 17, 18,19, 20
e. Entero < 10 OR Entero > 4
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

Estructuras de Decisiones
La gran mayoría de los programas requerirán que ocurran diferentes acciones
dependiendo de las opciones o acciones del usuario. En otras palabras, un
conjunto de instrucciones se ejecutan o no dependiendo de la evaluación de
ciertas condiciones.

En programación se utilizan los condicionales para lograr estos flujos alternos.


Como ya hemos visto, las estructuras condicionales son comunes a todos los
lenguajes y entornos de programación. Lo único que cambia es quizás algún
detalle de la sintaxis.

Decisión IF… Then


Las estructuras de decisión If… Then te permiten evaluar una condición
(expresión lógica) en el programa y llevar a cabo una serie de acciones
basándose en el resultado de dicha evaluación. Su sintaxis es la siguiente:

If condición then sentencia

Ejemplo:

If edad >=18 then label1.caption = “Mayor de edad”

Si la variable edad es mayor o igual a 18, entonces Visual Basic asignará a la


propiedad caption del objeto label1 el valor “Mayor de edad”. Si el valor de la
variable edad no es mayor o igual que 18, Visual Basic ignorará la sentencia de
asignación y ejecutará la siguiente línea de código.

Si se requiere ejecutar más de una acción cuando la condición sea verdadera,


debes utilizar diferentes líneas e incluir el cierre del condicional, por ejemplo:

If edad >=18 then


label1.caption = “Mayor de edad”
label2.caption = “Bienvenido”
text1.enabled = true
End If

Visual Basic cuenta también con una cláusula que permite ejecutar acciones
alternativas cuando no se cumple la condición, por ejemplo:

116 Programación - Fundamentos y prácticas de Programación


If edad >= 18 then
label1.caption = “Mayor de edad”
Else
label1.caption = “Menor de edad”
End If

Las líneas de código después de la cláusula Else, solamente se ejecutan cuando


no se cumple con la primera condición (cuando es falsa).
Visual Basic nos permite anidar dos o más estructuras, es decir, es posible usar
un If dentro de otro. Observa este caso:

If hora < 12 then


label1.caption = “Buenos Días”
Else
If hora < 19 then
label1.caption = “Buenas Tardes”
Else
label1.caption = “Buenas Noches”
End If
End If

Comprendiendo condicionales

Actividad

39
1. Realiza en la siguiente tabla una prueba de escritorio del último ejemplo,
utilizando diferentes valores para la variable hora, como 5, 12, 16, 19 y 22.

Valor de hora label1.caption


5 Buenos días
12 Buenas tardes
16 Buenos tardes
19 Buenas noches
22 Buenas noches

2. Numera las líneas del programa del 1 al 9. ¿Cuáles son las líneas que se
ejecutan cuando la variable hora tiene el valor 7?
1, 2, 9
3. ¿Cuáles son las líneas que se ejecutan cuando la variable hora tiene el
valor 14?
1, 3, 4, 5, 8, 9
4. ¿Cuáles son las líneas que se ejecutan cuando la variable hora tiene el
valor 21?
1, 3, 4, 6, 7, 8, 9

117
La importancia de las decisiones

Actividad

40
Contesta correctamente las siguientes preguntas.

1. A la expresión lógica se le conoce también como:


Expresión booleana
2. Una expresión lógica no se puede evaluar como verdadera o falsa.
a. Verdadero
b. Falso

3. Escribe un ejemplo de Operador lógico, su descripción y aplicaciones.


AND: Devuelve un valor verdadero cuando todas las expresiones sean
verdaderas.
4. ¿Qué son las estructuras de decisión?
Conjunto de instrucciones que se llevan a cabo o no, basándose en el resultado
de una evaluación.

5. Escribe un ejemplo del código de una estructura de Decisión if…


If hora 16 then
>
Label.caption = “Hora de salir”
Else
Label.caption = “Trabajando”
End if

Estructura de Decisión 1

41
Actividad
En esta actividad debes crear un programa que evalúa una calificación y
asigna una etiqueta descriptiva que indica si el alumno obtuvo una calificación
reprobatoria, regular, bien, muy bien o excelente
1. Abre Visual Basic y crea un nuevo proyecto Standard EXE. Guárdalo con el
nombre decision1.vbp en la carpeta que te indique el profesor.
2. Inserta un cuadro de texto, una etiqueta y un botón, con las siguientes
propiedades:

118 Programación - Fundamentos y prácticas de Programación


Objeto Propiedad Valor
Form1 Caption Evaluar calificación
StarUpPosition 2- CenterScreen
Text1 Text En blanco
Label1 Caption En blanco
AutoSize True
CommandButton Caption Evaluar

3. Introduce el siguiente código dando doble clic sobre el botón


Private Sub Command1_Click()
Dim calificacion As Integer
calificacion = Text1.Text
If calificacion < 0 Or calificacion > 10 Then
Label1.Caption = “Calificación no valida”
Else
If calificacion <= 5 Then
Label1.Caption = “Insuficiente”
Else
If calificacion < 8 Then
Label1.Caption = “Regular”
Else
If calificacion < 9 Then
Label1.Caption = “Bien”
Else
If calificacion < 10 Then
Label1.Caption = “Muy Bien”
Else
If calificacion = 10 Then
Label1.Caption = “Excelente”
End If
End If
End If
End If
End If
End If
End Sub

4. Prueba el programa y revisa todos los posibles casos (incluso calificaciones


menores que cero o mayores que diez.

5. Cuando todo funcione guarda el trabajo.

119
TIP
Cuando uses estructuras complejas, utiliza el tabulador para que a
simple vista sea obvio qué instrucciones pertenecen a cada estructura.
En programación, a esta práctica se le llama “indentar”.

MsgBox
En Windows constantemente aparecen ventanas o cajas con mensajes. Las
cajas de mensajes pueden incluir uno o más botones. MsgBox es la instrucción
de Visual Basic para desplegar estas cajas. Hay dos formas de usar el MsgBox.
La más sencilla es por medio de la instrucción:

MsgBox (“mensaje”)

Visual Basic utiliza variables internas predefinidas para mostrar distintos tipos
de MsgBox, con diferentes tipos de botones. Por ejemplo, si en la definición
del MsgBox agregas la variable predefinida vbOKCancel, aparecen en la caja
dos botones, con las opciones de Aceptar y Cancelar, respectivamente.

Si deseas saber cuál de los botones de un MsgBox presiona un usuario, es


necesario definir una variable de tipo Integer. Por ejemplo:

Dim X As Integer
X = MsgBox (“¿Estás seguro?”, vbOKCancel)

En el ejemplo anterior, si el usuario presiona el botón Aceptar, la variable X


toma el valor de 1. Si el usuario presiona el botón Cancelar, la variable X toma
el valor de 2.

A continuación se muestran algunos ejemplos de variables internas predefinidas


para el MsgBox. La variable que debes usar se muestra en cada figura
(vbInformation, vbExclamation, vbCritical, vbAbortRetryIgnore).

120 Programación - Fundamentos y prácticas de Programación


Estructura de Decisión 2

Actividad

42
El programa de esta actividad es un juego que llamaremos “Las Vegas”.
Consiste en oprimir un botón para que aparezcan tres números aleatorios.
Cuando estos tres números sean iguales, ganas.
1. Abre Visual Basic y crea un nuevo proyecto con el nombre Decision2.vbp.
2. Crea la interfaz gráfica con tres etiquetas arriba, una imagen al centro
y un botón abajo.
3. Dale a los controles las siguientes propiedades:

Objeto Propiedad Valor


Form1 Caption Las Vegas
BackColor &H80000009&
StartUpPosition 2- CenterScreen
Height 8490
Width 6795
Label1 Caption En blanco
Font Arial, 48, negrita
Alignment 2- Center
BackColor &H80000009&
Height 1155
Left 360
Top 360
Width 1875
Label2 Caption En blanco
Font Arial, 48, negrita

121
Alignment 2- Center
BackColor &H80000009&
Height 1155
Left 2400
Top 360
Width 1875
Label3 Caption En blanco
Font Arial, 48, negrita
Alignment 2- Center
BackColor &H80000009&
Height 1155
Left 4440
Top 360
Width 1875
Picture1 Picture ganador.jpg
Visible False
Command1 Caption Play
Nota: La imagen ganador.jpg se encuentra en tu CD de trabajo o carpeta
de actividades, pero puedes usar cualquier otra imagen apropiada.

4. Da doble clic sobre el botón y escribe el siguiente código:


Private Sub Command1_Click()
Picture1.Visible = False
Label1.Caption = Int(Rnd * 10)
Label2.Caption = Int(Rnd * 10)
Label3.Caption = Int(Rnd * 10)

If Label1.Caption = Label2.Caption AND Label2.Caption = Label3.Caption Then


Picture1.Visible = True
MsgBox (“ ¡¡¡Felicidades, has ganado!!!”)
End If

End Sub

122 Programación - Fundamentos y prácticas de Programación


5. Prueba el programa. Quizá sea necesario presionar muchas veces el botón
antes de obtener una combinación ganadora.
6. Modifica el programa incluyendo una etiqueta en la esquina inferior derecha,
que vaya llevando la cuenta del número de intentos realizados. Para eso
necesitarás definir una variable que sirva de contador y aumentar su valor
cada vez que se presione el botón, por ejemplo: intentos = intentos + 1.
Después debes mostrar el valor de esa variable en la nueva etiqueta.
7. Cuando todo funcione guarda el trabajo.
8. Utiliza la ayuda del programa para investigar cómo se utiliza la función Rnd.
Escribe un resumen de su uso y algunos ejemplos con sus descripciones:
Devuelve un número aleatorio de tipo Single menor que uno pero mayor o igual
a cero.
Para cualquier valor de inicialización dado, se genera la misma secuencia de
números ya que cada llamada sucesiva que se hace a la función Rnd utiliza el
número anteriormente generado como inicialización para el siguiente número de
la secuencia.

Estructura de decisión SELECT CASE


Con la sentencia If, un programa puede tomar dos caminos: uno si se cumple
la condición y otro si no se cumple. La sentencia Select Case es una forma
de tomar decisiones que se utiliza cuando se pueden tomar múltiples caminos,
dependiendo del valor de una variable de prueba. Tiene la siguiente sintaxis:

Select Case variable


Case valor1
Ejecutar esta acción cuando la variable sea igual al valor1
Case valor2
Ejecutar esta acción cuando la variable sea igual al valor2
Case valor3
Ejecutar esta acción cuando la variable sea igual al valor3
etc…
End Select

Analiza este ejemplo simple:


Select case hora
Case hora < 12
label1.caption = “Buenos Días”
Case hora 12 to 18
label1.caption = “Buenas Tardes”
Case hora >19
label1.caption = “Buenas Noches”
End Select

123
Estructura de Decisión 3

43
Actividad
El siguiente programa muestra la imagen y biografía breve de un personaje
seleccionado en una lista.

1. Abre Visual Basic y crea un nuevo proyecto llamado decision3.vbp, en la


carpeta que indique tu profesor.
2. Inserta dos etiquetas, un ListBox y una imagen como se ve en la figura de
la siguiente página
3. Cambia los nombres de los controles a lblName, lblBio, Image1 y List1,
respectivamente.
4. Asigna los siguientes valores en sus respectivas propiedades:

Objeto Propiedad Valor


Form1 Caption Personajes
StarUpPosition 2- CenterScreen
Image1 Propiedades Por default
Height 5715
Left 360
Top 180
Width 3435
Selecciona un personaje
Label1 Caption
de la lista
Font Arial, 10
Alignment 0- Left Justify
Height 5715
Left 3960
Top 780
Width 3780
Label2 Height 330
Left 3960
Top 300
Width 75
AutoSize True
List1 Height 1035
Left 2820
Top 6540
Width 2295

124 Programación - Fundamentos y prácticas de Programación


label2

label1
Image

list1

5. En tu CD de trabajo o carpeta de actividades encontrarás las imágenes


de varios personajes famosos. Cópialas a la misma carpeta donde
están los archivos de tu proyecto vbp.
6. Escribe el siguiente código dentro del evento Form_Load
Private Sub Form_Load()
List1.AddItem “Beethoven”
List1.AddItem “Che Guevara”
List1.AddItem “Adolfo Hitler”
List1.AddItem “Mahatma Gandhi”
List1.AddItem “Pelé”
End Sub

7. Da doble clic sobre el objeto List1 y escribe el siguiente código:


Private Sub List1_Click()
Select Case List1.ListIndex
Case 0
Image1.Picture = LoadPicture(“beethoven.jpg”)
lblName.Caption = “Beethoven”
lblBio.Caption = “Ludwig Van Beethoven (Bonn, 16 de
diciembre de 1770 - Viena, 26 de marzo de 1827).
Compositor alemán de música académica, vivió en la
transición del Clasicismo al Romanticismo. Uno de los
más grandes y admirados de todos los tiempos. Se
le considera como el principal precursor romántico.
Entre sus obras destacan la Quinta Sinfonía; la
Heróica, también llamada Tercera Sinfonía, en mi bemol
mayor, con la que rompe todas las pautas de la música
clásica; y la Novena Sinfonía, cuya música del cuarto
movimiento ha sido establecida como Himno de la Unión
Europea (UE).”
Case 1
Image1.Picture = LoadPicture(“che guevara.jpg”)
lblName.Caption = “Che Guevara”
lblBio.Caption = “Ernesto Guevara de la Serna (1928
- 1967). Conocido como Che Guevara, médico, político
y guerrillero revolucionario. Nació el 14 de junio de
1928 en Rosario (Argentina) y murió asesinado por el
gobierno del presidente Barrientos tras ser capturado
por el ejército boliviano con la colaboración de la
CIA en La Higuera (Bolivia) el 9 de octubre de 1967.
Revolucionario argentino-cubano, médico de profesión.
Se dirigió a Cuba a luchar contra lo que él consideraba

125
la tiranía batistiana. Tras su desaparición física su
figura ha recorrido el mundo entero convirtiéndose en
un icono representado por la famosa foto de Alberto
Korda. Aún después de muerto es reconocido como uno de
los principales líderes mundiales, capaz de influenciar
en millones de seres humanos.”
Case 2
Image1.Picture = LoadPicture(“hitler_adolf.jpg”)
lblName.Caption = “Adolfo Hitler”
lblBio.Caption = “Adolf Hitler (Braunau am Inn,
Austria, 20 de abril de 1889 - Berlín, 30 de abril de
1945). Político y dictador alemán de origen austríaco,
que estableció un régimen nacionalsocialista en el
que recibió el título de Reichskanzler y Führer. Como
jefe del Partido Nacional Socialista Alemán de los
Trabajadores, dirigió el gobierno del país de 1933 a
1945, período en el que ocupó sucesivamente los cargos
de canciller, jefe de Gobierno y jefe de Estado. Fue
el autor intelectual de uno de los genocidios más
grandes de la historia al enviar a seis millones de
personas a la muerte. El sistema industrial-militar
que instauró llevó a Alemania a salir de la crisis
económica posterior a la Primera Guerra Mundial y, en
su apogeo, a controlar gran parte de Europa.”
Case 3
Image1.Picture = LoadPicture(“Mahatma gandhi.jpg”)
lblName.Caption = “Mahatma Gandhi”
lblBio.Caption = “Mohandas Karamchand Gandhi (2 de
octubre de 1869 - 30 de enero de 1948) fue un político
y pensador indio. Estudió Derecho en las universidades
de Ahmedabad y Londres y ejerció como abogado en Bombay.
Se interesó por la situación de los 150000 compatriotas
que residían en Sudáfrica, luchando contra las leyes
que discriminaban a los indios en Sudáfrica mediante
la resistencia pasiva y la desobediencia civil. Una
vez en su país, desde 1918 figuró abiertamente al
frente del movimiento nacionalista indio. Instauró
nuevos métodos de lucha y en sus programas rechazaba
la lucha armada y predicaba la no violencia como
medio para resistir al dominio británico. Preconizaba
la total fidelidad a los dictados de la conciencia,
llegando incluso a la desobediencia civil si fuese
necesario.”
Case 4
Image1.Picture = LoadPicture(“Pele.jpg”)
lblName.Caption = “Pelé”
lblBio.Caption = “Edson Arantes do Nascimento (Três
Corações, Brasil, 23 de octubre de 1940), futbolista
brasileño, más conocido como Pelé, es ex-jugador de
fútbol. Apodado también «Rey», es considerado como uno
de los mejores jugadores de la historia de este deporte,
alcanzando el galardón al Jugador del Siglo de la FIFA.
Desarrolló lo mejor de su carrera en el Santos, club
donde debutó el 7 de septiembre de 1956, sin haber
cumplido los 16 años y anotando un gol. En ese equipo
permaneció prácticamente toda su carrera, ganando dos
Copas Libertadores, dos Copas Intercontinentales, una
Recopa Sudamericana, una Recopa Intercontinental, 15
títulos de Liga y 5 Copas Brasil, hasta 1975, cuando
ya en el declive de su carrera decidió probar suerte
en la North American Soccer League estadounidense.
Allí se destacó como el mejor jugador del torneo y
ganó un título de Liga (1977).”
End Select
End Sub

126 Programación - Fundamentos y prácticas de Programación


Precaución: Los párrafos de las reseñas de los personajes deben estar
entre comillas y en la misma línea. En caso de tener las imágenes en
otra carpeta debes incluir la ruta completa en tu disco duro para que el
programa las localice.

8. Prueba y detalla el funcionamiento y apariencia del programa.


9. Investiga, usando la ayuda del programa u otras fuentes, las siguientes
preguntas:

a. ¿Para qué sirve el control ListBox?


Representa un control de Windows para mostrar una lista de elementos.

b. ¿Cómo se usa el método AddItem de un ListBox?


Permite agregar elementos a un ListBox o ComboBox y puedes especificar
el índice del elemento.
c. ¿Qué significa la propiedad index de un ListBox?
Un índice por medio del cual podemos hacer referencia a un elemento del
ListBox.

Creación de un archivo ejecutable


Los programas ejecutables para Windows tienen la extensión .exe y se
pueden ejecutar en cualquier PC. Al crear un archivo ejecutable de tu
proyecto de Visual Basic, será posible distribuirlo y ejecutarlo en equipos
que no tengan Visual Basic instalado. El ejecutable incluye de forma
automática los archivos de soporte, librerías y controles personalizados
que serán necesarios para su ejecución.

Sigue los siguientes pasos para hacer tus programas ejecutables:

127
1. Selecciona Menú File/Make *.exe… Se sustituye el asterisco con el
nombre de tu programa.
2. En el cuadro de diálogo indica el lugar donde se creará el archivo ejecutable,
así como el nombre que tendrá tu programa.

Podrás detallar más propiedades si das clic en el botón Options… antes de


guardarlo.

Algunas opciones interesantes son:

Propiedad Descripción
Te permite asignar un número de versión a tu
Version Number programa. Es muy útil para llevar un control cuando
haces algunos cambios o actualizaciones.
Title Establece el título de tu programa. Aparecerá en la
barra de título de la aplicación creada.
Permite incluir algún comentario sobre tu programa
Version Information
o bien los datos del desarrollador.
Esta sección te permite optimizar el programa para
Compile
que ocupe menos espacio.

128 Programación - Fundamentos y prácticas de Programación


Progr

06 Creación de un archivo ejecutable

Cotizaciones de autos

44
Actividad
En esta actividad pondrás en práctica las habilidades adquiridas en el manejo
de Visual Basic, desde la creación de formularios, hasta la programación de
estructuras de condición. Piensa muy bien en qué controles y en qué eventos
debes escribir cada parte del código. Utiliza variables.

1. Lee y comprende el objetivo del programa:


Este programa controla las cotizaciones en una agencia de autos.
Permite al vendedor hacer elecciones de varias listas de posibles
opciones. Al final el programa calcula el precio.
2. Utiliza un List Box, que presentará los 4 posibles modelos de auto:
compacto, familiar, de lujo o deportivo. Nómbralo como listModelo.
3. Utiliza dos OptionButton para que se pueda seleccionar si el auto será
estándar o automático. Nómbralos como optEstandar y OptAutomatico,
respectivamente.
4. Utiliza 5 CheckBox para que el usuario pueda elegir los complementos:
aire acondicionado, accesorios eléctricos, sistema de sonido, vestiduras
de piel, quemacocos. Renombra los controles como chkAire, chkElec,
chkSonido, chkPiel y chkCocos.
5. Se considera la siguiente lista de precios en dólares:
Auto compacto estándar: $7,000.00
Auto compacto automático: $9,000.00
Auto familiar estándar: $9,600.00
Auto familiar automático: $11,100.00
Auto de lujo estándar: $16,800.00
Auto de lujo automático: $19,500.00
Auto deportivo estándar: $22,800.00
Auto deportivo automático: $25,000.00
6. Los precios de cada complemento son:
aire acondicionado: $ 900.00
accesorios eléctricos: $1,400.00

129
sistema de sonido: $1,700.00
vestiduras de piel: $1,200.00
quemacocos: $1,500.00
7. El precio final del auto se calculará al presionar un botón de CALCULAR
(cmdCalcular) y aparece en una etiqueta (lblPrecio).
8. Escribe el código necesario. Cuando se ejecute el programa, el usuario
podrá elegir el modelo del auto, si es estándar o automático y escoger
de 0 a 5 de los accesorios opcionales. Dependiendo de las elecciones se
obtendrá el precio final.
9. Detalla y depura el proyecto. Pruébalo con diferentes valores y opciones.
Asegúrate que los cálculos son correctos en todos los casos.
10. Guarda el trabajo terminado con el nombre autos.vbp en la carpeta que
indique tu profesor.
11. Crea un ejecutable del programa y pruébalo fuera de Visual Basic.

Fórmula General

Actividad

45
2
Una ecuación cuadrática del tipo Ax + Bx + C = 0 se puede resolver con la
fórmula general.

Se obtendrán dos raíces (x1 y x2) determinadas por:

x1 = (-B + sqr (B ^ 2 - 4 * A * C)) / (2 * A)


x2 = (-B - sqr (B ^ 2 - 4 * A * C)) / (2 * A)

En estas ecuaciones, sqr es la función de Visual Basic para obtener la raíz


cuadrada.

1. Crea la interfaz del programa según se muestra. Cambia los nombres de


los controles como sigue:
txtA, txtB, txtC, txtX1, txtX2, cmdCalcular, cmdLimpiar,
cmdSalir.

130 Programación - Fundamentos y prácticas de Programación


2. En la ventana de código declara las variables A, B, C, X1 y X2 dentro del
evento Click del botón de Calcular. Como estas variables pueden contener
números decimales, usa el tipo Single.
Private Sub cmdCalcular_Click()
Dim A, B, C, X1, X2 as Single
3. Asigna a las variables A, B y C los valores de las cajas de texto
correspondientes.
A = Val (txtA.text)
B = Val (txtB.text)
C = Val (txtB.text)
La función Val obtiene el valor numérico de una cadena de caracteres.
4. El botón Calcular realizará los cálculos necesarios con las variables para
obtener los resultados de X1 y X2.
X1 = (-B + sqr (B ^ 2 - 4 * A * C)) / (2 * A)
X2 = (-B - sqr (B ^ 2 - 4 * A * C)) / (2 * A)
5. Las cajas de texto para los resultados desplegarán los valores finales de
X1 y X2
txtX1.text = X1
txtX2.text = X2
6. El botón Limpiar borra los contenidos de todas las cajas de texto.
Private Sub cmdLimpiar_Click()
txtA.text = “”
txtB.text = “”
...etc.
7. El botón Salir termina el programa (puedes usar el comando End).
Private Sub cmdSalir_Click()
End
End Sub
8. Si el valor de A es cero, ocurrirá un error. Cuando el usuario presione el
botón de Calcular, debes revisar si A es diferente de cero, antes de realizar
los cálculos. Si A tiene el valor de cero, no se deben realizar los cálculos y
se deben borrar automáticamente todos los datos de las cajas de texto.
9. Cuando termines el programa pruébalo con las siguientes ecuaciones.
Anota en cada caso las raíces (X1 y X2) obtenidas. Al final guarda el
proyecto con el nombre cuadratic.vbp.
a) x2 + 2x -3 = 0 X1 = X2 =
b) 4x2 + 12x + 6 = 0 X1 = X2 =
c) 2x2 + x = 0 X1 = X2 =
d) x2 + 2x - 6 = 0 X1 = X2 =
e) 3x2 + 11x + 6 = 0 X1 = X2 =

131
Repaso

Actividad

46
Contesta correctamente las siguientes preguntas.

1. Es la instrucción de Visual Basic que sirve para desplegar ventanas o cajas


con mensajes.
a. WinBox
b. MsgBox
c. TheBox
2. Es una forma de tomar decisiones que se utiliza cuando se pueden tomar
múltiples caminos, dependiendo del valor de una variable de prueba.
a. Select Case
b. Decisión if…
c. Else
3. Los programas ejecutables para Windows tienen la extensión:
a. .win
b. .eje
c. .exe

Estructura de bucle FOR … NEXT


Un bucle For… Next permite ejecutar cierto número de veces una acción. En
otras palabras es una forma abreviada de escribir una larga lista de sentencias
de programa, por ejemplo si se desea multiplicar tres veces un número, no
es necesario escribir tres veces el código, simplemente se indica el número
de veces que deseas ejecutar la misma acción. Este tipo de estructura se
utiliza cuando sabes el número de veces que hay que repetir una acción. La
estructura de un ciclo For es:

For variable = inicio to fin
Acción que se desea repetir
Next variable

En donde a la variable se le indica el número de veces que se ejecutará una


acción. Es muy común entre los programadores utilizar las variables i o j para
este tipo de bucles, como un contador que incrementa uno a uno hasta llegar
al número indicado de veces.

132 Programación - Fundamentos y prácticas de Programación


Ciclo For

Actividad

47
El siguiente programa imprime la tabla de multiplicar de un número
capturado.
1. Crea un nuevo proyecto Standard EXE y guárdalo con el nombre Ciclofor.
vbp en la carpeta que te indique el profesor.
2. Inserta un botón que muestre el texto “Multiplicar”.

3. Introduce el siguiente código dando doble clic sobre el botón:


Private Sub Command1_Click()
Dim num, i as Integer
Form1.Cls
num = InputBox(“Introduce el número de la tabla que deseas generar”)
For i = 1 To 10
Print num; “ * “; i; “ = “; i * num
Next i
End Sub

4. Ejecuta el programa varias veces y contesta:


a. ¿Para qué sirve la variable num?
Para almacenar el número del cual queremos su tabla.
b. ¿Para qué sirve la variable i?
Para imprimir cada número del 1 al 10.
c. ¿Cuántas veces se ejecuta el ciclo?
Diez veces

Estructura de bucle DO
Un bucle Do ejecuta un grupo de sentencias hasta que cierta condición se
cumple. Es muy útil usar este tipo de sentencia cuando no se sabe cuántas
veces será necesario repetir el ciclo. Piensa, por ejemplo, en un programa que
solicita una contraseña antes de ingresar. El programa repite la solicitud una
y otra vez hasta que escribamos la contraseña correcta. El código para pedir
la contraseña se ejecutará las veces que sea necesario, hasta que se cumpla
una condición.

133
Existen dos formas de sintaxis para esta estructura:
Do While condición
Sentencias a ejecutar
Loop

Do
Sentencias a ejecutar
Loop While condición

¿Observas la diferencia? En el primer caso la condición se evalúa antes de


iniciar el ciclo, por lo que es posible que no se ejecute ni una vez, en caso de
que la condición sea falsa. En la segunda sintaxis el ciclo se ejecuta al menos
una vez y la condición se evalúa al final. Si al condición es verdadera el ciclo
se repite y si no termina.

Ciclo D0

Actividad

48
El siguiente programa solicitará una contraseña al usuario, hasta que se
introduzca la correcta.

1. Inicia un nuevo proyecto y guárdalo como Ciclodo1.vbp.


2. Inserta una etiqueta y define las siguientes propiedades:

Objeto Propiedad Valor


Form1 Caption Inicio de Sesión
StartUpPosition 2- CenterScreen
BorderStyle 1- Fixed Single
Height 1600
Width 3500
Label1 Font Arial, negrita, 16
Left 420
Top 420
Height 315
Width 2535

134 Programación - Fundamentos y prácticas de Programación


3. Introduce el siguiente código dando doble clic sobre el formulario, en el
evento Load.
Private Sub Form_Load()
Dim password As String
Do While password <> “hola”
password = InputBox(“Introduce tu contraseña”, “Inicio de Sesión”)
Loop
Label1.Caption = “Bienvenido”
End Sub

4. Ejecuta el programa y pruébalo. Contesta:


¿Cuántas veces se ejecuta el ciclo?
Las veces que el usuario ingrese una cadena diferente de “hola”.

¿Qué ciclo usar?


En realidad es posible utilizar cualquier ciclo para resolver un problema.
La diferencia es que, dependiendo de cada caso, siempre hay uno que
Nota es más directo y en el que tienes que escribir menos código. El ciclo que
elijas dependerá de cada necesidad. Entre menos código tengas que
escribir y menos variables sea necesario controlar, mejor.
Observa este ejemplo. A la izquierda se muestra un ciclo escrito con Do
While y a la derecha el mismo ciclo con For. El resultado será exactamente
el mismo, pero el ciclo For le facilita el trabajo al programador.
Usando Do While Usando For
Dim X as integer
X=1 Dim X as integer
Do While X <= 5000 For X = 1 to 5000
instrucciones instrucciones
X = X +1 Next X
Loop

Procedimientos y funciones
Un procedimiento nos sirve para realizar una tarea concreta que probablemente
se vaya a requerir varias veces a lo largo del programa. Esta tarea se especifica
en un bloque de código de manera independiente. Cuando se desean realizar
las acciones del procedimiento, simplemente se “llama” al procedimiento por
su nombre desde cualquier lugar del programa. Una vez realizadas las acciones
pertinentes, se devuelve el flujo del programa al lugar desde donde se invocó
ese procedimiento.

Una función tiene exactamente el mismo objetivo, pero con la diferencia de


que devuelve un valor, por lo que siempre debe usarse en conjunto con una
variable que guardará el resultado de la función.
Lo primero que debemos hacer al crear un procedimiento o función es pensar
las cosas que se desean hacer, la información que necesitaremos y, en el caso
de la funciones, la información que se devolverá. Con estas ideas claras se
pueden construir los procedimientos y funciones sin mucha dificultad siguiendo
estas estructuras.

135
Para un procedimiento
Sub nombre ([argumentos opcionales])
... Código del procedimiento
end Sub
Para una función
Function nombre (parámetros)
... Código de la función
end Function
La mejor forma de comprender el funcionamiento de procedimientos y
funciones es probándolas directamente en un programa.

Procedimientos y funciones

Actividad

49
1. Abre Visual Basic y crea un nuevo proyecto Standard EXE. Guárdalo con el
nombre Procedimiento1.vbp.
2. Inserta una etiqueta y dos botones. Define las siguientes propiedades:

Objeto Propiedad Valor


Form1 Caption Procedimiento
StartUpPosition 2- CenterScreen
BorderStyle 1-Fixed Single
Height 1755
Width 2760
Label1 Font Arial, normal, 10
Caption En blanco
Command1 Caption Pedir nombre 1
Command2 Caption Pedir nombre 2

Tu formulario debe de quedar como en la imagen que se muestra.

3. Da doble clic sobre el formulario y escribe el siguiente código. Cuidado:


Este código NO debe quedar dentro de ningún evento de ningún control.

136 Programación - Fundamentos y prácticas de Programación


‘Este procedimiento se llama PedirNombre
Sub PedirNombre()
Dim nombre as String
nombre = InputBox(“Por favor, escriba su nombre”)
Label1.Caption = nombre
End Sub

4. Da doble clic sobre el botón Command1 e inserta el siguiente código en


su evento Click.
Private Sub Command1_Click()
‘Basta usar el nombre de un procedimiento para “llamarlo”
PedirNombre
End Sub

5. En el evento Click del segundo botón, llama al mismo procedimiento:


Private Sub Command2_Click()
PedirNombre
End Sub

6. Observa como el mismo procedimiento se puede mandar llamar desde


cualquier lugar del programa, cualquier objeto o evento, con tan solo
escribir el nombre del procedimiento. Esto sirve para evitar repetir código
en tu programa.
7. Prueba y depura el programa, revisando que todo funcione bien.
8. Guarda tu trabajo.

Manejo de menús
El Editor de Menús de Visual Basic es una herramienta gráfica que gestiona los
menús contenidos en tus programas. Podrás añadir nuevos menús y submenús,
modificarlos, reordenarlos, asignar a tus menús teclas de acceso (atajos con el
teclado) y más. Podrás ejecutar acciones a través de tus propios menús, tal y
como lo has venido haciendo con botones.

Menús

Actividad

50
El objetivo de este programa es darle formato al texto de una etiqueta (Label1),
ejecutando acciones a través de un menú simple. Las opciones del menú se
definen en el editor de menús de Visual Basic. Después se escribe código en
los eventos click de cada opción, tal y como lo harías en botones.

1. Crea un nuevo proyecto llamado menus.vbp y guárdalo como te


indique el profesor
2. Inserta una etiqueta en el formulario y dos menús.

137
3. Inserta también un control del tipo CommonDialog. Este control
normalmente no está disponible en las herramientas, por lo que debes
habilitar los controles Microsoft Common Dialog Control 6.0 siguiendo
estos pasos:
a. Da clic derecho sobre la barra de herramientas y elige Components.

b. Selecciona de la ventana de diálogo, la opción Microsoft Common


Dialog 6.0.

c. El control ya estará disponible en las herramientas. Da doble clic


sobre la herramienta CommonDialog para insertarlo al formulario.
Sólo se verá durante el diseño, pero no durante la ejecución.

138 Programación - Fundamentos y prácticas de Programación


4. Selecciona Menú Tools/Menu Editor… y establece las opciones que
se muestran en la imagen y la tabla que están más abajo. Utiliza las
flechas para tabular los menús (…), esto indica cuáles son menús y
cuáles son opciones de menús (submenús). Recuerda que el símbolo
“&” permite que la letra siguiente aparezca subrayada y pueda ser
seleccionada con el teclado.

Menú Propiedad Valor


&Ver Caption &Ver
Name MNuVer
...&Fecha Caption &Fecha
Name MNuFecha
...&Hora Caption &Hora
Name MNuHora
&Formato Caption &Formato
Name MNuFormato
Enabled False
...&Tamaño Caption &Tamaño
Name MNuTamaño
......&10 Caption &10
Name MNuDiez

139
......&20 Caption &20
Name MNuVeinte
......&30 Caption &30
Name MNuTreinta
...&Estilo Caption &Estilo
Name MNuEstilo
......&Negrita Caption &Negrita
Name MNuNegrita
......&Cursiva Caption &Cursiva
Name MNuCursiva
...&Color… Caption &Color
Name MNuColor

5. Revisa con cuidado especial el nombre (Name) que das a cada opción del
menú, ya que los nombres se utilizan para identificar cada menú en la
programación.
6. Da clic en el menú Ver/Fecha de tu formulario e inserta el siguiente
código:
Private Sub MNuFecha_Click()
‘Asigna la fecha al cuadro de texto label1
Label1.Caption = Date
‘Activa el menú Formato de tu formulario
MNuFormato.Enabled = True
End Sub

7. Da clic en el menú Ver/Hora de tu formulario e inserta el siguiente


código:
Private Sub MNuHora_Click()
‘Asigna la hora al cuadro de texto label1
Label1.Caption = Time
MNuFormato.Enabled = True
End Sub

8. En la ventana de código selecciona el menú MNuDiez e inserta el


siguiente código:
Private Sub MNuDiez_Click()
‘Aplica tamaño 10 a la etiqueta
Label1.FontSize = 10
End Sub

9. En la ventana de código selecciona el menú MnuVeinte e inserta el


siguiente código:
Private Sub MNuVeinte_Click()
Label1.FontSize = 20
End Sub

10. En la ventana de código selecciona el menú MnuTreinta e inserta el


siguiente código:

140 Programación - Fundamentos y prácticas de Programación


Private Sub MNuTreinta_Click()
Label1.FontSize = 30
End Sub

11. En la ventana de código selecciona el menú MnuNegrita e inserta el


siguiente código:
Private Sub MNuNegrita_Click()
‘Evalúa si el formato está en negrita e invierte el valor.
If Label1.FontBold = True Then
Label1.FontBold = False
Else
Label1.FontBold = True
End If
End Sub

12. En la ventana de código selecciona el menú MnuCursiva e inserta el


siguiente código:
Private Sub MNuCursiva_Click()
‘Evalúa si el formato está en cursiva e invierte el valor.
If Label1.FontItalic = True Then
Label1.FontItalic = False
Else
Label1.FontItalic = True
End If
End Sub

13. En la ventana de código selecciona el menú MnuColor e inserta el


siguiente código:
Private Sub MNuColor_Click()
‘Activa la ventana de color de Windows y aplica el color
CommonDialog1.Flags = &H2&
CommonDialog1.ShowColor
Label1.ForeColor = CommonDialog1.Color
End Sub

Prueba el programa y revisa todas las opciones.


14. Cuando ya haya funcionado bien, agrega a tu menú la opción “Escribir”.
15. Programa lo necesario para que, cuando el usuario elija esta opción, pueda
teclear algún texto en un InputBox y después darle formato con las demás
opciones del menú.
16. Guarda tu trabajo.

Colecciones
Los objetos de un formulario se pueden manejar en grupos denominados
colecciones. Una colección de controles se crea de manera automática
cada vez que se crea un nuevo formulario. Cada colección contenida en
un programa tiene su propio nombre para poder referirse a ella y a los
objetos que contiene. Debido a que puedes tener más de un formulario
en un programa, deberás incluir el nombre del formulario cuando quieras
hacer referencia a esa colección.

Para hacer referencia a una colección se usa la siguiente sintaxis:

formulario.Controls!objeto

141
donde formulario es el nombre de la forma que contiene al objeto que
se especifique. La palabra reservada Controls se utiliza para referirnos a una
colección.

Por ejemplo, para modificar la propiedad caption de una etiqueta Label1, que
está en el formulario Form1, puedes usar una instrucción como esta:

Form1.Controls!Label1.Caption = “Hola Mundo”

También se puede hacer referencia a un objeto de una colección especificando


el índice de posición que ocupa el objeto dentro del grupo. Visual Basic asigna
un índice a los objetos que forman la colección, en orden inverso a como
fueron creados. El último objeto creado tendrá el índice 0, el penúltimo objeto
tendría el índice 1, el antepenúltimo el 2, etcétera.

Por ejemplo para hacer referencia al último objeto que fue creado puedes
especificar el índice (0):

Form1.Controls(0).Caption = “ Hola Mundo”

Las colecciones te ayudarán a procesar simultáneamente grupos de objetos de


manera más efectiva, realizar procesos y cambiar sus propiedades.

Colecciones

51
Actividad
Este programa tiene como objetivo cambiar una propiedad de una colección de
objetos. Varios objetos ocultos en el formulario se harán visibles al presionar
un botón.
1. En un nuevo formulario inserta 3 cuadros de texto, un botón y tres
etiquetas. Organízalas como muestra la figura.

2. Cambia la propiedad Visible de todos los controles, excepto del botón, a


False. El objetivo es que sólo se vea el botón al iniciar el programa.

142 Programación - Fundamentos y prácticas de Programación


3. Introduce el siguiente código dentro del evento Click del botón.
Private Sub Command1_Click ()
‘La variable ctrl representa el objeto activo de una colección
Dim ctrl
For Each ctrl In Controls
ctrl.Visible = True
Next ctrl
End Sub

4. Tu formulario en ejecución debe quedar como en las imágenes se


muestran.

5. Utilizando la ayuda de Visual Basic u otra fuente, investiga:


a. ¿Cómo funciona la cláusula Each dentro de un ciclo For?
Repite un grupo de instrucciones para cada elemento de una colección. El tipo
de datos del elemento debe ser tal que el tipo de datos de los elementos del
grupo puedan convertirse al mismo.

b. Da un ejemplo y explícalo
Para cada alumno en el Salón
Repartir Libro del Alumno
Repartir CD del Alumno
Siguiente alumno
El ciclo se repite para cada alumno o elemento del grupo.

Matrices o Arreglo (Array)


Las matrices o arreglos son estructuras de datos muy utilizadas en cualquier
lenguaje. Un arreglo es como una variable que tiene varios compartimentos
para guardar la información, a la que se puede acceder por medio de un
índice.

Antes de utilizar un arreglo es necesario declararlo de manera obligatoria. Para


ello utilizamos la siguiente estructura general:

Dim nombre(n)

El número entre paréntesis indica el índice máximo de la matriz, considerando


que los arreglos comienzan desde la posición 0. Por lo tanto, si una matriz ha

143
sido definida con 20 casillas, tendrá 21 elementos (índices 0 a 20).
Dim semana(6)
Dim meses(11)
Dim estaciones(3)
Para asignar un valor a una de las casillas de un arreglo se utiliza siempre el
nombre y el índice, por ejemplo:
meses(2) = “marzo”
Se pueden también construir matrices multidimensionales si en la definición se
utiliza una coma para separar los índices. Por ejemplo, podemos definir una
matriz de 8x8 elementos (64 casillas) de esta manera:
Dim tablero(7,7)
Para escribir y leer el arreglo se usa también la coma. Por ejemplo:
tablero (0,0) = “torre”
For i = 0 to 7
tablero (1, i) = “peon”
Next i

Arrays

52
Actividad
1. En el siguiente espacio escribe las instrucciones que permitirán llenar un
arreglo con los días de la semana.
Dim semana (6) As string
semana (0) = “Lunes”
semana (1) = “Martes”
semana (2) = “Miércoles”
semana (3) = “Jueves”
semana (4) = “Viernes”
semana (5) = “Sábado”
semana (6) = “Domingo”

2. Escribe las instrucciones para pedir al usuario un número del 1 al 7 en un


InputBox y mostrar el día de la semana correspondiente (recuerda que
el arreglo comienza con el índice 0).
num = val (InputBox(“Ingrese un número del 1 al 7”))
if num < 7 And num > 0
Print semana (i - 1)
End if

144 Programación - Fundamentos y prácticas de Programación


3. Escribe las instrucciones de un ciclo que mostrará en el formulario los
días de la semana que están en el arreglo, pero en orden inverso.
For i = 0 To 6
Print semana (6 - i)
Next i

Gestión de Base de Datos Access


En Visual Basic puedes crear aplicaciones que te permitan trabajar con
información almacenada en bases de datos. Podrás crear una interfaz para
agregar registros, borrar registros o simplemente para desplazarte por cada
uno de los registro de la base de datos. Visual Basic te permite trabajar con
bases de datos como Microsoft Access, Microsoft FoxPro, Btrieve, Paradox,
DBASE o incluso Microsoft SQL Server, que son aplicaciones para crear bases
de datos.

Dado que Visual Basic incluye la misma tecnología de base de datos que
Microsoft Access (un gestor de bases llamado Microsoft Jet), es posible crear
aplicaciones con unas pocas líneas de código.

Las tablas de una base de datos se controlan por medio de un objeto llamado
Data. Este objeto incluye controles para navegar por la tabla y tiene métodos
simples para agregar o modificar registros, a través de un objeto llamado
Recordset.

En términos sencillos, un objeto Recordset es una tabla que contiene los


datos. Un Recordset se encuentra formado por filas (registros) y columnas
(campos), a las que deberemos hacer referencia para poder acceder a sus
datos.

Éstos son los principales métodos del objeto Recordset:


AddNew. Agrega un nuevo registro a la base de datos.
Delete. Elimina el registro actual de la base de datos.
MoveFirst. Se ubica en el primer registro.
MoveNext. Avanza al siguiente registro.
MoveLast. Se ubica en el último registro.
MovePrevious. Retrocede al registro anterior.

145
La forma de utilizarlos con la notación punto, es nombrando el control Data,
luego la palabra Recordset y al final el método. Por ejemplo, estas dos líneas
borrarán el primer registro de la tabla:
Data1.Recordset.MoveFirst
Data1.Recordset.Delete
También es importante que tomes en cuenta algunas propiedades, que de no
ser consideradas, podrían generar errores al trabajar con los registros.
BOF. Esta propiedad es verdadera (true) cuando el registro actual es el
primer registro (Beginning of file)
EOF. Esta propiedad es verdadera (true) cuando el registro actual es el
último registro (End of file)
Por ejemplo, después de avanzar al siguiente registro, puedo verificar si es el
ultimo para evitar un error ya que no es posible avanzar más allá del final de
la tabla:
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
End If

Base de Datos

Actividad

53
El siguiente programa permitirá visualizar, agregar y eliminar registros en una
base de datos llamada Agenda, a través de una aplicación creada en Visual
Basic. La base de datos ya ha sido previamente creada en Access y contiene
algunos registros, pero puedes modificarla o crear tu propia base de datos.
1. Crea la siguiente interface gráfica en Visual Basic. En los siguientes pasos
verás como colocar una imagen en los botones y cómo se usa el control
Data.

146 Programación - Fundamentos y prácticas de Programación


2. Renombra los botones de comando para que sea fácil programarlos.
Utiliza los siguientes nombres: cmdNuevo, cmdPrimero, cmdAnterior,
cmdSiguiente, cmdUltimo, cmdBorrar.
3. En tu CD de trabajo o carpeta de actividades encontrarás una carpeta con
el nombre “botones”. Copia las imágenes que contiene a la carpeta donde
está guardado tu proyecto de Visual Basic. Para que un botón muestre una
imagen, debes asignarle las propiedades Style y Picture, como se indica en
la tabla de propiedades más abajo.

Objeto Propiedad Valor


cmdPrimero Caption En blanco
Style 1 – Graphical
Picture Selecciona la imagen
“primero”
ToolTipText Primer registro

4. En tu CD de trabajo o carpeta de actividades encontrarás la Base de datos


Agenda. Cópiala a tu disco duro en la misma ubicación que tu proyecto.
Elige la base de datos, como una propiedad del objeto Data1:

Objeto Propiedad Valor


Data1 Connect Access
Selecciona la base
DatabaseName
de datos
RecordSource Datos
Visible False

5. Renombra los controles de texto para que sea fácil referirnos a ellos.
Utiliza los nombres: txtNum, txtNombre, txtDireccion, txtTel, txtMail.
6. Relaciona los cuadros de texto con los campos de la base de datos. En
cada campo de texto hay que especificar el origen de los datos y el campo
a utilizar.

Objeto Propiedad Valor


txtNum DataSource Data1
DataField Id
txtNombre DataSource Data1
DataField Nombre
txtDireccion DataSource Data1
DataField Direccion
txtTel DataSource Data1
DataField Tel
txtMail DataSource Data1
DataField Correo

147
7. Da doble clic sobre el botón cmdNuevo e inserta el siguiente código.
Private Sub cmdNuevo_Click()
confirma = MsgBox(“¿introducir nuevo registro?”, vbOKCancel, “Añadir Registro”)
If confirma = vbOK Then
‘Si se da Ok en la pregunta anterior, inserta un nuevo registro
Data1.Recordset.AddNew
‘el método setFocus le indica al cursor que se ubique en el cuadro
txtNombre.SetFocus
End If
End Sub

8. Da doble clic sobre el botón cmdBorrar e inserta el siguiente código.


Private Sub cmdBorrar_Click()
confirma = MsgBox(“¿Seguro?”, vbOKCancel, “Borrar registro”)
If confirma = vbOK Then
Data1.Recordset.Delete
‘El formulario muestra el registro siguiente
Data1.Recordset.MoveNext
End If
End Sub

9. Da doble clic sobre el botón cmdPrimero e inserta el siguiente


código.
Private Sub cmdPrimero_Click()
‘El formulario muestra el primer registro
Data1.Recordset.MoveFirst
End Sub

10. Da doble clic sobre el botón cmdAnterior e inserta el siguiente


código.
Private Sub Command4_Click()
‘El formulario muestra el registro anterior
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
‘Si es el primero se ubica en él
Data1.Recordset.MoveFirst
End If
End Sub

11. Da doble clic sobre el botón cmdSiguiente e inserta el siguiente código.


Private Sub cmdSiguiente_Click()
‘El formulario muestra el registro siguiente
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
‘Si es el último se ubica en él
Data1.Recordset.MoveLast
End If
End Sub

12. Da doble clic sobre el botón cmdUltimo e inserta el siguiente código.


Private Sub cmdUltimo_Click()
‘El formulario muestra el último registro
Data1.Recordset.MoveLast
End Sub

13. Ejecuta el programa y prueba su funcionamiento.

148 Programación - Fundamentos y prácticas de Programación


14. La base de datos original tiene también un campo llamado fax. Agrega al
formulario una etiqueta y una caja de texto y define las propiedades para
que se muestre el valor de fax de cada persona.
Contesta las siguientes preguntas:

a. ¿Por qué cuando avanzas o retrocedes en los registros, es necesario


verificar las propiedades EOF o BOF?

Porque si estás en el último registro no puedes pedirle al programa que lea


el siguiente registro y si estás al inicio del documento, no puedes leer un
registro anterior. Ocurriría un error y terminaría el programa.

b. ¿Qué sucede si eliminas las cajas MsgBox de confirmación para eliminar


o añadir registros?
El usuario podría eliminar accidentalmente un registro y no recuperarlo.

c. Confirma tus respuestas anteriores eliminando las líneas en el programa


y haciendo varias pruebas.

149
EVALUACION No. A V A N C E P R O G R A M ÁT IC O D E C U R S O
TEMA GENERAL: PROGRAMACIÓN
GRUPO:
PROFESOR:
PERIODO:
SEMANA 1 SEMANA 2 SEMANA 3 SEMANA 4 SEMANA 5
PRÁCTICAS
S E S IO N ES
T E Ó R IC AS

S E S IO N ES

L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S
TEMAS
P royectado
In troducció n
L ó g ica C o m p u ta cio n a l C oncretado
N otas:
A lg o ritm o s. P royectado
P ru e b a d e e scrito rio . C oncretado
N otas:
P royectado
C la sific a ció n d e a lg o ritm o s,
V a ria b le s. C oncretado
N otas:
V a ria b le s. P royectado
O p e ra d o re s. C oncretado
N otas:
P royectado
E stru ctu ra s B á sica s C oncretado
N otas:
SEMANA 6 SEMANA 7 SEMANA 8 SEMANA 9 S E M A N A 10

PRÁCTICAS
S E S IO N ES
T E Ó R IC AS

S E S IO N ES
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S
TEMAS
P royectado
Técn ica s p a ra rep re s e nta r a lg o ritm o s C oncretado
N otas:
P se u d o c ó d ig o P royectado
D ia g ra m a s d e N a ssi – S ch n e id e rm a n (N -S ) C oncretado
N otas:
P royectado
P se u d o c ó d igos d e la E stru ctu ra C oncretado
N otas:
P royectado
D e cisio n e s e n secuencia C oncretado
N otas:
P royectado
D e cisio n e s e n cascada o a n id a d a s. C oncretado
N otas:
EVALUACION No. A V A N C E P R O G R A M ÁT IC O D E C U R S O
TEMA GENERAL: PROGRAMACIÓN
GRUPO:
PROFESOR:
PERIODO:
S E M A N A 11 S E M A N A 12 S E M A N A 13 S E M A N A 14 S E M A N A 15
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S

TEMAS

S E S IO N ES
S E S IO N ES

T E Ó R IC AS
PRÁCTICAS
P royectado
C iclo s. C oncretado
N otas:
P royectado
C iclo s. C oncretado
N otas:
P royectado
C iclo s.
C oncretado
N otas:
P royectado
C iclo s. C oncretado
N otas:
P royectado
P se u d o c ó d igos co n va ria s e stru ctu ra s C oncretado
N otas:

S E M A N A 16 S E M A N A 17 S E M A N A 18 S E M A N A 19 S E M A N A 20
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S

TEMAS

S E S IO N ES
S E S IO N ES

T E Ó R IC AS
PRÁCTICAS
P royectado
A rre g lo s. C oncretado
N otas:
P royectado
M a tric e s.
C oncretado
N otas:
P royectado
V isual B a sic. C oncretado
N otas:
P royectado
E l e n to rn o d e V isual B a sic. C oncretado
N otas:
P royectado
P re p a ra n d o e l fo rm u la rio p a ra la p ro g ra m a ción . C oncretado
N otas:
EVALUACION No. A V A N C E P R O G R A M ÁT IC O D E C U R S O
TEMA GENERAL: PROGRAMACIÓN
GRUPO:
PROFESOR:
PERIODO:
S E M A N A 21 S E M A N A 22 S E M A N A 23 S E M A N A 24 S E M A N A 25
PRÁCTICAS
S E S IO N ES
T E Ó R IC AS

L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S
S E S IO N ES

TEMAS
P royectado
V a ria b le s C oncretado
N otas:
P royectado
V a ria b le s C oncretado
N otas:
P royectado
C o n s ta n te s. C oncretado
N otas:
P royectado
O p e ra d o re s C oncretado
N otas:
P royectado
E stru ctu ra s d e D e cisio n e s C oncretado
N otas:
S E M A N A 26 S E M A N A 27 S E M A N A 28 S E M A N A 29 S E M A N A 30

PRÁCTICAS
S E S IO N ES

S E S IO N ES
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S

T E Ó R IC AS
TEMAS
P royectado
E stru ctura s d e D e cisio n e s C oncretado
N otas:
P royectado
E stru ctura s d e D e cisio n e s C oncretado
N otas:
P royectado
E stru ctura s d e D e cisio n e s C oncretado
N otas:
P royectado
E stru c tura s d e D e cisio n e s C oncretado
N otas:
P royectado
C re a ció n d e u n a rch ivo e je c u ta b le C oncretado
N otas:
EVALUACION No. A V A N C E P R O G R A M ÁT IC O D E C U R S O
TEMA GENERAL: PROGRAMACIÓN
GRUPO:
PROFESOR:
PERIODO:
S E M A N A 31 S E M A N A 32 S E M A N A 33 S E M A N A 34 S E M A N A 35
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S

TEMAS

S E S IO N ES
S E S IO N ES

T E Ó R IC AS
PRÁCTICAS
P royectado
C reació n d e u n a rch ivo e je c u ta b le C oncretado
N otas:
P royectado
E stru ctu ra d e bucle F O R … N E X T C oncretado
N otas:
P royectado
E stru ctu ra d e bucle D O C oncretado
N otas:
P royectado
P ro c e dim ie n to s y fu n cio n e s C oncretado
N otas:
P royectado
M a n e jo d e M e n ú s C oncretado
N otas:

S E M A N A 36 S E M A N A 37 S E M A N A 38 S E M A N A 39 S E M A N A 40
L M M J V S L M M J V S L M M J V S L M M J V S L M M J V S

TEMAS

S E S IO N ES
S E S IO N ES

T E Ó R IC AS
PRÁCTICAS
P royectado
C o le ccio n e s C oncretado
N otas:
P royectado
M a tric e s o A rre g lo s C oncretado
N otas:
P royectado
G e stió n d e B a se d e D a to s A ccess C oncretado
N otas:
P royectado
C oncretado
N otas:
P royectado
C oncretado
N otas:

P royectado T = Sesión Teórica.


T O T A LE S Los re cu a d ro s a b a jo d e fe chas d e b e rá n lle n a rse
C oncretado PA = Sesión Práctica en el Aula
co n :
P O R C E N T A JE D E P royectado 100% 100% PL = Sesión Práctica en Laboratorio
AVANCE C oncretado

N O M B R E Y F IR M A D E L P R O F E S O R

Vous aimerez peut-être aussi