Libro Profe Amarillo.pdf

  • Uploaded by: Roberto Espinoza
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Libro Profe Amarillo.pdf as PDF for free.

More details

  • Words: 39,134
  • Pages: 176
PROGRAMACIÓN Fundamentos y Prácticas de Programación

INFORMÁTICA aprender haciendo Carlos Zepeda Chehaibar

Centro de Investigación

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

Ramón Salas Gil

José Agustín Pedraza Nieto Corrección de estilo

Armando Mendoza Hernández

Ilustración de portada

Elsa Lesser Carrillo 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 Resolución de actividades

Carlos Alberto León Rendón

Alma Rodríguez de Jesús Dennise López Font Luis Alfonso Jiménez Chávez 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 Actividad 01 Secuencias lógicas

1 2

Algoritmos Actividad 02 Algoritmos

3 4



Prueba de escritorio Características del algoritmo Actividad 03 Algoritmos

5 5 6

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

8 8 8 9

Variables Actividad 05 Acerca de variables Asignación de valores Actividad 06 Asignación de variables

10 10 11 12

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

14 15

Técnicas para representar algoritmos Diagrama de flujo Actividad 10 Diagramas de flujo Pseudocódigo

28 28 31

Diagramas de Nassi – Schneiderman (N-S) Diagrama N-S de estructuras de decisión Actividad 11 Diagramas N-S

37 38 39

17 17 18 18 22 24

36

CONTENIDO

Pseudocódigos de la Estructura Si-Entonces – Si no Actividad 12 Decisiones simples

42 43

Decisiones en secuencia Actividad 13 Decisiones en secuencia

45 46

Decisiones en cascada o anidadas Actividad 14 Decisiones anidadas Ciclos Ciclo Mientras (While) Actividad 15 Ciclo mientras Ciclo Para (For) Actividad 16 Ciclo para Ciclo Hacer-Mientras (Repeat while) Actividad 17 Ciclo Hacer-Mientras Ciclo Hacer-Hasta (Repeat Until) Actividad 18 Ciclo Hacer-Hasta Ciclos anidados Actividad 19 Ciclos anidados

50 51

Pseudocódigos con varias estructuras Actividad 20 Prueba de escritorio Actividad 21 Repaso de pseudocódigos Actividad 22 Escribiendo pseudocódigos matemáticos

70 71 71 74

Arreglos Actividad 23 Arreglos Matrices Actividad 24 Arreglos Lámina de apoyo 01 Glosario de conceptos algoritmos

76 78

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

55 55 56 58 58 61 61 64 65 67 69

81 82 85 86 87 87 87 88 89

CONTENIDO

Actividad 26 Tipos de programación ¿Cómo se programa en Visual Basic? MID 01 Nuevo Proyecto

89 90 91

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

91 91 91 92 93 94 94 95

Preparando el formulario para la programación Convenciones para nombrar los objetos Actividad 28 Identificando los objetos por su nombre Cambiar el tamaño y posición de los controles MID 03 Cambiar el tamaño y posición de los controles Actividad 29 Creando una interfaz gráfica La notación Punto Código MID 04 Código Actividad 30 Haciendo que funcione el programa

95 95 96 96 98 98 99 100 101 102

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

103 103 105 105 106 106 107 109 109

Constantes Actividad 35 Declaración de Constantes

110 110

Operadores MID 05 Prioridad en las operaciones Actividad 36 Calculadora simple Expresiones Lógicas Actividad 37 Reconociendo expresiones

111 112 113 114 114

CONTENIDO

Operadores lógicos Actividad 38 Uniendo expresiones

115 115

Estructuras de Decisiones Decisión IF… Then Actividad 39 Comprendiendo condicionales Actividad 40 La importancia de las decisiones Actividad 41 Estructura de Decisión 1 MsgBox Actividad 42 Estructura de Decisión 2 Estructura de decisión SELECT CASE Actividad 43 Estructura de Decisión 3

116 116 117 118 118 120 121 123 124

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

127 129 129 130 132

Estructura de bucle FOR … NEXT Actividad 47 Ciclo FOR

132 133

Estructura de bucle DO Actividad 48 Ciclo DO

133 134

Procedimientos y funciones Actividad 49 Procedimientos y funciones

135 136

Manejo de menús Actividad 50 Menús

137 137

Colecciones Actividad 51 Colecciones

141 142

Matrices o Arreglos (Array) Actividad 52 Arrays

143 144

Gestión de Base de Datos Access Actividad 53 Base de Datos

145 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.

El CD El CD que acompaña al material impreso contiene los Módulos de Instrucción Digital (MID’s) que te ayudarán a comprender los conceptos y a poner en práctica las habilidades adquiridas. Los MID’s incluyen una sección de aprendizaje y una sección de refuerzo interactivo. Adicionalmente encontrarás los archivos que se requieren para realizar las actividades, algunos documentos y aplicaciones útiles. No olvides que el CD es parte integral del programa, por lo que es muy importante que lo 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

TEMAS

TIEMPO EN SEMANAS

SUBTEMAS

COMPETENCIA

C o n o ce lo s fu n d a m e n to s y p rá ctica s d e p ro gra m a ció n .

1 /2 S e m a n a

In tro d u cció n

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

A p lica se cu e n cia s ló gica s d e n tro d e la p ro gra m a ció n .

1 /2 S e m a n a

A lgo ritm o s

A lgo ritm o s

D ise ñ a a lgo ritm o s d e n tro d e la p ro gra m a ció n .

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

M e m o riza la s d ife re n te s form a s d e cre a r a lgo ritm o s.

1 /2 S e m a n a

C la sifica ció n d e a lgo ritm o s

T ra n scrip ció n C o m p ila ció n y e rro re s Id e n tifica n d o e rro re s

Id e n tifica lo s e rro re s que se p u e d e n cre a r e n la cla sifica ció n d e a lgo ritm o s.

1 Sem ana

V a ria b le s

A ce rca d e va ria b le s A sign a ció n d e va lo re s A sign a ció n d e va ria b le s

Id e n tifica y a p lica la s va ria b le s co rre sp o n d ie n te s d e a cu e rd o a su va lo r.

1 /2 S e m a n a

O p e ra d o re s

O p e ra d o re s

E n cu e n tra va lo re s a la s va ria b le s p a ra la reso lu ció n d e la s o p e ra cio n e s.

1 Sem ana

E stru ctu ra s B á sica s

S e cu e n cia d e a ccio n e s D e cisió n d e a cció n E scrib ie n d o a lgo ritm o s 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

1 Sem ana

T é cn ica s p a ra rep re se n ta r a lgo ritm o s

D ia gra m a d e flu jo

E je cu ta a lgo ritm o s p a rtie n d o d e l d ia gra m a d e flu jo .

1 Sem ana

P se u d o có d igo D ia gra m a s d e N a ssi – S ch n e id e rm a n (N -S )

D ia gra m a N -S d e e stru ctu ra s d e d e cisió n

R e p ro d u ce a lgunos a lgo ritm o s d e n tro d e l d ia gra m a d e N -S .

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

U tiliza d e cisio n e s sim p le s e n la e je cu ció n d e a lgo ritm o s.

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

In te rp re ta 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.

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

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

4 Sem anas

C iclo s

C iclo M ie n tra s (W h ile ) C iclo P a ra (F o r) C iclo H a ce r-M ie n tra s (R e p e a t w h ile ) C iclo H a ce r-H a sta (R e p e a t U n til) C iclo s a n id a d o s

E n u m e ra la s ca ra cte rística s d e lo s ciclo s. D istin gue la a p lica ció n d e lo s d ife re n te s ciclo s e n la a p lica ció n d e lo s a lgo ritm o s.

1 Sem ana

P se u d o có d igos co n va ria s e stru ctu ra s

P ru e b a d e e scrito rio R e p a so d e p se u d o có d igo s E scrib ie n d o p se u d o có d igos m a te m á tico s

D ife re n cia la s e stru ctu ra s d e lo s p se u d o có d igo s, y p la n e a su a p ro p ia d a a p lica ció n .

1 Sem ana

A rre glo s

A rre glo s

E n cu e n tra co n lo s p se u d o có d igo 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.

M a trice s

A rre glo s L á m in a d e a p o yo G lo sa rio d e co n ce p to s a lgo ritm o s

A p lica la s h e rra m ie n ta s d e la s M a trice s p a ra la so lu ció n d e p ro b le m a s.

1 Sem ana

A p lica a lgo ritm o s e m p le a n d o la e stru ctu ra b á sica d e p ro gra m a ció n .

INDICADOR

OBJETIVOS

E la b o ra u n cu a d ro sin ó p tico co n lo s fu n d a m e n to s y p rá ctica s d e p ro gra m a ció n .

A tra ve s d e l m a te ria l d e a p o yo d e l a lu m n o y d e l in te rn e t, co n o ce lo s fu n d a m e n to s y p rá ctica s d e p ro gra m a ció n .

D e scrib e d e ta lla d a m e n te la s se cu e n cia s ló gica s d e n tro d e la co m p u ta ció n .

C o m p re n d e cu a le s so n la s se cu e n cia s ló gica s que se u tiliza n e n p ro gra m a ció n a sí co m o su 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 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 lgo ritm o s.

ACTIVIDADES SUGERIDAS PARA EL ALUMNO (CONTENIDAS EN EL MATERIAL DE TRABAJO)

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o e in te rn e t

A ctivid a d 0 1 S e cu e n cia s ló gica s

A ctivid a d 0 2 A lgo ritm o s

E n lista lo s p a so s a se gu ir p a ra la cre a ció n d e a lgo ritm o s.

E va lúa e l p ro ce so p a ra cre a r n u e vo s a lgo ritm o s

A ctivid a d 0 3 A lgo ritm o s

M e n cio n a e je m p lo s d e e rro re s d e sin ta xis y e rro re s ló gico s.

C la sifica a lo s a lgo ritm o s p a rtie n d o d e lo s e rro re s e n la s se cu e n cia s.

A ctivid a d 0 4 Id e n tifica n d o e rro re 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 E stim a e l va lo r d e u n a va ria b le . a sign a ció n . R e su e lve u n a 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 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. se te in d ica n .

A ctivid a d 0 5 A ce rca d e va ria b le s A ctivid a d 0 6 A sign a ció n d e va ria b le s

A ctivid a d 0 7 O p e ra d o re s

D ise ñ a a lgo ritm o s e m p le a n d o la 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. 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.

A ctivid a d 0 8 E scrib ie n d o a lgo ritm o s A ctivid a d 0 9 E scrib e a lgo ritm o 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 a lgunos a lgo ritm o s.

C o n o ce la s té cn ica s p a ra re p re se n ta r a lgoritm o s.

A ctivid a d 1 0 D ia gra m a s d e flu jo

E m p le a a lgu n o s a lgo ritm o s e n e l d ia gra m a N -S .

Id e n tifica e l D ia gra m a (N -S ) y su a p lica ció n e n lo s a lgo ritm o s.

A ctivid a d 1 1 D ia gra m a s N -S

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 tra b a ja r co n a lgo ritm o s e n e l e je rcicio s, u tiliza n d o d e cisio n e s sim p le s. 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 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 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 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 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 E lige e l tip o d e ciclo a d e cu a d o e n u tiliza n d o la s fu n cio n e s d e lo s ciclo s (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. h a sta , y ciclo s a n 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 . R e a liza u n a p ru e b a d e e scrito rio co n u n P se u d o có d igo . C o n stru ye e l P se u d o có d igos d e u n 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 p ro gra m a que d e so lu ció n a d ife re n te s e je rcicio s. P la n e a u n p ro gra m a , e n fo rm a to d e P se u d o có d igo , p a ra ca d a e je rcicio m a te m á tico .

RECURSOS

A ctivid a d 1 2 D e cisio n e s sim p le s A ctivid a d 1 3 D e cisio n e s e n se cu e n cia

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

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 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

A ctivid a d A ctivid a d A ctivid a d A ctivid a d A ctivid a d

a lu m n o y cd d e l a lu m n o

15 16 17 18 19

C iclo Mie n tra s C iclo Pa ra C iclo H a ce r-M ie n tra s C iclo H a ce r-H a sta C iclo s An id a d o s

E va lúa la s fu n cio n e s qu e se p u e d e n a p lica r co n lo s P su d o có d igo s e n d ife re n te s e stru cu tu ra s.

A ctivid a d 2 0 P ru e b a d e e scrito rio A ctivid a d 2 1 R e p a so d e p se u d o có d igos A ctivid a d 2 2 E scrib ie n d o p se u d o có d igos m a te m á tico s

A p lica lo s p se u d o có d igo s p a ra la so lu ció n d e p ro b le m a s.

A ctivid a d 2 3 A rre glo s

R e su e lve p ro b le m a s m a te m á tico s u tiliza n d o la lá m in a d e a p o yo y e l glo sa rio d e co n ce p to s a lgo ritm o s.

A ctivid a d 2 4 A rre glo s

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 m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

TEMAS

TIEMPO EN SEMANAS

1 Sem ana

1 Sem ana

1 Sem ana

SUBTEMAS

V isu a l B a sic

¿ 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 P ro p ie d a d e s, M é to d o s y E ve n to s P ro gra m a ció n p o r E ve n to s vs. P ro gra m a ció n E stru ctu ra 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?

E l e n to rn o d e 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 V e n ta n a d e p ro p ie d a d e s L a ve n ta n a d e p ro ye cto s 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

P re p a ra n d o e l form u la rio p a ra la p ro gra m a ció n

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 n o m b re C a m b ia r e l ta m a ñ o y p o sició n d e 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

COMPETENCIA

Id e n tifica ca d a u n a d e la s h e rra m ie n ta s d e Visu a l Ba sic p a ra e m p le a rla s e n e l tip o d e p ro gra m a ció n que co rre sp o n d a .

O rd e n a ca d a u n a d e la s p a rte s que co n fo rm a n e l e n to rn o d e Visu a l Ba sic.

Id e n tifica y a p lica la s h e rra m ie n ta s n e ce sa ria s p a ra cre a r in te rfa z grá fica e n p ro gra m a ció n .

2 Sem anas

V a ria b le s

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 V a ria b le s glo b a le s D e cla ra ció n y a sign a ció n d e 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

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

P re p a ra u n n u e vo d o cu m e n to 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 E xp re sio n e s Lógica s R e co n o cie n d o e xp re sio n e 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

A p re n d e a u tiliza r la ca lcu la d o ra sim p le p a ra reso lve r o p e ra cio n e s y e xp re sio n e s ló gica s.

1 Sem ana

5 Sem anas

O p e ra d o re s

E stru ctu ra s d e D e cisio 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 M sgB o x 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

2 Sem anas

C re a ció n d e u n a rch ivo e je cu ta b le

C re a ció n d e u n a rch ivo e je cu ta b le C o tiza cio n e s d e a u to s F ó rm u la G e n e ra l R e p a so

1 Sem ana

E stru ctu ra d e b u cle F O R … N E X T

C iclo F O R

Id e n tifica la im p o rta n cia d e la s va ria b le s y su s d e n o m in a cio n e s d e n tro d e p ro gra m a ció n .

D e scrib e y a p lica la s h e rra m ie n ta s, se gún se a e l ca so la s e stru ctu ra s d e d e cisio n e s.

R e co p ila la s fu n cio n e s d e p ro gra m a ció n y a p líca la s e n u n a rch ivo e je cu ta b le .

Id e n tifica la s fu n cio n e s d e la e stru ctu ra d e b u cle F O R … N E X T .

INDICADOR

D e fin e e l co n ce p to d e V isu a l B a sic. D e scrib e a m p lia m e n te la s p ro p ie d a d e s, m é to d o s y e ve n to s que se e m p le a n e n Visu a l Ba sic. 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 e n to rn o d e tra b a jo que a p a re ce e n la p la n tilla .

E xp lica a m p lia m e n te e l u so d e lo s co n tro le s que se u tiliza n e n 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 co n tro le s, p a ra h a ce r fun cio n a r e l p ro gra m a .

ACTIVIDADES SUGERIDAS PARA EL ALUMNO (CONTENIDAS EN EL MATERIAL DE TRABAJO)

RECURSOS

R e co n o ce a m p lia m e n te e l sign ifica d o d e Visu a l Ba sic y to d a s la s p ro p ie d a d e s qu e se p u e d e n gene ra r.

A ctivid a d 2 5 P ro p ie d a d e s, m é to d o s y e ve n to s A ctivid a d 2 6 T ip o s d e p ro gra m a ció n

C o m p u ta d o ra , in te rn e t, m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

D istin gu e ca d a u n a d e la s p a rte s que fo rm a n e l e n to rn o d e tra b a jo d e V isu a l B a sic.

A ctivid a d 2 7 Id e n tifica n d o e l e n to rn o d e tra b a jo

a lu m n o y cd d e l a lu m n o

OBJETIVOS

R e co n o ce e l form u la rio p a ra la p ro gra m a ció n .

D e scrib e a m p lia m e n te e l co n ce p to d e 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 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. p a ra la s cie n cia s e xa cta s. C o n stru ye p ro ye cto s n u e vo s a p lica n d o va ria b le s lo ca le s y glo b a le s.

C re a u n n u e vo d o cu m e n to y a p lica n u e va s co n sta n te s.

V a lo ra la s co n sta n te s que se p u e d e n u tiliza r e n u n n u e vo d o cu m e n to .

A ctivid a d 2 8 Id e n tifica n d o lo s o b je to s p o r su n o m b re A ctivid a d 2 9 C re a n d o u n a in te rfa z grá fica 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

A ctivid a d 3 1 A ctivid a d 3 2 d e va ria b le s A ctivid a d 3 3 va ria b le s A ctivid a d 3 4 e xa cta s

C o m p u ta d o ra , m a te ria l d e a p o yo d e l

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 ro gra m a s p a ra C ie n cia s

A ctivid a d 3 5 D e cla ra ció n d e C o n sta n te s

A ctivid a d 3 6 C a lcu la d o ra sim p le A ctivid a d 3 7 R e co n o cie n d o e xp re sio n e s A ctivid a d 3 8 U n ie n d o e xp re sio n e s

E la b o ra u n cu a d ro sin óp tico d e sa rro lla n d o la s e stru ctu ra s d e d e cisio n e 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 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 va ria b le s. a p re n d e a a p lica rla s e n ca d a ca so . C o n stru ye va rio s e je m p lo s d e e stru ctu ra s d e d e cisio n e s y a p lica la s h a b ilid a d e s adqu irid a s e n e l m a n e jo d e Visu a l Ba sic. A ctiva u n a fó rm u la gene ra l p a ra reso lve r e cu a cio n e s.

A ctivid a d 3 9 C o m p re n d ie n d o co n d icio n a le s A ctivid a d 4 0 L a im p o rta n cia d e la s d e cisio n e s A ctivid a d 4 1 E stru ctu ra d e D e cisió n 1 A ctivid a d 4 2 E stru ctu ra d e D e cisió n 2 A ctivid a d 4 3 E stru ctu ra d e D e cisió n 3 A ctivid a d 4 4 C o tiza cio n e s d e a u to s A ctivid a d 4 5 F ó rm u la G e n e ra l A ctivid a d 4 6 R e p a so

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 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 .

V a lo ra la s fu n cio n e s d e la e stru ctu ra b u cle F O R … N E X T .

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

D e cla ra n d o va ria b le s D e cla ra ció n y a sign a ció n

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 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 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. e xp re sio n e s ló gica s.

Im p rim e la ta b la d e m u ltip lica r d e u n n ú m e ro ca p tu ra 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

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra y m a te ria l d e a p o yo d e l a lu m n o

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 a lu m n o y cd d e l a lu m n o

TIEMPO EN SEMANAS

TEMAS

SUBTEMAS

COMPETENCIA

1 Sem ana

E stru ctu ra d e b u cle D O

C iclo D O

U b ica la s fu n cio n e s d e e stru ctu ra d e b u cle D O .

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

E je cu ta lo s p ro ce d im ie n to s y 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 .

1 Sem ana

M a n e jo d e m e n ú s

M enús

P re p a ra u n fo rm a to a l te xto d e u n a 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 ú .

1 Sem ana

C o le ccio n e s

C o le ccio n e s

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

1 Sem ana

M a trice s o A rre glo s

A rra ys

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

Total 38 semanas

S e le ccio n a lo s m a trice s y a rre glo s 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 e n u n a b a se d e d a to s.

INDICADOR

OBJETIVOS

ACTIVIDADES SUGERIDAS PARA EL ALUMNO (CONTENIDAS EN EL MATERIAL DE TRABAJO)

RECURSOS

In icia u n n u e vo p ro ye cto y so licita u n a co n tra se ñ a a l u su a rio h a sta qu e se in tro d u zca la co rre cta .

E va lúa la s fu n cio n e s d e la e stru ctu ra b u cle D O .

A ctivid a d 4 8 C iclo 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 a lu m n o y cd d e l a lu m n o

T ra b a ja d e sd e u n n u e vo d o cu m e n to lo s p ro ce d im ie n to s y fu n cio n e s b á sico s d e p ro gra m a ció n .

In ve n ta ria lo s p ro ce d im ie n to s y 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

C o m p u ta d o ra , m a te ria l d e a p o yo d e l a lu m n o y cd d e l a lu m n o

A ctivid a d 5 0 M e n ú 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 lu m n o y cd d e l a lu m n o

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 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. 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 p ro p ie d a d e s p a ra d a r p a so a la co le cció n d e o b je to s.

R e co n o ce la s p ro p ie d a d e s qu e se e n cu e n tra n e n la s co le ccio n e s.

A ctivid a d 5 1 C o le ccio n e s

D e sa rro lla a m p lia m e n te la a p lica ció n d e lo s m a trice s o a rre glo s.

M e m o riza y u tiliza lo s a rra ys.

A ctivid a d 5 2 A rra ys

C o m p u ta d o ra , m a te ria l d e a p o yo d e l 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 d e u n a b a se d e d a to s.

C o m p a ra la b a se d e d a to s d e a cce ss co n o tro s p ro gra m a s.

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 a lu m n o y cd d e l a lu m n o

C o m p u ta d o ra , m a te ria l d e a p o yo d e l 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 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

01 Actividad

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.

Programación

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

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.

Programación

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 1.

Desarrolla un algoritmo que te permita determinar si un número es par o 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

03 Actividad

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.

b.

Número = 0 el número es menor o igual a 0

Número = 4 4/1 = 4 4/2 = 2

no es primo

no es primo

Programación

7

c.

d.

e.

Número = 7 7/1 = 7 7/2 = 3.5 7/3 = 2.33

Es primo

Número = 11 11/1 = 11 11/4 = 2.75 11/2 = 5.5 11/5 = 2.2 11/3 = 3.66

Es primo

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

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í”

Programación

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

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.

Programación

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

B= 15

10

15

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.

Se asigna el valor 10 a la variable A. Se asigna el valor 15 a la variable B y A mantiene 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 Realiza una prueba de escritorio para cada uno de los siguientes programas. Anota el valor de las tres variables después de ejecutar cada línea o instrucción. 1. a=3 b=8 c=1 a=5 b=9 c=7 a=a+1 b=b-2 c=c+3

12

a

b

c

3 3 3 5 5 5 6 6 6

?

?

8 8 8 9 9 9 7 7

?

1 1 1 7 7 7 10

06 Actividad

2. a = 10 b=1 c=4 a=a+c b=a+c c=a+c a=c+5 b=c+b c=a+b+c

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

4. a=5 b=5 c=5 a=a+a b=b+b c=c+c a=a+b+c b=a+b+c c=a+b+c

a

b

c

10 10 10 14 14 14 23 23 23

1 1 1 18 18 18 36 36

4 4 4 18 18 18 77

a

b

c

1 1 1 3 3 3 3 3 3

2 2 2 1 1 1 4 4

3 3 3 3 3 3 12

a

b

c

5 5 5 10 10 10 30 30 30

5 5 5 10 10 10 50 50

5 5 5 10 10 10 90

Programación

13

5. a = 10 b = 10 c = 10 a=a+5 b=a+3 c=a+2 a=b+4 b=b+5 c=c+8

a

b

c

10 10 10 15 15 15 22 22 22

10 10 10 18 18 18 23 23

10 10 10 17 17 17 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 Para Para Para Para

expresar expresar expresar expresar expresar

una suma: + resta: una potencia: ^ una multiplicación: * 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 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

Nota

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

b

1.

a + x=

a b

Expresión:

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

x=

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

c + c

Programación

15

b

2.

a +

b

a + b + x= a + Expresión:

x=

b c

+ a

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

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

3.

a + b + x=

c d * a c

a + b * Expresión:

x=

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

x=

16

d

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

4.

Expresión:

c

+

b

b

c

a

b

b

c

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

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

5.

a + x=

a

+

a Expresión:

x=

a + b c +

+ d

a b

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

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 Fin

1. 2. 3. 4.

Ubicar la ventana por la que deseamos observar. Dirigirnos hacia la ventana que escogimos. Acercarnos lo suficiente para observar a través de ella. Observar a través de la ventana abierta.

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.

Programación

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. 2. 3. 3. 4. 5.

Ubicar la ventana por la que deseamos observar Si nos encontramos sentados Levantarnos del lugar donde nos encontremos Si no estamos sentados Nos orientamos hacia la ventana Dirigirnos hacia la ventana que escogimos Acercarnos lo suficiente para observar a través de ella. Si está cerrada Abrir la ventana 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

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

Programació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

Prueba de escritorio:

total 0 150 200 450 510

4.

artículo 150 50 250 60

¿total es mayor a 500? si total = 510 - 10 total = 500

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

Programación

21



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

Prueba de escritorio:

total 0 20 50 65 150

precio 20 30 15 85

¿100 < total < 200? = sí Total = 150 - 10 El total es $ 140

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

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.

Estructuras Algorítmicas

Secuenciales

- Asignación - Entrada - Salida

Condicionales

- Simples - Dobles - Múltiples

Cíclicas

- Para - Mientras Que - Repita Hasta

Programación

23

Escribe algoritmos computacionales 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 0 200 g 500 g 750 g 1150 g 1500 g 1800 g 2100 g 2050 g 2000 g

24

puño 200 g 300 g 250 g 400 g 350 g 300 g 300 g -50 g -50 g

09 Actividad

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 5 4 3 2 1 0

Boleto Azul Rojo Azul Azul Rojo

¿Aceptar? Sí No Sí Sí No

Programación

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:

26

Repetición

x

1 2 3 4 5 6 7 8 9 10

10 9 8 7 6 5 4 3 2 1

Salida de pantalla

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 1 2 3 4 5 6

16

10 11 12 13 14 15 16

16

Programación

27

c. Realiza una prueba de escritorio asignando valores a X y Y, donde X
Repetición

x

y

0

10

11

Salida de pantalla

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

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.

Programació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 sentados?

Falso

Verdadero Levantarnos del lugar donde estamos sentados

Orientarnos hacia 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 laboral?

Verdadero Fin

30

Falso

1

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 estándar

Falso

Verdadero

Verificar que esté en parking

Pisar el clutch Insertar la llave en la ranura Girar la llave Fin

Programación

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á caliente

Falso

Verdadero Meter el pastel Abrir el horno Está listo el pastel Verdadero Sacar el pastel del horno Fin

32

Falso

3.

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

Inicio numero

numero MOD 2 = 0 Verdadero

Falso Es impar

Es par Fin

Programación

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 Verdadero Fin

34

Falso

5.

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

A

Inicio

Bandera = 0 Verdadero El número es primo

Bandera = 0

Falso

El número no es primo

numero Fin

numero < 1

Verdadero

Falso numero = 2

Verdadero

A

Falso i=2 Bandera = o e i < numero/2

Falso

A

Verdadero numero MOD i = 0

Falso

Verdadero Bandera = 1 i=i+1

Programación

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

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. 2. 3. 4. 5.

Pedir al usuario el valor de la base (b) Pedir al usuario el valor de la altura (h) Calcular el área con la fórmula A=b*h Calcular el perímetro con la fórmula P= 2*(b+h) 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

Programación

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 Fin

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

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

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.

Programación

39

1. Algoritmo que te permita encender un vehículo

Inicio Abrir la puerta del vehículo Entrar al vehículo Es estándar Si No Verificar que esté Pisar el clutch 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

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

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

No

Mostrar: “Es impar”

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

Programación

41

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

Inicio Entero: bandera, numero, i = 0 Leer numero numero > 1 numero = 2 o numero = 1 Si i=2 bandera = 0 e i < numero/2 Si

No

numero MODi= 0

bandera = 1 i=i+1

Bandera = 0 No Si Mostrar: Mostrar: “El número “El número no es primo” es primo” Fin del algoritmo

No

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 Si no Fin_Si

frío entonces usar un abrigo ir al cine usar ropa fresca ir a la playa

Su estructura general es la siguiente:

Si (Condición) entonces



Si no



Fin_Si





42

Instrucciones a ejecutar en caso de que la condición sea Verdadera

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

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

Programación

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

Fin

5.

Fin si

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

Programación

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

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

Programación

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

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

Programación

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

Si no Fin_Si

usar abrigo ir al cine usar ropa fresca ir a la playa

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

Si no Fin_si

Instrucciones a ejecutar en caso de que la condición2 sea Verdadera Instrucciones a ejecutar en caso de que la condición2 sea Falsa

Fin_si

También es posible tener un esquema como éste: Si condición1 entonces Si condición2 entonces

Si no Fin_si

Si no Fin_si

Instrucciones a ejecutar en caso de que la condición2 sea Verdadera Instrucciones a ejecutar en caso de que la condición2 sea Falsa

Instrucciones a ejecutar en caso de que la condición1 sea Falsa

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

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

Programación

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

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

Programación

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

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 Fin

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

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

Programación

55

Ciclo Mientras Ciclo Mientras 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

15 Actividad

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

Programación

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 Entero num, i = 1 Leer num Mientras i < 12 Mostrar num “*” i i++ Fin mientras Fin

Inicio Entero: num, i = 1 Leer num i < 12 Mostrar num “*” i i++ 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 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

16 Actividad

Fin

2.

Fin para

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

Programación

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

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

Programación

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

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

Programación

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

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

Programación

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

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 2 2 3 3 3

1 2 3 1 2 3 1 2 3

Programación

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: Inicio Entero: x, y x=1 Mientras x <= 3 y=1 Mientras y <= 3

Escribe x Escribe y y=y+1 Fin_Mientras Interno

x=x+1 Fin_Mientras Externo Fin

x

y

1 1 1 2 2 2 3 3 3

1 2 3 1 2 3 1 2 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

68

Fin_Para Externo

x

y

1 1 1 2 2 2 3 3 3

1 2 3 1 2 3 1 2 3

Ciclos anidados

19 Actividad

1.

Utilizando ciclos anidados, escribe el algoritmo para generar las siguientes parejas de enteros. x 2 2 3 3 4 4 5

2.

y 0 1 0 1 0 1 0

Inicio Entero x, y Para x = 2 hasta 5 Para y = 0 hasta 1 Si x = 5 y y = 1 Terminar algoritmo Si no Mostrar x Mostrar y Fin si Fin para Fin para Fin

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. x 4 4 4 5 5 5 6 6 6

y 1 2 3 4 5 6 7 8 9

Inicio Entero x, aux, y = 1 Para x = 4 hasta 6 Para aux = 1 hasta 3 Mostrar x Mostrar y y+=1 Fin para Fin para Fin

Programación

69

3.

Utilizando tres ciclos anidados generar las siguientes ternas de números x

y

z

1 1 1 1 1 1 2 2 2 2 2 2

1 1 1 2 2 2 1 1 1 2 2 2

1 2 3 1 2 3 1 2 3 1 2 3

Inicio Entero: x, y, z Para x = 1 hasta 2 Para y = 1 hasta 2 Para z = 1 hasta 3 Mostrar x, y, z Fin para Fin para Fin para 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

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 x = 60 x = 80 x = 75 x = 65 x = 72 x = 70

Te falta Te falta Te pasaste Te pasaste Te falta Te pasaste 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

Programación

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

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

Programación

73

Escribiendo pseudocódigos matemáticos 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

22 Actividad

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

Programación

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

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

semana[1] semana[2] semana[3] semana[4] semana[5]

= = = = =

“lunes” “martes” “miércoles” “jueves” “viernes”

Dirección

Valor

1

lunes

2

martes

3

miércoles

4

jueves

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 Fin

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]

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

Programación

77

Inicio Entero: ind Entero: posicion[50] Para ind=1 hasta 50 posicion[ind]= ind*2 Fin_Para Fin Arreglos 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 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 Edad

78

Actividad

23

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

Programación

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

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í:

Nota

barcos [2,3]

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

Programación

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 Escribe un programa, en formato de pseudocódigo, para cada uno de los siguientes problemas: 1.

82

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

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

Inicio Entero A[4,4], i, j Para i = 1 hasta 4 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

24 Actividad

2.

3.

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

2

3

4

2

4

6

8

3

6

9

12

4

8

12

16

Inicio Entero A[4,4], i, j, N Para i = 1 hasta 4 Para j = 1 hasta 4 A[i, j]= i * j Fin para Fin para Fin

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

3

4

5

3

4

5

6

4

5

6

7

5

6

7

8

Inicio Entero A[4,4], i, j, N Para i = 1 hasta 4 N=i+1 Para j = 1 hasta 4 A[i, j]= N Fin para Fin para Fin

Programación

83

4.

5.

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Inicio Entero A[4,4], i, j, N N=1 Para i = 1 hasta 4 Para j = 1 hasta 4 A[i, j]= N N++ Fin para Fin para Fin

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

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

Programación

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.

Programación

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 1.

Escribe 3 propiedades, 3 métodos y 3 eventos de una persona adulta: Propiedades:

2.

Métodos:

comer, correr, dormir

Eventos:

hablarle, tocarla, saludarla

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

88

color de cabello, estatura, edad

tamaño, color, costo

Métodos:

encender, apagar, modificar intensidad

Eventos:

conectar, desconectar, apretar botón de encendido

25 Actividad

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.

Programación

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. 2. 3. 4. 5.

Comprender el problema Diseñar la solución en papel Crear el entorno gráfico Establecer las propiedades de los controles 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

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

Programación

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 Check Box

Text Box Command Button 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 . 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

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

1

2

3 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 y Ver Objeto <Shift + F7> para cualquier elemento seleccionado.

Programación

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 Se usa para incluir textos simples o mensajes. Text Se usa para admitir entrada de texto del usuario. Command Button. Los botones responden a eventos como Clic, doble clic y otros que permiten ejecutar acciones.

Option Button Permitirán al usuario elegir sólo una de las opciones disponibles. Incluye el texto descriptivo. Check Box Permitirán al usuario elegir una o varias opciones. Incluyen el texto descriptivo.

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

94

02

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. 1.

3.

Cuadro de herramientas 4. 2.

Ventana de proyectos

Panel de propiedades

Á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.

Programación

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 lblInstrucciones chkCanto optMasculino txtNombre cmdAceptar lblTitulo cmdSalir optFemenino chkDeportes txtApellido

form label check box option button text box button label button option button check box 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

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.

Programación

97

Progr

03

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

Creando una interfaz gráfica 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

2. 3.

y pegar, porque se crearía una matriz de controles en vez de controles independientes. Crea por separado cada control. En un formulario vacío agrega el primer control Label. 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

Actividad

29

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

Programación

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 . 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

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 ).

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.

End Sub

Evento El código se ejecutará cuando este evento le ocurra al objeto en cuestión.

Progr

04

Código

Programación

101

Haciendo que funcione el programa

Actividad

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

30

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.

Programación

103

Tipo

Se usa para

Espacio ocupado

Representación

Integer (Entero)

Valores numéricos sin decimales, desde -32,768 hasta 32,767.

2 bytes

%

Long integer (Entero largo)

Valores enteros desde -2,147,483,648 hasta 2,147,483,647.

4 bytes

&

Single Precision

Valores numéricos desde -3.4028 E+38 hasta 3.4028E+38.

4 bytes

!

Double Precision

Valores numéricos desde -1.79769E+308 hasta 1.79769E+308.

8 bytes

#

Currency (Monetario)

Permite almacenar números de tipo moneda, con dos decimales

8 bytes

@

String (Cadena)

Puede contener de 0 a 32,000 caracteres alfanuméricos. Como los valores se guardan como texto, no se pueden realizar operaciones matemáticas con ellos directamente.

1 byte por carácter

$

Boolean (Booleano)

Puede contener únicamente los valores TRUE o FALSE.

1 bit

Date (Fecha)

Contiene valores de Fecha y Hora.

8 bytes

Variant

Pude almacenar cualquier tipo de dato, inclusive objetos

variable

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 Dim Dim Dim Dim

X As Integer letra As String edad As Single sueldo As Double 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 Dim Dim Dim

104

X% letra$ edad! sueldo#

Declarando variables

Actividad

31

Completa las siguientes declaraciones de variables. Escribe la parte faltante en cada sentencia. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Dim

Y as integer Dim cadena String Dim precio Dim edad

as as double simple

Dim Dim nombre Dim Dim nombre Dim cadena Dim

as calific as sexo as

$

!

Single as

integer string as Boolean

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 Dim A = B =

A As Integer B As Integer 10 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:

Programación

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

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 Form1

Propiedad Caption Start Up Position

lblMensaje

2- CenterScreen

Caption

Nombre

AutoSize

True

Font Alignment cmdAccion

Valor Nombre

Caption

Arial, 10, negrita 2-Center Introducir nombre

Programación

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 puedes poner un título al cuadro de diálogo. Por ejemplo: edad = InputBox$(“Escribe tu edad”, ”Solicitud de edad”)

108

Nota

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?

2.

¿Qué es una Variable numérica?

3.

¿Qué es una Variable Alfanumérica?

4.

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

5.

¿Qué es una Variable Local?

6.

¿Qué es una Variable Global?

Una ubicación en memoria que contiene un valor y puede cambiarlo por las instrucciones de un programa. Una variable cuyo valor puede ser únicamente un número. Una variable cuyo valor puede ser un número o una letra. Para reservar espacio en memoria antes de la ejecución del programa. Una variable que sólo puede ser utilizada dentro del mismo objeto o función en que fue definida. 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).

Programación

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

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 correctamente.

6.

Contesta:

con



y

prueba

que

funcione

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.

Nota

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 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:

Programación

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. ( ) ^ -

*/ \ Mod +-

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 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

112

05

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:

4.

Dim n1, n2 As Integer

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.

Programación

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

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 d. La bandera nacional e. Tengo 13 años f. base*altura/2

114

B N

N

B

37

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

Programación

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

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.

2.

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 12 16 19 22

Buenos días Buenas tardes Buenos tardes Buenas noches Buenas noches

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

Programación

117

La importancia de las decisiones 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.

4.

¿Qué son las estructuras de decisión?

5.

Escribe un ejemplo del código de una estructura de Decisión if… >

Actividad

40

AND: Devuelve un valor verdadero cuando todas las expresiones sean verdaderas.

Conjunto de instrucciones que se llevan a cabo o no, basándose en el resultado de una evaluación. 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

Objeto Form1

Propiedad Caption StarUpPosition

2- CenterScreen

Text1

Text

En blanco

Label1

Caption AutoSize

En blanco True Evaluar

CommandButton 3.

Valor Evaluar calificación

Caption

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.

Programación

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

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

Form1

Caption

Valor Las Vegas

BackColor

&H80000009&

StartUpPosition

2- CenterScreen

Height

8490

Width

6795

Caption

En blanco

Font

Arial, 48, negrita

Alignment

2- Center

BackColor Height

&H80000009& 1155

Left Top

360 360

Width

1875

Caption

En blanco

Font

Arial, 48, negrita

Label1

Label2

Programación

121

Alignment

2- Center

BackColor

&H80000009& 1155

Height

Label3

360

Width

1875

Caption

En blanco

Font Alignment

Arial, 48, negrita

BackColor

Picture1 Command1

2400

Left Top

2- Center

Height

&H80000009& 1155

Left

4440

Top

360

Width

1875

Picture

ganador.jpg

Visible

False

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

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

Programación

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

Form1

Caption StarUpPosition

Image1

Label1

Propiedades Height

List1

124

2- CenterScreen Por default 5715

Left Top

360 180

Width

3435

Caption

Selecciona un personaje de la lista

Font Alignment

Label2

Valor Personajes

Arial, 10

Height

0- Left Justify 5715

Left

3960

Top

780

Width

3780

Height

330

Left Top Width

3960 300 75

AutoSize

True

Height

1035

Left Top

2820 6540

Width

2295

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

Programación

125

Case 2

Case 3

Case 4

End Select End Sub

126

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.” 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.” 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.” 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).”

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:

Programación

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

Version Number

Te permite asignar un número de versión a tu 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.

Version Information

Permite incluir algún comentario sobre tu programa o bien los datos del desarrollador.

Compile

Esta sección te permite optimizar el programa para que ocupe menos espacio.

128

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

Programación

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

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

45

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 b) 4x2 + 12x + 6 = 0 c) 2x2 + x = 0 d) x2 + 2x - 6 = 0 e) 3x2 + 11x + 6 = 0

X1 X1 X1 X1 X1

= = = = =

X2 X2 X2 X2 X2

= = = = =

Programación

131

Repaso

Actividad

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

46

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.

Programació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

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

Form1

Caption

Valor Inicio de Sesión

StartUpPosition

2- CenterScreen

BorderStyle Height

1- Fixed Single 1600

Width

3500

Font

Arial, negrita, 16

Left

420

Top

420

Height

315

Width

2535

Label1

134

48

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”.

Nota

¿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 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 Do While X <= 5000 instrucciones X = X +1 Loop

Dim X as integer For X = 1 to 5000 instrucciones Next X

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.

Programación

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

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

Form1

Caption

Valor Procedimiento

StartUpPosition

2- CenterScreen

BorderStyle Height

1-Fixed Single 1755

Width

2760

Label1

Font Caption

Arial, normal, 10 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.

136

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.

49

‘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.

Programación

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

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

&Ver

Caption

Valor &Ver

Name

MNuVer

...&Fecha

Caption Name

&Fecha MNuFecha

...&Hora

Caption

&Hora

Name

MNuHora

Caption

&Formato

Name

MNuFormato

Enabled

False

Caption

&Tamaño

Name

MNuTamaño

Caption

&10

Name

MNuDiez

&Formato

...&Tamaño ......&10

Programación

139

......&20 ......&30 ...&Estilo ......&Negrita ......&Cursiva ...&Color…

Caption

&20

Name

MNuVeinte

Caption

&30

Name

MNuTreinta

Caption

&Estilo

Name

MNuEstilo

Caption

&Negrita

Name

MNuNegrita

Caption

&Cursiva

Name

MNuCursiva

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

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

Programación

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

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

Programación

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

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.

Programación

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

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.

146

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.

53

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

cmdPrimero

Caption Style Picture ToolTipText

4.

Valor En blanco 1 – Graphical Selecciona la imagen “primero” Primer registro

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

Data1

Connect

Valor Access

RecordSource

Selecciona la base de datos Datos

Visible

False

DatabaseName

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

txtNum

DataSource

Valor Data1

DataField

Id

txtNombre

DataSource DataField

Data1 Nombre

txtDireccion

DataSource

Data1

txtTel

DataField DataSource

Direccion Data1

DataField

Tel

DataSource

Data1

DataField

Correo

txtMail

Programación

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

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.

Programación

149

EVALUACION No. TEMA GENERAL: GRUPO: PROFESOR: PERIODO:

TEMAS

PROGRAMACIÓN

In troducció n L ó g ica C o m p u ta cio n a l A lg o ritm o s. P ru e b a d e e scrito rio . C la sific a ció n d e a lg o ritm o s, V a ria b le s. V a ria b le s. O p e ra d o re s. E stru ctu ra s B á sica s

TEMAS Técn ica s p a ra rep re s e nta r a lg o ritm o s P se u d o c ó d ig o D ia g ra m a s d e N a ssi – S ch n e id e rm a n (N -S ) P se u d o c ó d igos d e la E stru ctu ra D e cisio n e s e n secuencia

D e cisio n e s e n cascada o a n id a d a s.

P royectado

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas: C oncretado N otas:

P royectado

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas: C oncretado N otas:

S E S IO N ES T E Ó R IC AS S E S IO N ES PRÁCTICAS

S E S IO N ES PRÁCTICAS L

L

M

M

M

J

J

SEMANA 6

M

SEMANA 1

V

V

S

S

L

L

M

M

M

J

J

SEMANA 7

M

SEMANA 2

V

V

S

S

L

L

M

M

M

J

J

SEMANA 8

M

SEMANA 3

A V A N C E P R O G R A M ÁT IC O D E C U R S O

S E S IO N ES T E Ó R IC AS

V

V

S

S

L

L

M

M

M

J

SEMANA 4

M

J

SEMANA 9

V

V

S

S

L

L

M

M

M

J

SEMANA 5

M

J

S E M A N A 10

V

V

S

S

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 .

E l e n to rn o d e V isual B a sic.

V isual B a sic.

M a tric e s.

A rre g lo s.

TEMAS

P se u d o c ó d igos co n va ria s e stru ctu ra s

C iclo s.

C iclo s.

C iclo s.

C iclo s.

TEMAS

PROGRAMACIÓN

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

L

L

M

M

J

M

J

S E M A N A 16

M

S E M A N A 11

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 17

M

S E M A N A 12

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 18

M

S E M A N A 13

A V A N C E P R O G R A M ÁT IC O D E C U R S O

S E S IO N ES T E Ó R IC AS S E S IO N ES T E Ó R IC AS

EVALUACION No. TEMA GENERAL: GRUPO: PROFESOR: PERIODO: S E S IO N ES PRÁCTICAS S E S IO N ES PRÁCTICAS

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 19

M

S E M A N A 14

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 20

M

S E M A N A 15

V

V

S

S

EVALUACION No. TEMA GENERAL: GRUPO: PROFESOR: PERIODO:

V a ria b le s

V a ria b le s C o n s ta n te s. O p e ra d o re s

PROGRAMACIÓN

TEMAS

E stru ctu ra s d e D e cisio n e s

TEMAS E stru ctura s d e D e cisio n e s

E stru ctura s d e D e cisio n e s E stru ctura s d e D e cisio n e s E stru c tura s d e D e cisio n e s C re a ció n d e u n a rch ivo e je c u ta b le

P royectado

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas: C oncretado N otas:

P royectado

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas: C oncretado N otas:

S E S IO N ES T E Ó R IC AS S E S IO N ES PRÁCTICAS

S E S IO N ES PRÁCTICAS L

L

M

M

M

J

J

S E M A N A 26

M

S E M A N A 21

V

V

S

S

L

L

M

M

M

J

J

S E M A N A 27

M

S E M A N A 22

V

V

S

S

L

L

M

M

M

J

J

S E M A N A 28

M

S E M A N A 23

A V A N C E P R O G R A M ÁT IC O D E C U R S O

S E S IO N ES T E Ó R IC AS

V

V

S

S

L

L

M

M

M

J

S E M A N A 24

M

J

S E M A N A 29

V

V

S

S

L

L

M

M

M

J

S E M A N A 25

M

J

S E M A N A 30

V

V

S

S

TEMAS

G e stió n d e B a se d e D a to s A ccess

M a tric e s o A rre g lo s

C o le ccio n e s

M a n e jo d e M e n ú s

P ro c e dim ie n to s y fu n cio n e s

E stru ctu ra d e bucle D O

E stru ctu ra d e bucle F O R … N E X T

C reació n d e u n a rch ivo e je c u ta b le

TEMAS

PROGRAMACIÓN

P O R C E N T A JE D E AVANCE

T O T A LE S

P royectado

C oncretado

P royectado

C oncretado

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

P royectado

C oncretado N otas:

100%

L

100%

L

M

M

J

M

J

S E M A N A 36

M

S E M A N A 31

V

V

L

L

M

M

J

M

J

S E M A N A 37

M

S E M A N A 32

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 38

M

S E M A N A 33

V

V

= = PL = PA

T

S

S

L

L

J

M

J

S E M A N A 39

M

S E M A N A 34

V

V

S

S

L

L

M

M

J

M

J

S E M A N A 40

M

S E M A N A 35

Sesión Práctica en Laboratorio

Sesión Práctica en el Aula

Sesión Teórica.

M

M

N O M B R E Y F IR M A D E L P R O F E S O R

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 co n :

S

S

A V A N C E P R O G R A M ÁT IC O D E C U R S O

S E S IO N ES T E Ó R IC AS S E S IO N ES T E Ó R IC AS

EVALUACION No. TEMA GENERAL: GRUPO: PROFESOR: PERIODO: S E S IO N ES PRÁCTICAS S E S IO N ES PRÁCTICAS

V

V

S

S

NOTAS

NOTAS

NOTAS

NOTAS

NOTAS

NOTAS

La serie de Informática Educativa Colores Procesador de Textos Certificación Internacional Word

Hoja de Cálculo

Certificación Internacional Excel

Presentaciones

Certificación Internacional PowerPoint

Diseño Digital

Producción de imagen digital con Photoshop

Diseño Multimedia

Desarrollo de animación y multimedia con Flash

Diseño Vectorial

De la ilustración al diseño editorial con Illustrator

Diseño Web

Desarrollo de interfaces y contenido para Internet

Office Avanzado

Certificación Master en Office

Programación

Fundamentos y prácticas de programación

Publicaciones

Edición de impresos con Publisher

Video Digital

Producción y realización de video digital

Azul

Verde

Naranja

Rojo

Morado

Magenta

Negro

Café

Amarillo

Aqua

Blanco

www.grupoeducare.com

Related Documents

Libro Profe Amarillo.pdf
November 2019 14
Profe
November 2019 27
Profe Rafa
November 2019 20
Profe Mapa.docx
July 2020 9
Trabajo Del Profe
May 2020 3

More Documents from ""

Libro Profe Amarillo.pdf
November 2019 14
November 2019 13
April 2020 10
April 2020 7