manual de aprendizaje -...

183
SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL MANUAL DE APRENDIZAJE CÓDIGO: 89001561 Profesional Técnico FUNDAMENTOS DE PROGRAMACIÓN COMPUTACIÓN E INFORMÁTICA

Upload: dangdung

Post on 25-Sep-2018

263 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

MANUAL DE APRENDIZAJE

CÓDIGO: 89001561

Profesional Técnico

FUNDAMENTOS DE PROGRAMACIÓN

COMPUTACIÓN E INFORMÁTICA

Page 2: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR
Page 3: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR
Page 4: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR
Page 5: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

TABLA DE CONTENIDO

I. ANALIZAR LOS FUNDAMENTOS DE PROGRAMACIÓN. 7

1.1. DEFINIR LOS FUNDAMENTOS DE PROGRAMACIÓN. 8 1.2. ANALIZAR LA ESTRUCTURA LÓGICA DE LA COMPUTADORA. 14 1.3. DEFINIR MÉTODOS DE PROGRAMACIÓN. 22 1.4. CATALOGAR LA DISTRIBUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN. 28 FUNDAMENTO TEÓRICO. 31

II. UTILIZAR LA LOGICA DE LA PROGRAMACIÓN. 54

2.1. DEFINIR EL CONCEPTO DE UN ALGORITMO. 55 2.2. UTILIZAR ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS. 60 2.3. DEFINIR LOS DIAGRAMAS DE FLUJO. 65 FUNDAMENTO TEÓRICO. 68

III. DEFINIR LOS TIPOS DE DATOS QUE EXISTEN EN UN PROGRAMA. 80

3.1. TRABAJAR CON CONSTANTES Y VARIABLES. 81 3.2. IDENTIFICAR LOS TIPOS DE DATOS QUE EXISTEN EN UN PROGRAMA. 83 3.3. ANALIZAR LA IMPORTANCIA DE UTILIZAR EL TIPO DE DATOS CORRECTO. 85 FUNDAMENTO TEÓRICO. 87

IV. PROGRAMAR ESTRUCTURAS CONDICIONALES Y REPETITIVAS. 98

4.1. ELABORAR ESTRUCTURAS CONDICIONALES. 99 4.2. ELABORAR ESTRUCTURAS REPETITIVAS. 101 4.3. DESARROLLAR CASOS PRÁCTICOS DE ESTRUCTURAS. 104 FUNDAMENTO TEÓRICO. 106 DESARROLLAR CASOS PRÁCTICOS DE ESTRUCTURAS. 112

V. PROGRAMAR DIAGRAMAS DE FLUJO UTILIZANDO HERRAMIENTA DE DESARROLLO. 121

5.1. IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR LAS FUNCIONES INTERNAS DE UN PROGRAMA. 125 5.3. UTILIZAR LOS OPERADORES QUE TIENE UN PROGRAMA. 128 FUNDAMENTO TEÓRICO. 130

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 5

Page 6: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

VI. UTILIZAR LOS PROCEDIMIENTOS COMO PARTE DE LA PROGRAMACION. 152

6.1. DEFINIR LA IMPORTANCIA DE LOS PROCEDIMIENTOS. 153 6.2. ELABORAR PROCEDIMIENTOS UTILIZANDO VARIABLES LOCALES Y GLOBALES. 160 FUNDAMENTO TEÓRICO. 168

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 6

Page 7: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

I. ANALIZAR LOS FUNDAMENTOS DE PROGRAMACIÓN. En esta tarea trataremos las siguientes operaciones:

Equipos y Materiales: Computadora con microprocesadores core 2 Duo ó de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Definir los fundamentos de programación. • Analizar la estructura lógica de la computadora. • Definir los métodos de programación. • Catalogar la distribución de los lenguajes de programación.

Definir los fundamentos de programación. Analizar la estructura lógica de la computadora. Definir los métodos de programación. Catalogar la distribución de los lenguajes de programación.

01

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 7

Page 8: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIONES.

1.1. DEFINIR LOS FUNDAMENTOS DE PROGRAMACIÓN. Un programa es un conjunto de instrucciones dadas para que sean ejecutadas y realizadas por un ordenador. Las instrucciones deben de tener un cierto lenguaje, para que el ordenador sea capaz de comprenderlas. La dificultad está en que los lenguajes que utilizan los ordenadores son complicados para un usuario común, debido a que son distintos a los que utilizamos habitualmente. Elaborar y escribir programas que el ordenador usa internamente es complicado, tanto a la hora de crearlos como particularmente a la hora de corregir algún desperfecto o mejorar lo hecho. Estos lenguajes pueden ser llamados: “lenguaje maquina” o “código maquina”. Como consecuencia de ello, en la práctica utilizamos lenguajes similares al humano los cuales son llamados “lenguajes de alto nivel”, estos son muy parecidos al idioma inglés, pero con reglas más estrictas. ¿COMO PROGRAMA LA COMPUTADORA? Una maquina es aquella que acepta y realiza ordenes, tal como tu ordenador, estas órdenes pueden ser tan simples como escribir una letra en la pantalla o calcular una suma, y pueden tener varias formas, dependiendo del lenguaje empleado. A un ordenador no puedes decirle lo siguiente: Ordenador, quiero que me bajes esa caja de la estantería, la roja a la derecha. No lo entenderá. En cambio, si escribes algo así, puede que te preste atención:

NOTA: A veces buscas alguna aplicación que lleve a cabo una función determinada y no lo encuentras, entonces te sientes ofuscado pues puede darse el hecho de que ese programa no exista aun. Pero tienes que encontrarle una solución a este problema y ¿Cómo? Pues puedes aprender el lenguaje de programación e ir creando de cero el programa que deseas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 8

Page 9: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

01001111 01110010 01100100 01100101 01101110 01100001 01100100 01101111 01110010 Este es el único idioma que sabe hablar una pc, ceros y unos “código maquina”, sin duda no es común para nosotros hablar así por lo que recurrimos a lenguajes artificiales que son versiones simplificadas de idiomas utilizados por nosotros que no son más que versiones simplificadas de nuestros idiomas. La frase inicial se parecería entonces a algo así caja.Bajar(EstanteriaRoja3) = Verdad; Resulta complicado, pero es mejor que ir poniendo ceros y unos. Los puntos, espacios, punto y coma y paréntesis sirven para delimitar exactamente lo que se quiere decir en la máquina, al igual que ocurre al escribir fórmulas matemáticas. Un ejemplo con coloreado de sintaxis:

Su estructura se encuentra dentro de párrafos especiales, en la que las líneas de órdenes que lo conforman se les conoce como “código fuente” (las entrañas de un programa). Para luego pasar a convertirlos en un programa de fácil ejecución, el código se “compila” lo que se traduce a un código máquina. Si no hay fallos (bugs), el programa abrirá normalmente.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 9

Page 10: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Así como los idiomas los lenguajes de programación tienen su léxico, sintaxis y normas de puntuación, las cuales irán variando de acuerdo a la complejidad del lenguaje. Unos lenguajes son más fáciles de leer que otros por lo que se les denomina “lenguaje de alto nivel” porque se aproximan al habla humana y el “lenguaje de bajo nivel” son nada más que los “robóticos”.

Las máquinas solo hablan con ceros y unos, un lenguaje que es incomprensible para un humano

Si lo que desea es imprimir una palabra en un lenguaje de alto nivel como BASIC, basta con escribir PRINT "Hola" (print, en inglés, quiere decir "imprimir"; la mayoría de lenguajes usan palabras en inglés). Pero ya en un lenguaje de nivel bajo, como el Ensamblador, las cosas son diferentes, veamos: SWI "OS_WriteS" EQUS "Hola" EQUB 0 ALIGN MOV PC,R14 Y porque hay quienes pueden preferir el Ensamblador frente a los demás lenguajes, es debido a una cuestión de rendimiento: ya que el código de bajo nivel se ejecuta más rápido y aprovecha más la maquina con las que está ligada, mientras que un lenguaje de alto nivel es más universal, como lo podemos ver en Java el cual se ejecuta en cualquier sistema.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 10

Page 11: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Existen cientos de lenguajes de programación y tal como ocurre con los idiomas, algunos de ellos tienen muy pocos hablantes. Existen aquellos que jamás han salido de las universidades y/o empresas donde se crearon y otros que por el contrario son más populares ya que se enseñan por doquier y cuentan con una gran cantidad de usuarios. Si lo que queremos es crear aplicaciones de escritorio, los lenguajes más populares son C/C ++, Java, Python, Visual Basic y Delphi. Esto debido a que su estilo es parecido, por lo que pasar de uno a otro requiere menos esfuerzo que pasar , por ejemplo, de Basic a Ensamblador. Sobre ellos existen un sinfín de libros, cursos y foros técnicos.

PODEMOS EMPEZAR. Uno de los objetivos que mucha gente se plantea es el de Programar pero que sin embargo no todos alcanzan. La programación no es algo sencillo el cual se puede aprender de un día para otro, requiere de más tiempo, podrían pasar meses y si se habla de la programación a nivel profesional podría tardar hasta años. No es nuestro afán desanimarlos,

veremos que en unos días desarrollaremos nuestros primeros programas pero solo reiteramos que aprender a programar es mucho más que eso. Nos enfocaremos de manera adecuada al amplio mundo de la programación. Como primer lugar diremos que “aprender a programar” es una expresión bastante indefinida. Existen cientos de lenguajes de programación y de variantes, versiones, modificaciones, etc. así como distintos enfoques en cuanto a los objetivos (programación web, aplicaciones de gestión, aplicaciones de bases de datos, etc.). Por tanto “aprender a programar” es bastante ambiguo: es como decir “quiero

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 11

Page 12: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

aprender a pintar”. Nos permitiría centrarnos mejor definir un objetivo más específico: “Quiero aprender a dibujar comics estilo manga”. La programación es un campo muy cambiante y esto a veces se convierte en un problema para los no iniciados, ya que existe una continua proliferación de versiones y pugnas entre casas comerciales que hacen que los lenguajes cambien muy rápidamente y nadie sepa muy bien qué es lo más conveniente aprender. Nuestro consejo frente a ello para aquellos que quieran empezar a programar, sabiendo o no hacia qué lenguaje se van a orientar, nuestra propuesta es que usen aprenderaprogramar.com como sitio de referencia a través del cual poder dar los primeros pasos en programación. Una vez adquiridos los fundamentos y sentadas las bases, será más fácil buscar información y elegir entre las distintas plataformas y lenguajes existentes. Veamos aquellas opciones que consideramos adecuadas y aquellas que no para personas que no tienen un conocimiento previo o que cuenten con ciertos conocimientos limitados. a) Estudiar con un libro ó con apuntes de forma autodidacta: no es una mala

opción para personas que quieran aprender por libre, siempre que se encuentre un buen libro y se tenga voluntad, base lógico-matemática y determinación para estudiar por cuenta propia durante un periodo de tiempo prolongado. En cualquier caso el libro debe tratar sobre fundamentos de la programación, con aplicación (para ver el lado práctico) a algún lenguaje. Si estás interesado en esta vía, te recomendamos visitar la sección “Libros” de aprenderaprogramar.com y ver los libros disponibles sobre fundamentos de programación.

b) Realizar un curso sobre fundamentos de programación: No es una mala opción para personas que quieran estudiar de forma guiada. Existe una amplia oferta de cursos impartidos de forma presencial (por universidades, academias, centros de formación especializada, etc.), semi-presencial u on-line (a través de internet). Es importante realizar una buena selección del curso: que cuente con unos buenos contenidos y materiales didácticos. Un curso “cualquiera” descargado por internet no nos garantiza ni unos buenos contenidos ni una buena didáctica, al contrario, puede suponer una pérdida de tiempo. La modalidad de curso más adecuada depende de cada uno de nosotros, y en especial el tiempo que tengamos disponible. Si disponemos de tiempo, la opción presencial puede ser la más adecuada, ya que nos permitirá estar en contacto con otros alumnos y poder resolver problemas en común, realizar consultas directas a los profesores, etc. Si nuestro tiempo es limitado, un curso semi-presencial u on-line puede ser lo más conveniente. Si estás interesado en

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 12

Page 13: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

esta vía, te recomendamos visitar la sección “Cursos” de aprenderaprogramar.com.

c) Realizar estudios oficiales en el área de informática. Programación: es quizás la mejor vía para aquellas personas que quieren dedicarse profesionalmente a la informática. Esto requiere normalmente una dedicación de varios años a tiempo completo, por lo que es una opción que descartan muchas personas que quieren aproximarse de una forma más libre a la programación o que ya tienen otros trabajos.

d) Programar directamente con un lenguaje o entorno (Java, Visual Basic,

C, .NET, J2EE, SQL, etc.) recurriendo a libros, cursos, páginas web especializadas, ayuda de los lenguajes, etc.: consideramos que es una mala opción. Antes de empezar a programar en un lenguaje debemos tener fundamentos de programación que nos servirán para todos los lenguajes, al igual que para construir una casa debemos tener antes cimientos que nos permitan continuar la construcción de forma sólida. Empezar a programar directamente en un lenguaje sin tener fundamentos de programación consideramos que llevará a que se requiera más tiempo y no se obtengan tan buenos resultados como si se empezara con fundamentos de programación.

e) Instruirse y aprender a programar apoyándonos en un sitio web de

confianza: algunos sitios web tienen buenos contenidos gratuitos o de pago para aprender a programar. Este es el caso de aprenderaprogramar.com, que pretende constituirse en una página de confianza para todas aquellas personas que quieran aprender a programar. Si eliges esta web como vía para tu aprendizaje de la programación y partes desde cero o de unos conocimientos muy básicos, te proponemos que aprendas a utilizar esta web para sacarle el máximo partido. Tendrás una magnífica herramienta a tu disposición y un proceso de aprendizaje guiado. Para aprovechar al máximo lo que te ofrecemos, merece la pena que dediques unos minutos a conocer cómo funciona y cómo se organiza aprenderaprogramar.com. Este sitio web se rige por unas pautas organizativas y didácticas, un funcionamiento editorial y unas codificaciones cuyo conocimiento te permitirán ir más rápido en tu aprendizaje. En caso de dudas, plantea tus consultas en los foros donde miembros del portal u otros usuarios te ayudarán a hacer más llevadero el aprendizaje de la programación.

f) Otras vías: aprender con un amigo, familiar, etc. no es una mala opción, siempre que esa persona tenga un buen nivel de conocimientos, capacidad didáctica y tiempo suficiente para dedicarnos.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 13

Page 14: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

1.2. ANALIZAR LA ESTRUCTURA LÓGICA DE LA COMPUTADORA. A la hora de encender la computadora el circuito de control llamado BIOS (Basic Input/Output System = sistema básico de entrada/salida), inicia una inspección del sistema a esta secuencia denominada en el argot computacional POST (POWER ON SELET TEST). El propósito de este proceso inicial es la de examinar y confirmar la existencia de un buen funcionamiento de algunos componentes vitales del computador. Estos son los componentes de vital importancia que son revisados: microprocesador, memorias RAM, BIOS, dispositivos básicos de comunicación como el teclado y la señal de video. Cuando alguno de estos está funcionado mal o está desconectado, el BIOS suele informar a través de señales escritas y audibles (pitidos del speaker), según su fabricante, para informar que existe una anomalía y por tanto tu PC no puede arrancar. Pasado el POST, el BIOS tiene como función la búsqueda de un sistema de control que debe cargar en la memoria. Este es el sistema operativo (Unix, Linux, Windows, unidades ópticas o CD-ROM, red, etc.). Si lo encuentra, lee sus instrucciones y deposita un conjunto básico de instrucciones en la memoria RAM para que el sistema operativo continuara con el control de la computadora. Todo el movimiento generado (transmisión y ordenamiento de datos) es dirigido por el cerebro del sistema, el microprocesador. Este a su vez utiliza toda la red de subalternos (otros chips) para ordenar la transmisión de señales que se necesitan para que tu PC funcione correctamente. Al final cuando un trabajo es aprobado por el operador de la computadora, se ordena al programa que guarde los datos en forma definitiva. El software es un término genérico utilizado para determinar el equipamiento lógico de un sistema informático que funciona en el interior de una computadora. En este caso posiblemente sea Windows es el sistema operativo o programa de funcionamiento que le da la vida a su computadora, es así como se puede observar esta información en la pantalla. El hardware es también un término genérico para todos los componentes físicos del computador. Este es el nivel más básico en el cual la computadora funciona. El punto dominante a recordar es que toda la información está procesada electrónicamente por el hardware. La PC está preparada como su computadora personal, aunque se abrevia (PC) y es a menudo asociada con la computadora con la cual funciona el sistema operativo de Windows.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 14

Page 15: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los ordenadores se encuentran compuestas por una serie d componentes electrónicos los cuales con responsables de su funcionamiento. Entre ellos tenemos: • Unidad central de procesos (CPU): es el componente principal del PC. Se

encarga de procesar las instrucciones y los datos con los que trabaja la computadora. El procesador es el dispositivo más importante y el que más influye en su velocidad al analizar información.

El procesador es un circuito integrado constituido por millones de componentes electrónicos integrados. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. En lo funcional es, primordialmente, el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC, siguiendo el modelo base de Von Neumann. También es el principal encargado de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

El procesador está constituido por registros, una unidad de control y una unidad aritmético lógica (ALU), sin embargo actualmente todo microprocesador también incluye una unidad de cálculo en coma flotante, (también conocida como "coprocesador matemático"), que permite operaciones por hardware con números decimales, elevando por ende notablemente la eficiencia que proporciona sólo la ALU con el cálculo indirecto a través de los clásicos números enteros.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 15

Page 16: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

• Memoria RAM o memoria principal: Random Access Memory (RAM) es la memoria de acceso aleatorio, en la que se guardan instrucciones y datos de los programas para que la CPU puede acceder a ellos directamente a través del bus de datos externo de alta velocidad. A la RAM se le conoce como memoria de lectura/escritura, para diferenciarla de la ROM. Es decir que en la RAM, la CPU puede escribir y leer. Por esto, la mayoría de los programas destinan parte de la RAM como espacio temporal para guardar datos, lo que permite reescribir. Como no retiene su contenido, al apagar la computadora es importante guardar la información. La cantidad de memoria RAM influye bastante en la velocidad de un PC. Entre más memoria RAM tenga, más rápido trabaja y más programas puede tener abiertos al mismo tiempo.

• Memoria ROM: es la memoria solo para lectura: Read Only lecture (ROM) es la parte del almacenamiento principal de la computadora que no pierde su contenido cuando se interrumpe la energía. Contiene programas esenciales del sistema que ni la computadora ni el usuario pueden borrar, como los que le permiten iniciar el funcionamiento cada vez que se enciende la computadora.

• Disco duro: es el dispositivo de almacenamiento secundario no volátil que usa varios discos rígidos cubiertos de un material magnéticamente sensible. Está alojado, junto con las cabezas de lectura, en un mecanismo sellado en forma hermética, en el que se guardan los programas y todos los archivos creados por el usuario cuando trabaja con esos programas. Entre más capacidad tenga un disco duro, más información y programas puede almacenar en el PC. La capacidad del disco duro se mide en gigabytes (GB). Un GB equivale a 1.024 megabytes (MB) aproximadamente. En el disco duro quedan guardados, entre otras cosas, todos los archivos creados por el usuario.

• Caché: es una unidad pequeña de memoria de acceso más rápido en la que se almacena información a la que se ha accedido recientemente o a la que se

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 16

Page 17: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

accede con frecuencia, lo que evita que el microprocesador tenga que recuperar esta información de circuitos de memoria más lentos. El caché suele estar ubicado en la tarjeta madre, pero a veces está integrado en el módulo del procesador. Su capacidad de almacenamiento de datos se mide en kilobytes (KB). Mientras más caché tenga la computadora es mejor, porque tendrá más instrucciones y datos disponibles en una memoria más veloz.

• Tarjeta madre: es la parte principal de un computador ya que nos sirve de alojamiento de los demás componentes permitiendo que estos interactúen entre sí, contiene el procesador o CPU, la memoria RAM, los chips de apoyo al microprocesador y las ranuras de expansión. Estas son las que permiten insertar, por ejemplo, la tarjeta de sonido (que permite al PC reproducir sonido), el módem interno (que hace posible navegar por Internet) o la tarjeta gráfica o de video (que permite mostrar imágenes en la pantalla).

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 17

Page 18: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

• CD-ROM - DVD-ROM - BLURAY: estos elementos nos servirán para leer los discos compactos, sean estos programas, música o material multimedia (sonidos, imágenes, textos), como las enciclopedias y los juegos electrónicos. La velocidad de esta unidad depende de dos factores: la tasa de transferencia de datos y el tiempo de acceso. El CD ROM lee la información contenida en los discos compactos. La tasa de transferencia de datos se refiere a la cantidad de datos que la unidad de CD ROM puede enviar al PC en un segundo. Esa tasa se mide en kilobytes por segundo (kbps) y se indica con un número al lado de un X, por ejemplo: 16X, 24X o 48X. Mientras más X, mayor velocidad. El tiempo de acceso se refiere a lo que tarda el proceso completo.

Cómo funciona un procesador . También conocido como microprocesador actúa como el principal componente de coordinación del equipo ya que es el circuito integrado central y más complejo de una computadora u ordenador; a modo de ilustración, se le suele asociar por analogía como el "cerebro" de una computadora.

Lógica de la computadora. Los ordenadores tipo digitales utilizan el sistema de números binarios, que tiene dos dígitos 0 y 1. Un dígito binario se denomina un bit. La información está representada en las computadoras digitales en grupos de bits. Utilizando diversas técnicas de codificación los grupos de bits pueden hacerse que representen no

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 18

Page 19: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

solamente números binarios sino también otros símbolos discretos cualesquiera, tales como dígitos decimales o letras de alfabeto. Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para realizar diversos tipos de cálculos. Esta información binaria se representa en un sistema digital por cantidades físicas denominadas señales, Las señales eléctricas tales como voltajes existen a través del sistema digital en cualquiera de dos valores reconocibles y representan una variable binaria igual a 1 o 0.

La lógica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lógico. La manipulación de información binaria se hace por circuitos lógicos que se denominan Compuertas. Estas compuertas son bloques del hardware que producen señales en binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica. Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad. A continuación se detallan los nombres, símbolos, gráficos, funciones algebraicas, y tablas de verdad de las compuertas más usadas. Sistema Binario: el lenguaje de las computadoras. Dentro del sistema del ordenador, se ven los circuitos electrónicos como parte principal. Todos los datos que recibe el ordenador son reducidos a interruptores eléctricos. Los interruptores pueden tener sólo uno de dos estados posibles: encendido o apagado. Así que sólo se cuenta con dos símbolos numéricos, 1 para “encendido” y O para “apagado”. Al contar con tan sólo dos símbolos numéricos, las computadoras funcionan internamente con el sistema binario que se compone de dos dígitos (0 y 1) para la representación de datos e instrucciones. Estos dos dígitos se implementan de

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 19

Page 20: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

forma electrónica mediante dos estados (apagado o encendido). Toda la información que entra a una computadora es convertida en estos números binarios.

Bit: Al referirse a datos de computadoras, cada interruptor que esté apagado (valor 0) o encendido (valor 1) es un bit. La palabra bit es la forma abreviada de binary digit (digito binario) y constituye la unidad de datos más pequeña posible.

Bytes: Para representar cualquier cosa significativa es necesario usar grupos de bits. El byte es una agrupación de ocho bits. En una computadora los bytes se utilizan para representar números, letras y caracteres especiales. Con un byte se tienen 256 combinaciones diferentes de ocho bits (combinaciones de ceros y unos). Esto permite representar todos los caracteres del teclado, incluyendo letras (mayúsculas y minúsculas), números, signos de puntuación y otros símbolos mediante alguna de estas combinaciones. Unidad de medida de capacidad de almacenamiento. La carga de almacenamiento primario de una computadora (y la de almacenamiento secundario también) usa como unidad de medida el byte, de manera similar a como el litro viene a representar la unidad de capacidad de un recipiente. En la siguiente tabla, se presenta la capacidad de memoria en los múltiplos más usados del byte y sus equivalencias. Tabla 1.- Capacidad de memoria en los múltiplos del byte

Un Kilobyte está constituido exactamente por 1.024 bytes aunque se suele aproximar a mil bytes. La misma consideración es válida para las demás medidas como se muestra en la tabla de los múltiplos del byte.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 20

Page 21: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Esquemas de codificación binaria.

Para representar caracteres como combinaciones de ceros (0) o unos (1) en la computadora, se hace uso de los denominados esquemas de codificación binaria. Los esquemas más conocidos utilizan ocho bits para formar cada byte. Estos esquemas son el ASCII y el EBCDIC. A diferencia de los anteriores el Unicode, que es un código más reciente, emplea dieciséis bits. Al oprimir una tecla del teclado, el carácter es convertido automáticamente en un conjunto de pulsos electrónicos. El CPU es capaz de reconocer estos pulsos. Al presionar la letra “C” de un teclado, por ejemplo, ésta se convierte en el código ASCII de 01000011.

ASCII El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente [áski], es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales EBCDIC EBCDIC = Extended Binary Coded Decimal Interchange Code EBCDIC es un código binario que representa caracteres alfanuméricos, controles y signos de puntuación. Cada carácter está compuesto por 8 bits = 1 byte, por eso EBCDIC define un total de 256 caracteres. UNICODE Unicode es un estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e idioma pueda ser codificado para el uso informático. El establecimiento de Unicode ha involucrado un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos multilingües.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 21

Page 22: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Bit de paridad. Un bit de paridad es un bit adicional que se añade automáticamente a un byte para efectos de detección de errores. Al teclear la letra “C”, por ejemplo, debería representarse en el CPU como 01000011. En general pueden suceder distorsiones que podrían causar un error e interpretar el último 1 como un 0. El byte sería leído debido al error como 01000010. El bit de paridad es una forma para poder determinar si se está recibiendo datos correctamente. Existen sistemas de paridad pares y sistemas de paridad impares. Cuando se emplea el sistema de paridad par, se fija el bit de paridad ya sea en 0 o 1 de modo que la cantidad de unos sea par. Para la letra “C” (01000011) en el ejemplo, se cuenta el número de unos determinando, que se trata de tres en este caso. Se agrega al principio un bit de paridad, que se fija en 1, para que el número de unos sea par. La señal enviada es 101000011. Cuando la señal es recibida por el CPU, se verifica el número de unos. Si no es par, ha ocurrido algún error. A esto es lo que se conoce como error de paridad. Entonces el CPU solicitará que la señal se reenvíe. Los sistemas de paridad impares funcionan exactamente al contrario de los sistemas de paridad de pares. Como es fácil imaginar, se coloca un cero o un uno para que el número de unos sea impar.

1.3. DEFINIR MÉTODOS DE PROGRAMACIÓN. Análisis y diseño de sistemas. Actualmente la gran mayoría de usuarios de microcomputadoras tienen acceso a un sistema de información o forman parte del mismo. Todas las organizaciones cuentan con un sistema de información de algún tipo, que sus empleados deben utilizar. Cuando en cualquier organización se desea implantar un nuevo sistema, de tal forma que sus miembros sean más productivos, obteniendo un mayor provecho y apoyo del mismo, se requiere realizar una serie de acciones y previsiones. La creación o establecimiento de un nuevo sistema de información en la organización, puede ser una tarea compleja. Para encarar este tipo de situaciones existe un proceso de análisis y diseño de sistemas que auxilia en la resolución de

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 22

Page 23: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

tales problemas. El análisis y diseño de sistemas proporciona una guía útil que busca disminuir las situaciones de fracaso o errores al acometer estos procesos. Razones para conocer el análisis y diseño de sistemas. Suele parecer que este tema está destinado solo a profesionales sin embargo cualquier persona que utilice una microcomputadora saldrá beneficiada ya que conocerá los detalles de este proceso. Ocurrir que, una vez contratado como miembro de una organización, se convierta en usuario de su sistema de información, entonces el conocimiento del análisis y diseño de sistemas, le permitirá aumentar su productividad personal, sirviéndole para resolver los problemas que surjan en su área de trabajo, determinando nuevos requerimientos de información y permitiéndole colaborar con los profesionales en informática en la resolución de tales situaciones.

Necesidad del análisis y diseño de sistemas. La inadecuada planeación en la instalación de un sistema puede conducir a grandes frustraciones y causar que el sistema sea subutilizado, o peor aún, deje de ser usado al no cumplir con las expectativas que le dieron origen. El análisis y diseño de sistemas es una guía que permite estructurar el proceso de desarrollo de sistemas de información. Tal proceso siempre representará un esfuerzo, inversión de tiempo y recursos por parte de la organización. Acometer tal esfuerzo de manera casual, presenta un alto grado de riesgo al no garantizar la culminación del proyecto con éxito. Este procedimiento permite reducir al mínimo el riesgo de fracaso de nuevos proyectos, pues es común que muchos errores surjan al utilizar nuevos sistemas de información, bien por no adaptarse correctamente a las necesidades reales o por desempeñarse de forma inadecuada.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 23

Page 24: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ciclo de vida del desarrollo de sistemas. Primero determinemos la definición exacta de un sistema; lo que se define como un conjunto de actividades y elementos organizados para alcanzar un fin. Un sistema de información se compone de elementos como hardware, software, personas, procedimientos y datos que interactúan unos con otros para generar la información primordial en el desempeño de la organización. Como sabemos la información es un recurso valioso que permite a una organización llevar a cabo la prestación de servicios o elaboración de productos. Es común que las organizaciones deban cambiar sus sistemas de información, motivado al crecimiento de la misma, cambio en regulaciones estatales, surgimiento de nueva tecnología, y otros. Es decir, siempre habrá factores que modifiquen el ambiente donde se desempeña la organización y ésta debe cambiar para afrontarlos, lo cual se verá reflejado en los sistemas que la conforman.

El análisis y diseño de sistemas es un procedimiento para la resolución de problemas. Cuando se trata del diseño de sistemas de información, busca

Analizar sistemáticamente la entrada o flujo de datos, la transformación de los datos, el almacenamiento de datos y la salida de información en el contexto de una organización particular. También es usado para analizar, diseñar e implementar mejoras que puedan incorporarse a la organización y puedan ser alcanzadas al usar un sistema de información computarizado.

Este procedimiento se lleva a cabo, en el llamado ciclo de vida de desarrollo de sistemas, el cual consta de seis pasos que permiten el diagnóstico y optimización de un sistema de información. Este ciclo puede repetirse indefinidamente, porque como ya se señaló, las organizaciones siempre se ven sometidas a cambios, y sus sistemas deben renovarse periódicamente. Los pasos del ciclo de vida de desarrollo son los que se encuentran en la imagen. Se suele llamar analistas de sistemas a quienes se encargan de realizar en las empresas, el proceso de análisis y diseño de sistemas, definiendo los lineamientos a seguir y la manera en que debe incorporarse la tecnología de la computación para adecuar y actualizar sus sistemas de información.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 24

Page 25: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los usuarios tienen un rol primario al momento de cambiar o desarrollar exitosamente un sistema de información, porque son quienes conocen los problemas de su área de trabajo, pudiendo suministrar información valiosa y atinada sobre las necesidades que debería resolver tal sistema. El desarrollo acertado de sistemas de información automatizados requiere del trabajo conjunto de usuarios finales y de los analistas de sistemas. Resumen del ciclo de vida de desarrollo de sistemas.

Ciclo de Vida de desarrollo de sistemas

Fase Tareas asociadas

1. Investigación Preliminar Definir el problema, sugerir alternativas y presentar un reporte breve.

2. Análisis Recopilar datos y analizarlo para documentar el resultado.

3. Diseño Diseñar alternativas, escoger la mejor alternativa para reportar el resultado.

4. Desarrollo Desarrollar o adquirir software, adquirir hardware para probar el sistema.

5. Implementación Instalación y capacitación de los usuarios.

6. Mantenimiento Auditar el nuevo sistema y evaluarlo periódicamente.

Cómo programar correctamente.

La información que encontramos en la red o en libros puede ser bastante útil. Un estilo de programación va a constar de una serie de reglas o definiciones que permitirán que el código de fuente de un programa o aplicación que realicemos sea comprensible y evite futuras confusiones. A pesar de que cada lenguaje de programación puede tener su propio estilo, hay algunas definiciones generales que se aplican a la mayoría, y esas son siempre muy esenciales para desarrollar un buen trabajo. El estilo de programación considera reglas de identación, formateado, estilo de variables, etc. El objetivo principal es establecer un “estilo estandarizado” que permita una fácil distribución o modificación posterior del código (source code).

Indentación y estética de los programas En la actualidad y con el desarrollo alcanzado en los lenguajes de programación, la indentación casi se ha vuelto instintiva. Existen muchos editores de

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 25

Page 26: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

programación tanto para el sistema operativo Windows como para Linux que mantienen un sangrado automático desde el mismo momento que se comienza a programar, e incluso utilizan diferentes tipos de colores para identificar y separar las estructuras de control, tanto secuenciales, condicionales o cíclicas. Ej. Notepad++ portable, Geany, sublimetext. Existen muchos, se recomienda usar los del entorno de software libre. 1. Reglas de identación para programar: A pesar de que en la mayoría de los

lenguajes de programación los espacios y saltos de línea no afectan el proceso de compilación, se hace más sencillo comprender y “estratificar” un código para poder notar en dónde realizar determinada modificación o cambio.

2. Espaciado: Tal como se mencionó en la indentación, un compilador no considera el espaciado para crear el programa; sin embargo, es recomendable aplicar espacios para mejorar la lectura.

3. Espaciado vs Tabulación: El espaciado es recomendado que se realice sin

usar la barra espaciadora, sino la barra de tabulación; con ello podemos obtener mejores resultados y un código más comprensible.

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

necesario regularizar sus variables. Obviamente no es obligatorio, pero como todo lo anterior, es muy aconsejado su uso.

- Variables normales: Variable de números, edades, fechas, objetos e instancias, nombres, etc; siempre con minúsculas.

- Métodos y funciones: Las subrutinas de un código se recomienda se identifiquen con minúsculas, pero en caso de encontrar varias palabras, los comienzos de las siguientes deberían ser con mayúsculas.

- Clases: Las clases se deben identificar con mayúsculas, mientras que sus objetos instanciadores (tal como se mencionó anteriormente), con minúsculas.

Notas importantes sobre las variables: a. Nunca es recomendado usar caracteres especiales en los nombres: CORRECTO: int anio; int cedula; INCORRECTO: int año; int cédula;

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 26

Page 27: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

b. Para identificar un espacio es bueno usar el caracter “_” en lugar de “-”: CORRECTO: String nombre_principal; INCORRECTO: String nombre-principal; Con estas buenas prácticas su código podrá quedar más limpio, ordenado y entendible.

Lo correcto ¡¡¡ INCORRECTO!!! void main(int argc, char *argv[]) { // Código indentado dentro de la función }

void main(int argc, char *argv[]) { // Código indentado dentro de la función }

if (condición) { // una instrucción indentada }

if (condición) // encierre esta instrucción sola en su bloque { }

if (condición) { // una instrucción indentada } else { // primera instrucción // segunda instrucción bien indentada // tercera instrucción }

if (condición) { // no use un renglón extra para la instrucción } else { // no ponga el "else" en el mismo renglón // segunda instrucción bien indentada }

while (condición) { // primera instrucción // segunda instrucción bien indentada }

while (condición) { // Debe indentar 4 espacios, ¡no 5 ni 3! // segunda instrucción mal indentada }

for (int i=1; i<=20; ++i) { // primera instrucción }

for(int i=1;i<=20;++i){//¡No sea necio! // ¡Debe usar espacios entre las palabras! }

NOTA: Programar un proyecto de gran envergadura no es una tarea fácil. Por esto, es de fundamental importancia seguir estos pasos para evitar errores de los cuales luego nos podamos arrepentir y que nos puede costar la reprogramación de todo el programa con su consecuente pérdida de tiempo adicional, sea cual sea el lenguaje de programación que vayamos a utilizar. Lo primero que debemos hacer es entender de arriba a abajo que es lo que debe hacer el programa. Nunca empieces a programar sin tener, como mínimo, una idea o visión global del problema. No es mala idea coger un papel y hacer un listado de todas las tareas que debe realizar y en caso de que surjan dudas, preguntarla antes de empezar a desarrollar. Una vez hemos entendido el problema, debemos hacer un análisis integro de este. Debemos coger un papel y representar en él la forma más óptima que se nos ocurra para resolver cada una de las tareas detectadas en el paso anterior.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 27

Page 28: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

do { // primera instrucción } while (condición);

do { // no use un renglón extra para la instrucción // faltó el ';' al final del "while" } while (condición)

switch (value) { case 'a': case 'b': // primera instrucción // segunda instrucción break; case 'c': // primera instrucción break; default: // primera instrucción break; }

switch (value) { case 'a': case 'b': // ahorre renglones // segunda instrucción bien indentada break; case 'c': { // sobra usar el bloque { } break; } default: // primera instrucción break; }

list::iterator it = L.begin(); for ( ; it != L.end(); ++it ) { int a = it->first; // alineación long b = it->second; // y espaciado c = ( ((long)(a) - b) / 2 ) >> 5; delta = b - c }

list::iterator it; for(it=L.begin(), it!=L.end();++it) { int a=it->first; // ¡ Horrible ! long b=it->second; // ¡ Todo pegado ! c=(long)(a)-b/2>>5; delta = b - c }

Ejemplo de código indentado:

1.4. CATALOGAR LA DISTRIBUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN.

La computadora solo entiende el lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. Los lenguajes más próximos a la arquitectura hardware se

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 28

Page 29: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel. Lenguajes de bajo nivel. Son aquellos que dependen totalmente de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran: El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina.

Este lenguaje es mucho más rápido que los lenguajes de alto nivel.

La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguajes de alto nivel. Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 29

Page 30: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN para trabajos científicos). Lenguajes de Medio nivel. Este término no es aceptado por todos ya que estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registro del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

Generaciones. Podemos dividir en 5 etapas o generaciones la evolución de los lenguajes de programación: Primera generación: lenguaje máquina. Segunda generación: se crearon los primeros lenguajes ensambladores. Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol. Cuarta generación: Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes… Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

NOTA: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 30

Page 31: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTO TEÓRICO: Definir los fundamentos de programación. La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. Este verbo tiene varios usos: se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores; y a la preparación de los datos necesarios para obtener una solución de un problema a través de una calculadora electrónica, por ejemplo. En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones informáticas y videojuegos; es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++, Java, Python, PHP, Power Builder, .NET, etc) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por un microprocesador.

Este último paso se conoce como compilación y es necesario para que el código pueda ser ejecutado por la plataforma para la cual haya sido creado, que puede ser un ordenador, una tableta, una consola o un teléfono móvil, por ejemplo. Existe también una forma de traducir el código denominada interpretación, que consiste en analizar línea a línea, hasta que se traduzca lo suficiente como para poder realizar una tarea. Cabe mencionar que los lenguajes de programación se dividen en dos grandes grupos, donde los que pueden ser compilados no pueden ser interpretados, y viceversa. Definición de Compilador. Cuando hablamos de programación, hemos mencionado que existen dos Códigos fundamentales a la hora de crear aplicaciones, programas o corregir errores presentes en dicha tarea, teniendo por un lado al Código Fuente, que es el que se encuentra en un Lenguaje de Programación entendible por los usuarios, y por otro lado el Código Objeto, que es la traducción del mismo para que todas las órdenes que han sido redactadas puedan ser “entendidas” por el dispositivo que las vaya a ejecutar.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 31

Page 32: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

La tarea de traducción de un Código Fuente, hacia el producto final que será el Código Objeto, está dada por la acción de Compilar, para lo cual se requiere de una aplicación que es conocida justamente como Compilador, el cual describiremos a continuación.

El compilador consiste en una aplicación que tiene funcion principal la Traducción del lenguaje específico de programación (también conocido como Lenguaje de Alto Nivel) hacia otro que es solamente comprensible por el equipo, que se encargará de interpretarlo llevándolo a un sistema binario que se basa en la transmisión o no-transmisión de energía eléctrica (Lenguaje de Bajo Nivel) La transformación se realiza del siguiente modo: el Compilador debe realizar un análisis de qué es lo que se ha escrito en el Lenguaje de Programación establecido, a través de tres criterios fundamentales, cuyo conjunto es conocido como Front End: Léxico: Que el lenguaje sea correctamente aplicado, con palabras preestablecidas por el mismo. Sintáctico: Que la programación esté ordenada, sin fallas en sus variables. Semántico: Criterio en el cual se verifica que el resultado de lo que ha sido Programado tiene una correlación con la orden que ha querido ser ejecutada. Realizado esto, comienza una etapa en la cual se sintetiza el Código Objeto, teniendo ésta tres pasos fundamentales, contando además con un asistente que nos informa de todos los Errores que hayan sido encontrados y que requieren una posterior enmienda, además de fallas en la traducción, teniendo este proceso el nombre de Back End: Código Intermedio: Se genera un Código Objeto preliminar en base al Lenguaje de Alto Nivel.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 32

Page 33: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Optimización: El código anteriormente creado en forma previa al resultado final es analizado y mejorado en pos de mayor rendimiento y menos errores. Generación: Finalmente, en esta etapa se da lugar a la creación de un Código Objeto. Realizado esto, se obtiene finalmente el Lenguaje de Bajo Nivel que será posteriormente interpretado por el ordenador y ejecutado por los distintos dispositivos del ordenador.

¿Cuál es la diferencia entre Intérprete y Compilador? Existen dos formas de ejecutar programas escritos en un lenguaje de alto nivel. El más común es compilar el programa y el otro método es pasar el programa a través de un intérprete. Tanto el intérprete como el compilador tienen como finalidad traducir las instrucciones recibidas a un lenguaje que el equipo pueda entender.

Las diferencias entre intérprete y compilador son: Un intérprete traduce instrucciones de alto nivel en una forma intermedia para ser ejecutado. En contraste, un compilador, traduce instrucciones de alto nivel directamente en lenguaje de máquina. El intérprete traduce un programa línea a línea mientras que el compilador traduce el programa entero y luego lo ejecuta. El intérprete detecta si el programa tiene errores y permite su depuración durante el proceso de ejecución, mientras que el compilador espera hasta terminar la compilación de todo el programa para generar un informe de errores. Un programa compilado es más seguro que uno interpretado, porque no contiene el código fuente, que puede ser modificado incorrectamente por el usuario.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 33

Page 34: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ambos, intérpretes y compiladores están disponibles en la mayoría de los lenguajes de alto nivel.

Definición de Código Fuente. El código fuente consiste en uno o más líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Regularmente el código fuente fue escrito utilizando alguna herramienta de programación. Cuando un desarrollador de software escribe un programa utilizando algún tipo de lenguaje de programación (Visual Basic, C++, etc.) El archivo o archivos que son escritos forman lo que se denomina programa origen o código fuente. Para ejecutar el programa, el código fuente debe ser traducirlo a lenguaje de máquina, para que computador lo pueda entender y así ejecutar la aplicación de acuerdo a las instrucciones recibidas.

Al comprar un sistema operativo o alguna aplicación de uso general como Microsoft Office, por lo general recibes una aplicación en forma de código objeto compilado, que solo permite ser ejecutado, no puede ser modificado porque el código fuente no está incluido. No obstante existen algunos proveedores de software que proporcionar el código fuente, pero no resulta muy útil si no eres programador y entiendes la lógica de desarrollo de software. Requerimientos personales para programar. El término personales la utilizamos con mucha cautela, debido a que la persona debe de contar con ciertas características y habilidades (natas y/o adquiridas) personales que ayudan mucho en el aprendizaje. Si bien el no tener alguna de

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 34

Page 35: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

estas puede que termine por no ser un impedimento si sirve de mucho tenerlas. Con ello nos referimos a los siguientes: Bastante Paciencia: A veces la programación puede llegar a ser muy frustrante y ante un problema por mínimo que sea nos quedamos por un buen rato en búsqueda de la solución de ello. Más adelante daremos algunos consejos sobre esto. Lo importante es tener paciencia y entender que siempre hay baches en el camino, por muy buenos que lleguemos a ser.

Perseverancia: Va ligado netamente al punto anterior. En la programación siempre hay que ser perseverante para poder lograr los objetivos que nos proponemos.

En muchas ocasiones nos encontraremos con distintos problemas que van desde: no saber cómo afrontar un problema, hasta bloqueos mentales o desconocimiento. Saldremos adelante solo siendo perseverantes y solo continuando cuando pensemos que ya debemos tirar la esponja. Estas últimas 2 cualidades es lo que separa a los buenos programadores de los malos. No los conocimientos de lenguajes, sino la paciencia y la perseverancia es lo que los llevará a ser buenos. Mirar las situaciones desde distintos puntos: Esto es muy útil y nos refleja a nosotros mismos de como enfrentamos la vida. Cuando se nos presenta una situación de cualquier tipo,

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 35

Page 36: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

mientras de más puntos o lados la miremos y obtengamos ciertas conclusiones, aumentamos más la posibilidad de encontrar una buena solución. Debemos siempre tener en cuenta que todas las personas piensan de distinta forma y por lo tanto todos pensamos distintas soluciones y más aún, distintas formas de implementar estas soluciones. Si bien es siempre bueno definir hacia nosotros mismos una metodología para resolver los problemas, es muy útil tener la habilidad de abstraerse y mirar la situación desde otro lado. En más de alguna ocasión con esto obtendremos mejores soluciones que las que habíamos pensado originalmente.

Pensar lógica y básicamente: Algunos informáticos definen las computadoras como tremendamente básicas y tontas". ¿Curioso, no? Es una tremenda verdad. Los computadores son máquinas tremendamente elementales desde un punto de vista que saben realizar solo un par de operaciones básicas como cargar, grabar o sumar.

Todo lo demás que pueden hacer es, o bien una combinación de esas operaciones, o el producto de otros programadores que han desarrollado aplicaciones que les permiten a estas máquinas realizar otros trabajos. ¿A qué vamos con esto?, a que siempre hay que tener presente lo básico de la forma de pensar de los computadores cuando programamos y por eso muchas veces debemos pensar igual de básico que ellos. Cuando necesitamos encontrar una solución, debemos enfrentar la situación como un computador lo haría sin saber otro tipo de informaciones que nosotros sabemos y debemos diseñar nuestras soluciones de la forma más básica para poder implementarlas. Ser estructurado: A pesar de que los programadores tienen la fama de ser medios "locos y volados" para encontrar solución a las respuestas, también son tremendamente estructurados. Y es que cuando pensemos una solución a implementar mediante programación, debemos pensarla estructurada de la forma: Bueno, para hacer esto, primero hay que hacer esto, luego esto, luego esto y finalmente esto. Ese orden y esa estructuración nos irán ayudando a no tener que volver sobre el mismo camino hecho para agregar cosas que deberían haber estado ahí.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 36

Page 37: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Conocimientos matemáticos: Si bien no es extremadamente necesario y no necesitamos ser unos magos de los números, ya que hoy con Internet tenemos acceso a la información de manera rápida y sencilla, si es bueno tener nociones matemáticas sobre operaciones, conocimientos algebraicos, geométricos ya que al programar utilizaremos uno o varios de estos conceptos en ocasiones.

Ser curioso y tener disposición a resolver problemas: La programación nos presenta problemas, problemas y más problemas. Por eso es bueno tener curiosidad de cómo resolverlos de distintas formas y siempre tener la disposición a encontrar soluciones, en especial la más adecuada. Es nuestra curiosidad y nuestro espíritu de superación lo que eventualmente nos irá convirtiendo en mejores programadores.

Es por esto que en las carreras relacionadas con el área de la computación e informática, previo a la programación siempre nos pasan (muchas veces odiándolo y sin entender bien porque) Cálculo y Álgebra. El primero nos enseña a expandir la mente y mirar los problemas desde distintos puntos y el segundo nos enseña a establecer una estructura de pensamiento. Así que a comenzar a darle la importancia debida a las funciones, sistemas de ecuaciones y gráficos.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 37

Page 38: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Y finalmente un detalle a siempre tener en consideración: En la programación, siempre hay más de una forma de resolver los problemas.

Analizar la estructura lógica de la computadora. ¿QUÉ ES UNA COMPUTADORA? Una computadora es una máquina electrónica que recibe y procesa datos para convertirlos en información útil para obtener resultados. Los datos y la información se pueden introducir en la computadora por la entrada (input) y a continuación se procesan para producir una salida (output, resultados). Tal como lo mencionado anteriormente la computadora se puede considerar como una unidad en la que se ponen ciertos datos, entrada de datos, procesa estos datos y produce unos datos de salida. Los datos de entrada y los datos de salida pueden ser realmente cualquier cosa, texto, dibujos o sonido. El sistema más sencillo de comunicarse una persona con la computadora es esencialmente mediante un ratón (mouse), un teclado y una pantalla (monitor).

Hoy día existen otros dispositivos muy populares tales como escáneres, micrófonos, altavoces, cámaras de vídeo, cámaras digitales, etc.; de igual manera, mediante módems, es posible conectar su computadora con otras computadoras a través de redes, siendo la más importante, la red Internet.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 38

Page 39: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Lógica de la computadora. Está basado en el álgebra booleana y sistema de numeración en base dos (sistema binario). Toda la información se representa en forma binaria mediante el uso de los dígitos 0 (cero) y 1 (uno). En un circuito digital, en un instante dado la presencia de un pulso eléctrico (bits o dígitos) representa el primer dígito del sistema binario. A la inversa, la ausencia de un impulso eléctrico representa el número 0.

Los impulsos eléctricos se llaman bits. Una vez que la información traducida en bits, éstos son procesados por circuitos lógicos (puertas lógicas), capaces de asociar un impulso de salida dada a los pulsos eléctricos en la entrada. Las puertas lógicas son circuitos eléctricos integrados de interruptores (switches) en serie o en paralelo. Cada puerta lógica lleva a cabo una función simple álgebra en particular Boolean (NOT, AND, OR, NAND, XOR, etc.)... Por ejemplo, el siguiente circuito eléctrico permite realizar la función del operador O:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 39

Page 40: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los circuitos Lógicos combinatorios son el resultado de una mezcla de puertas de puertas lógicas, que servirá para llevar a cabo las funciones y también cálculos más complejos. A partir de una tabla de verdad, las puertas lógicas se combinan entre sí en un circuito eléctrico (operación de conmutación de circuitos) para lograr el mismo resultado con los impulsos eléctricos. Estos circuitos pueden ir también acompañados de elementos de memoria para registrar los impulsos eléctricos que se pasan durante el proceso de cálculo. En la presencia de elementos del circuito lógico de la memoria se dice circuito secuencial (circuito de conmutación secuencial). La combinación de los circuitos eléctricos determina los circuitos integrados de la ciencia electrónica / computación que se basa en la lógica de la computadora. Lenguaje Binario en Informática. Los inicios de la computación datan de los años de evolución y desarrollo. La base de la comunicación entre distintos dispositivos fue prácticamente desarrollada a partir del pensamiento de Gottfried Wilhelm Leibniz (1646-1716) y George Boole (1815-1864) que descubrió los operadores lógicos.

Siendo el operador más sencillo de comprender y el que se tomará por ejemplo será el operador Not. Este, recibe generalmente el nombre de negación, porque entrega el valor contrario al que recibe por su entrada. Si en su entrada hay un uno, en su salida habrá un cero y si hay un cero en su entrada, su salida tendrá un uno, es decir entrega el valor contrario al que recibe. En electrónica digital a un operador lógico se lo conoce como una “compuerta lógica”.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 40

Page 41: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

El sistema binario es un sistema de numeración en el que los números se representan utilizando las cifras cero y uno, esto es informática tiene mucha importancia ya que las computadoras trabajan internamente con 2 niveles de voltaje lo que hace que su sistema de numeración natural sea binario, por ejemplo 1 para encendido y 0 para apagado.

Las personas dedicadas a la informática necesitan tener la habilidad con este tipo de numeración. A continuación explicaremos como se utiliza y en que consiste el sistema binario. En el sistema binario, tan sólo existen dos dígitos, el cero y el uno. Por lo que se le denomina sistema en base dos, en el que 2 es el peso relativo de cada cifra respecto de la que se encuentra a la derecha. Es decir: An, An-1, ….., A5, A4, A3, A2, A1, A0 El subíndice n indica el peso relativo (2n) La forma de contar es análoga a todos los sistemas de numeración, incluido el nuestro, se van generando números con la combinación progresiva de todos los dígitos. En base 10 (sistema decimal), cuando llegamos al 9, seguimos con una cifra más, pero comenzando desde el principio: 9,10,11… en binario sería: 0, 1 (cero y uno) 10, 11 (dos y tres) 100, 101, 110, 111 (cuatro, cinco, seis y siete) 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (del ocho al quince) 10000, 10001, 10010, 10011, 10100…. NOTA:

TARJETAS PERFORADAS.

Las tarjetas perforadas fueron usadas por primera vez alrededor de 1725 por Basile Bouchon y Jean-Baptiste Falcon como una forma más robusta de los rollos de papel perforados usados en ese entonces para controlar telares textiles en Francia. Esta técnica fue enormemente mejorada por Joseph Marie Jacquard en su telar de Jacquard en 1801. Charles Babbage lanzó la idea del uso de las tarjetas perforadas como un modo de controlar una calculadora mecánica que él mismo diseñó. Herman Hollerith desarrolló la tecnología de procesamiento de

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 41

Page 42: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

tarjetas perforadas de datos para el censo de los Estados Unidos de América de 1890 y fundó la compañía Tabulating Machine Company (1896) la cual fue una de las tres compañías que se unieron para formar la Computing Tabulating Recording Corporation (CTR), luego renombrada IBM. IBM manufacturó y comercializó una variedad de unidades máquinas de registro para crear, ordenar, y tabular tarjetas perforadas, aún luego de expandirse en las computadoras sobre el final de la década del 50. IBM desarrolló la tecnología de la tarjeta perforada como una herramienta poderosa para el procesamiento de datos empresariales y produjo una línea extensiva de unidades máquinas de registro de propósito general.

Para el año 1950, las tarjetas IBM y las unidades máquinas de registro IBM se habían vuelto indispensables en la industria y el gobierno. "Do not fold, spindle or mutilate" ("No doblar, enrollar o mutilar") es una versión generalizada de la advertencia que aparecía en algunas tarjetas perforadas, que se convirtió en un lema en la era de la post-Segunda Guerra Mundial (aunque mucha gente no tenía idea de lo que significaba spindle).

Desde el 1900 hasta la década del 50 y las tarjetas perforadas fueron el primer medio para el ingreso y almacenamiento de datos, y el procesamiento en computación institucional y según los archivos de IBM: "Por 1937 [...] IBM tenía 32 prensas trabajando en Endicott, N.Y., imprimiendo, cortando y apilando de 5 a 10 millones de tarjetas perforadas

cada día".[1] Las tarjetas perforadas eran usadas incluso como documentos legales, así como cheques y bonos de ahorro del gobierno de los Estados Unidos de América. Durante la década del 60, las tarjetas perforadas fueron gradualmente reemplazadas como primera medida por almacenamiento de datos en cintas magnéticas, mientras computadoras mejores y más capaces se hicieron disponibles. Las tarjetas perforadas fueron todavía comúnmente usadas para ingreso de datos y programación hasta mediados de la década del 70, cuando la combinación de almacenamiento de discos magnéticos de más bajo costo y

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 42

Page 43: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

terminales interactivas asequibles sobre minicomputadoras más baratas hizo obsoletas a las tarjetas perforadas también para este rol.

Observación:

En la tarjeta perforada solo había dos estados: “agujereado” o “liso”, en el binario ocurre lo mismo, la diferencia es que ahora en vez de usar una plantilla de madera o metal perforada, usamos cables (o líneas de conducción) y lo que sería “agujereado” o “liso” ahora es un “uno” o “cero” representado por una variaciones de la tensión transportada en los cables o líneas conductoras según corresponda.

¿Cómo desarrollar la programación? Para llevar a cabo el desarrollo de la programación debemos hacer un conjunto o sistema de métodos, principios y reglas que permiten enfrentar de manera sistemática la resolución de un problema algorítmico. Estas metodologías generalmente se estructuran como una secuencia de pasos que parten de la definición del problema y culminan con un programa que lo resuelve.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 43

Page 44: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pasamos a presentar de manera general los pasos de una metodología: El Diálogo

La Especificación

Diseño

Codificación

Prueba y Verificación

Con la cual se busca comprender totalmente el problema a resolver.

Con la cual se establece de manera precisa las entradas, salidas y las condiciones que deben cumplir.

En esta etapa se construye un algoritmo que cumpla con la especificación.

Se traduce el algoritmo a un lenguaje de programación.

Se realizan pruebas del programa implementado para determinar su validez en la resolución del problema.

1. DIÁLOGO. En el primer paso en el proceso de solución a un problema se debe determinar de manera clara y concisa la siguiente información: 1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocidos. 2. Las condiciones, aquellas relaciones establecidas entre los objetos conocidos y los desconocidos. Para esto se deben encontrar entre otras, la dependencia entre los valores de los objetos desconocidos de los valores de los objetos conocidos y que restricciones le impone el planteamiento del problema a dichos objetos.

3. Los valores posibles que pueden tomar los objetos desconocidos. Ejemplo. Sean los puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar un segmento de recta perpendicular a la anterior que pase por el punto medio de los puntos dados. OBJETOS DESCONOCIDOS Un segmento de recta.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 44

Page 45: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OBJETOS CONOCIDOS Los puntos P y Q. CONDICIONES El segmento de recta debe pasar por el punto medio entre P y Q, y debe ser perpendicular a la recta trazada entre P y Q. 2. ESPECIFICACIÓN DE ALGORITMOS. Una vez que tengamos en claro el problema a resolver (lo cual se consigue con la etapa del diálogo), se debe realizar una especificación del algoritmo que permite encontrar su solución. Un algoritmo que no esté claramente especificado puede ser interpretado de diferentes maneras y al diseñarlo se puede terminar con un algoritmo que no sirve para solucionar el problema. La especificación de un algoritmo se hace mediante una descripción clara y precisa de: 1. Las entradas que el algoritmo recibirá. 2. Las salidas que el algoritmo proporcionará. 3. La dependencia que mantendrán las salidas obtenidas con las entradas recibidas. Esta descripción puede ser presentada mediante un diagrama de caja negra como el de la siguiente figura:

PASOS PARA LA ESPECIFICACIÓN DE ALGORITMOS. • Especificar Entradas. Las entradas corresponden a los objetos conocidos. Se

debe indicar claramente la descripción, cantidad y tipo de las mismas. • Especificar Salidas. Las salidas corresponden a los objetos desconocidos del

problema. Se debe indicar claramente la cantidad, descripción y tipo de las mismas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 45

Page 46: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

• Especificar Condiciones. Se describe claramente como dependen las salidas de las entradas, se puede usar lenguaje matemático o informal.

EJEMPLOS DE ESPECIFICACIÓN. PROBLEMA 1: Construir un algoritmo que calcule el promedio de 4 notas. Entradas: N1,N2,N3,N4 (notas parciales) de tipo Real. SALIDAS: Final (nota final) de tipo Real. CONDICIONES: 3. DISEÑO ESTRUCTURADO DE ALGORITMOS. La fase de diseño del algoritmo, es decir, la fase en la que se construye el algoritmo que permitirá encontrar la solución al problema, está dividida en dos pasos importantes:

División: En el que a partir de la especificación del algoritmo se divide el proceso (algoritmo en abstracto) en varios subprocesos hasta llegar al nivel de instrucción. Consiste en subdividir de manera sistemática el proceso en una colección de pasos más pequeños. Está subdivisión se realiza de manera repetida hasta llegar al nivel de instrucción. Abstracción: En el que se revisa que porciones del algoritmo se repiten o son muy utilizadas y con las cuales se construyen funciones y/o procedimientos. DEFINICIÓN DE ABSTRACCIONES. Identificar que secuencias de pasos se utilizan más de una vez en diferentes

partes del proceso.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 46

Page 47: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Recolectar estas secuencias de pasos en funciones y procedimientos según sea el caso.

Documentar cada función y procedimiento especificando claramente: El propósito de la función (o procedimiento). El nombre, tipo y propósito de cada argumento. El resultado (o efectos laterales).

4. CODIFICACIÓN. Una vez que hemos diseñado completamente el algoritmo y se tiene escrito en algún esquema de representación (pseudo-código o diagrama de flujo), el siguiente paso es codificarlo en el lenguaje de programación definido para tal fin.

En este momento es cuando el programador interactúa con el computador mediante la herramienta de software que disponga para codificar en el lenguaje seleccionado.

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

Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 47

Page 48: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Catalogar la distribución de los lenguajes de programación. Un lenguaje de programación es un lenguaje inventado para controlar una máquina, (normalmente, un ordenador). Hay muchísimos, de toda clase de tipos y características, inventados para facilitar el abordaje de distintos problemas, el mantenimiento del software, su reutilización, mejorar la productividad, etc.

Los lenguajes de programación se pueden clasificar según varios criterios. He encontrado doce en total: Nivel de abstracción, propósito, evolución histórica, manera de ejecutarse, manera de abordar la tarea a realizar, paradigma de programación, lugar de ejecución, concurrencia, interactividad, realización visual, determinismo y productividad. Hay que tener en cuenta también, que en la práctica, la mayoría de lenguajes no pueden ser puramente clasificados en una categoría, pues surgen incorporando ideas de otros lenguajes y de otras filosofías de programación, pero no importa al establecer las clasificaciones, pues el auténtico objetivo de las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que hay.

1. Nivel de abstracción. El nivel de abstracción se refiere al grado de cercanía a la máquina:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 48

Page 49: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Lenguajes de bajo nivel: La programación se realiza teniendo muy en cuenta las características del procesador. Ejemplo: Lenguajes ensamblador.

Lenguajes de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits, tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc.

Lenguajes de alto nivel: Más parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc., de una manera cercana al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la máquina. Ejemplos: Java, Ruby.

Hay quien sólo considera lenguajes de bajo nivel y de alto nivel, (en ese caso, C es considerado de alto nivel). 2. Propósito. Según el propósito, es decir, el tipo de problemas a tratar con ellos: Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C. Lenguajes de propósito específico: Hechos para un objetivo muy concreto.

Ejemplo: Csound (para crear ficheros de audio). Lenguajes de programación de sistemas: Diseñados para realizar sistemas

operativos o drivers. Ejemplo: C. Lenguajes de script: Para realizar tareas varias de control y auxiliares.

Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (“Job Control Languages”). Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programación web).

3. Evolución histórica. Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en la práctica, los de una generación no terminan de sustituir a los de la anterior: Lenguajes de primera generación (1GL): Código máquina. Lenguajes de segunda generación (2GL): Lenguajes ensamblador. Lenguajes de tercera generación (3GL): La mayoría de los lenguajes modernos,

diseñados para facilitar la programación a los humanos. Ejemplos: C, Java. Lenguajes de cuarta generación (4GL): Diseñados con un propósito concreto, o

sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Mathematica.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 49

Page 50: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Lenguajes de quinta generación (5GL): La intención es que el programador establezca el qué problema ha de ser resuelto y las condiciones a reunir, y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.

4. Manera de ejecutarse. Según la manera de ejecutarse: Lenguajes compilados: Un programa traductor traduce el código del programa

(código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Ejemplo: C.

Lenguajes interpretados: Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp.

También los hay mixtos, como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan todos instalados la misma “máquina virtual” Java.

5. Manera de abordar la tarea a realizar. Según la manera de abordar la tarea a realizar, pueden ser: Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresan

los pasos a realizar. Ejemplo: C. Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog.

Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de programación, son HTML (para describir páginas web) o SQL (para consultar bases de datos).

6. Paradigma de programación. El paradigma de programación es el estilo de programación empleado. Algunos lenguajes soportan varios paradigmas, y otros sólo uno. Se puede decir que históricamente han ido apareciendo para facilitar la tarea de programar según el tipo de problema a abordar, o para facilitar el mantenimiento del software, o por otra cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de su procesador correspondiente. Los principales son:

Lenguajes de programación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas (subrutinas, funciones,

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 50

Page 51: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal.

Lenguajes de programación orientada a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones y se comunican con otros objetos. Ejemplos: C++, Java.

Lenguajes de programación funcional: La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp.

Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. Ejemplo: Prolog.

Hay muchos paradigmas de programación: Programación genérica, programación reflexiva, programación orientada a procesos, etc.

7. Lugar de ejecución. En sistemas distribuidos, según dónde se ejecute: Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el más

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

navegadores web. 8. Concurrencia. Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa: Lenguajes concurrentes. Ejemplo: Ada. Lenguajes no concurrentes. Ejemplo: C. 9. Interactividad. Según la interactividad del programa con el usuario u otros programas: Lenguajes orientados a sucesos: El flujo del programa es controlado por la

interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes de programación declarativos.

Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.). Ejemplos: Lenguajes de programación imperativos.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 51

Page 52: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

10. Realización visual. Según la realización visual o no del programa: Lenguajes de programación visual: El programa se realiza moviendo bloques de

construcción de programas (objetos visuales) en un interfaz adecuado para ello. No confundir con entornos de programación visual, como Microsoft Visual Studio y sus lenguajes de programación textuales (como Visual C#). Ejemplo: Mindscript.

Lenguajes de programación textual: El código del programa se realiza escribiéndolo. Ejemplos: C, Java, Lisp.

11. Determinismo. Según se pueda predecir o no el siguiente estado del programa a partir del estado actual: Lenguajes deterministas. Ejemplos: Todos los anteriores. Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes

espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt (generador de texto aleatorio).

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

Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby, …).

Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis programadores. A veces exploran nuevas ideas en programación. Ejemplo: Brainfuck.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 52

Page 53: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

1. ¿Cuáles son los requisitos para ser un buen programador? 2. ¿En qué consiste el lenguaje binario? – Haga un ejemplo. 3. ¿Qué lenguajes de programación conoce y a que categoría pertenecen? 4. Explique que es un compilador y para qué sirve. 5. ¿Qué es el código fuente de un sistema?

Ejercicios y tareas de investigación

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 53

Page 54: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

II. UTILIZAR LA LOGICA DE LA PROGRAMACIÓN. En esta tarea trataremos las siguientes operaciones: Equipos y Materiales: Computadora con microprocesadores core 2 Duo o de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Utilizar algoritmos para la solución de problemas. • Elaborar Pseudocódigos. • Definir Diagramas de Flujo.

Utilizar algoritmos para la solución de problemas. Elaborar Pseudocódigos. Definir Diagramas de Flujo.

02

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 54

Page 55: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIONES.

2.1. DEFINIR EL CONCEPTO DE UN ALGORITMO. DEFINICIÓN: Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite realizar una actividad o dar solución a un problema. CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos: • Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una

computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.

• Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.

• Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.

• Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

Diagramación libre (Diagramas de flujo). Diagramas Nassi-Shneiderman.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 55

Page 56: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pseudocódigo. Lenguaje natural (español, inglés, etc.). Fórmulas matemáticas.

SÍMBOLOS O FIGURAS DEL DIAGRAMA DE FLUJO Y SU SIGNIFICADO.

(También conocido como formas de diagrama de flujo, símbolos Mapa de Procesos de Negocio)

Símbolo Símbolo Nombre (Alias)

Símbolo Descripción

Proceso / Símbolos Operación

Proceso Mostrar un proceso o paso de acción. Este es el símbolo más común en los diagramas de flujo de procesos y mapas de procesos de negocio.

Proceso predefinido (Subrutina)

Un símbolo predefinidos proceso es un marcador de otra etapa del proceso o una serie de medidas de flujo del proceso que están formalmente definidos en otros lugares. Esta forma normalmente representa subprocesos (o subrutinas en diagramas de flujo de programación). Si el sub-proceso que se considera "conocida", pero en realidad no se define en un procedimiento de proceso, instrucciones de trabajo, o algún otro proceso de diagrama de flujo o la documentación, entonces es mejor no utilizar este símbolo, ya que implica un proceso definido formalmente.

Suplente Proceso Como su nombre lo sugiere la forma, este símbolo de diagrama de flujo se utiliza cuando el paso de flujo del proceso es una alternativa a la etapa del proceso normal. líneas de flujo en un paso de flujo de procesos alternativos son generalmente discontinuas.

Retraso El símbolo de diagrama de flujo de retardo representa un período de espera que es parte de un proceso. Hay un atraso de las formas comunes de mapeo de procesos.

Preparación Como dice el nombre, cualquier paso del proceso que es un proceso de preparación de caudal, como una puesta a punto la operación.

Manual de Operación

Manual de las formas de diagrama de flujo de operaciones que se muestran los pasos del proceso no están automatizados. En los diagramas de flujo de proceso de datos, esta forma de flujo de datos indica una operación de bucle junto con un símbolo de límite de bucle (que no es compatible con Microsoft Office, sino un símbolo Manual de Operación de girar 180 °

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 56

Page 57: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

hará el truco.) y Control de ramificación de los símbolos de flujo

Flow Line (Flecha, conector)

Conectores de flujo línea de mostrar la dirección que el proceso de los flujos.

Terminator (Terminal Punto de óvalo)

Terminators mostrar los puntos de inicio y fin de un proceso. Cuando se utiliza como un símbolo en Inicio, terminadores representan un grupo de disparo, que establece el flujo de proceso en marcha.

Decisión Indica una pregunta o una sucursal en el flujo del proceso. Por lo general, una forma de diagrama de flujo Decisión se utiliza cuando hay dos opciones (Sí / No, No / No-Go, etc)

Conector (Inspección)

Diagrama de flujo: En los diagramas de flujo, este símbolo suele ser pequeño y se utiliza como un conector para mostrar un aumento de un punto en el flujo de proceso a otro. Los conectores son usualmente marcadas con letras mayúsculas (A, B, AA) para mostrar los puntos de coincidencia salto. Son útiles para evitar el flujo de las líneas que se cruzan otras formas y líneas de flujo. Ellos también son útiles para el salto y de un sub-procesos definidos en la zona para que el diagrama de flujo principal. Proceso de Asignación: En los mapas de procesos, este símbolo es de tamaño completo y muestra un punto de inspección en el flujo del proceso. [Sólo para confundir más las cosas, algunas personas utilizan un círculo para indicar una operación y un cuadrado para indicar una inspección. Es por eso que es importante incluir una clave de símbolo en el diagrama de flujo.]

Conector fuera de página

Fuera de la página Conector muestra la continuación de un organigrama de proceso en otra página. Cuando se utilizan en combinación con conectores, lo mejor es para diferenciar las etiquetas, por ejemplo, números de uso para Off-Page Conectores y letras mayúsculas para conectores. En la práctica, la mayoría de los diagramas de flujo sólo tiene que utilizar la forma de conectar dos referencias en la página y fuera de la página.

Combinación (Almacenamiento)

Diagrama de flujo: Muestra la fusión de varios procesos y la información en una sola. Proceso de asignación: por lo general indica que el almacenamiento de materias primas.

Extracto (medición) Diagrama de flujo: Aparece cuando un proceso se divide en caminos paralelos. También indica una frecuencia de medición, con "M" mayúscula dentro del

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 57

Page 58: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

símbolo. Proceso de asignación: por lo general indica que el almacenamiento de productos terminados.

O La muestra o símbolo lógico cuando un proceso se aparta - por lo general durante más de dos ramas. Cuando se utiliza este símbolo, es importante etiquetar las líneas de flujo saliente para indicar los criterios a seguir cada rama.

En resumen la salida

La lógica Resumiendo forma de diagrama de flujo de conexiones se muestra cuando convergen varias ramas en un solo proceso. El símbolo de combinación es más común para este uso, sin embargo.Este símbolo y el símbolo O son realmente más relevantes en el procesamiento de datos de diagramas de flujo que en los diagramas de flujo del proceso.

Entrada y símbolos de salida

Datos (E / S)

La forma de diagrama de flujo de datos indica que las entradas y salidas de un proceso. Como tal, la forma es más a menudo se conoce como E / S que forma una forma de datos.

Documento Muy explica por sí mismo - el símbolo de diagrama de flujo de documentos es para una fase del proceso que produce un documento.

Multi-Documento Igual que el documento, excepto, bueno, varios documentos. Esta forma no es tan de uso general como la forma de diagrama de flujo de documentos, incluso cuando están implicados varios documentos.

Mostrar Indica una etapa del proceso donde la información se muestra a una persona (por ejemplo, los usuarios de PC, operador de la máquina).

Manual de Entrada Manual de las formas de diagrama de flujo de entrada muestra los pasos del proceso donde se le pide al operador / usuario para obtener información que deben introducir manualmente en un sistema.

Tarjeta Esta es la compañía de las formas de diagrama de flujo de cinta perforada. Esta forma se utiliza raramente.

Perforadas de cinta Si eres muy bueno en todos los estiramientos de la vida de una máquina, usted todavía puede tener el uso del símbolo de cintas perforadas - se usa para la entrada en ordenadores antiguos y máquinas CNC.

Archivo y Almacenamiento de símbolos de información

Los datos almacenados

Un general de almacenamiento de datos forma de diagrama de flujo utilizado para cualquier etapa del proceso que almacena los datos (a diferencia de las formas más específicas a seguir al lado de este cuadro).

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 58

Page 59: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Disco magnético (base de datos)

El símbolo más universalmente reconocibles para una ubicación de almacenamiento de datos, esta forma de diagrama de flujo representa una base de datos.

Almacenamiento de acceso directo

Direct Access Storage es una manera elegante de decir unidad de disco duro.

De almacenamiento interno

Se utiliza en los diagramas de flujo de programación en el sentido de la información almacenada en la memoria, en lugar de en un archivo.

De almacenamiento de acceso secuencial (Cinta magnética)

A pesar de que parece una "Q", el símbolo se supone que se vea como un rollo de cinta.

Símbolos de datos de procesamiento

Cotejar La forma de diagrama de flujo Intercalar indica una fase del proceso que requiere la organización de los datos, información o materiales de acuerdo a un formato estándar o el arreglo.

Ordenar Indica la clasificación de datos, información, materiales en un orden pre-definido.

Cuando diseñemos un algoritmo se debe tener presente las características de precisión, definición y finitud. Veamos cuales son estas características en el siguiente ejemplo: Ejemplo: Algoritmo para hacer una torta Entrada: Harina de trigo, mantequilla, huevos, sal, azúcar Proceso: 1.- Unir la mantequilla con el azúcar 2.- Batir hasta lograr consistencia cremosa 3.- Agregar harina de trigo, huevos, sal y azúcar 4.- Batir hasta que esponje 5.- Precalentar el horno, en 250 °, y enmantequillar tortera 6.- Una vez logre la consistencia de esponjado, colocar en la tortera 7.- Introducir en el horno por espacio de 45 minutos

Salida: Torta

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 59

Page 60: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada, Proceso y Salida. Según el ejercicio anterior, se puede determinar que el algoritmo para hacer torta, cumple con las características fundamentales de los algoritmos. Es decir, ¿Es preciso?, ¿Es definido?, ¿Es finito?, razona tus respuestas. 2.2. UTILIZAR ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS. Ejemplos de algoritmos de estudio. Pasos para lograr una carrera universitaria: Primero deberás realizar lo siguiente: A la edad de 3 años iniciar el preescolar y concluirlo, a los 6 años iniciarás el nivel primaria que durará 6 años, del cual egresarás a la edad 12 años, por lo que posteriormente deberás matricularte en el nivel secundaria y ahí durarás 5 años, y posteriormente la universidad en la cual estudiarás durante 5 años más, para que en los últimos años identifiques con cuál carrera universitaria te identificas y será tu preparación ser un futuro profesionista. Ejemplos de algoritmos matemáticos. Pasos para realizar la suma de dígitos y obtener el total. Se tiene que hacer el siguiente algoritmo: Tener 1 dígito más (+) otro dígito y obtener el total (=). 250 + 250 = 500 De esa forma se sigue un algoritmo sumatoria para lograr el resultado. Ejemplos de algoritmos de uso de computadora. Ejemplos de algoritmos variados.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 60

Page 61: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pasos para manejar o usar una computadora. Se tiene que encender previamente conectando el cable en el enchufe. Oprimir el botón de la pc, de encendido. Oprimir el botón de encendido del monitor. Esperar que inicie el sistema operativo Windows. Tener ya conectado el teclado y el mouse. Y listo para iniciar a trabajar en su computadora o navegar por internet Pasos para desarrollar el algoritmo para lavarse las manos INICIO Abrir el grifo de agua. Mojarse las manos. Aplicarse jabón. Enjuagarse las manos. Cerrar el grifo de agua. Secarse las manos con papel. Exponer las manos a corriente de aire caliente. FIN Pasos para desarrollar el algoritmo para cambiar la llanta de un auto. INICIO. levantar el auto con la gata. soltar y sacar los pernos de la llanta. quitar la llanta. colocar llanta de repuesto.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 61

Page 62: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

colocar y apretar los pernos. bajar la gata. FIN

Desarrollar el algoritmo para el siguiente problema: PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante? INICIO Dormir haga 1 hasta que suene el despertador (o lo llame la mamá). Mirar la hora. ¿Hay tiempo suficiente? Si hay, entonces Bañarse. Vestirse. Desayunar. Sino, Vestirse. Cepillarse los dientes. Despedirse de la mamá y el papá. ¿Hay tiempo suficiente? Si, Caminar al paradero. Sino, Correr al paradero. Hasta que pase un bus para la universidad haga : Esperar el bus Ver a las demás personas que esperan un bus. Tomar el bus. Mientras no llegue a la universidad haga : Seguir en el bus. Pelear mentalmente con el conductor. Timbrar. Bajarse. Entrar a la universidad. FIN

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 62

Page 63: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Operación: Elaborar Pseudocódigos: Pasos para desarrollar un pseudocódigo que permita leer dos valores distintos, determinar cuál de los dos valores es el mayor y escribirlo.

Pasos para desarrollar un pseudocódigo que permita calcular el área de un triángulo: 1.- Inicio 2.- Base ← 0, Altura ← 0, Área ←0 3.- Leer “Dame base: ”, Base 4.- Leer “Dame Altura: ”, Altura 5.- Área ← (Base*Altura)/2 6.- Imprimir “El Área es: ”, Área 7.- Fin

Pasos para desarrollar un pseudocódigo que permita calcular el promedio de tres calificaciones:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 63

Page 64: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

1.- Inicio 2.- Calificacion1← 0, Calificacion2←0, Calificacion3←0, Promedio←0 3.- Leer “Dame Calificación 1: ”, Calificacion1 4.- Leer “Dame Calificación 2: “, Calificacion2 5.- Leer “Dame Calificación 3: “, Calificacion3 6.- Promedio←(Calificacion1+Calificacion2+Calificacion3)/3 7.- Imprimir “El Promedio es: ”Promedio 8.- Fin Pasos para desarrollar el siguiente caso utilizando pseudocódigo: Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor y cuál es el menor. Recuerde constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de que se detecte la introducción de valores iguales.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 64

Page 65: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pasos para desarrollar un pseudocódigo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10:

2.3. DEFINIR LOS DIAGRAMAS DE

FLUJO. Pasos para elaborar un diagrama de flujo para encontrar el área de un triángulo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 65

Page 66: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

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

Pseudocódigo 1.- Inicio 2.- Calificacion1← 0, Calificacion2←0, Calificacion3←0, Promedio←0 3.- Leer “Dame Calificación 1: ”, Calificacion1 4.- Leer “Dame Calificación 2: “, Calificacion2 5.- Leer “Dame Calificación 3: “, Calificacion3 6.- Promedio←(Calificacion1+Calificacion2+Calificacion3)/3 7.- Imprimir “El Promedio es: ”Promedio 8.- Fin

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 66

Page 67: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general. Tipos de diagramas de flujo. Formato vertical: La secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. Formato horizontal: La secuencia de las operaciones, va de izquierda a derecha.

Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos. Pasos para crear el diagrama de flujo que proporcione el precio medio de un producto a partir del precio en tres establecimientos distintos.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 67

Page 68: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTO TEÓRICO: Definir el concepto de un algoritmo. Es un conjunto de pasos lógicos ordenados, secuencialmente infinita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico.

Características: Finito: debe tener un fi. Concreto: Realizar funciones y operaciones. Legible: Estar bien estructurado. Eficiente: realizar las operaciones con un mínimo de recursos. No ambiguo: libre de errores. Preciso: Indicar un orden para la realización década paso. Definido: Igual resultado siempre (Si se sigue unos algoritmos dos o más veces

dará el mismo resultado). Estructura. Datos. Procesos. Estructuras de Control. ELEMENTOS. Entradas (variables y constantes) salidas. Ejemplo: encender un automóvil 1. Poner la llave. 2. Asegurarse que el cambio esté en neutro. 3. Pisar el acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar lallave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces)

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 68

Page 69: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

7. Si el auto no arranca, llamar a la grúa. Requisitos: Definir el problema. Debe estar dentro del contexto. Debe resolver el problema. Debe evitar la ambigüedad. El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado. Cambiar un foco quemado podría resumirse en dos pasos: o Quitar el foco quemado. o Colocar un foco nuevo. Pero, si tuviera que entrenar un robot doméstico para que efectúe esta tarea, tendrá que ser más específico y claro en los pasos a seguir, dar mas detalles (suponga que el foco se encuentra en el techo de una habitación): o Situar escalera bajo el foco quemado. o Elegir un foco de remplazo (de la misma potencia que el anterior). o Subir por la escalera hasta alcanzar el foco. o Girar el foco contra las manecillas del reloj hasta que esté suelto. o Ubicar el foco nuevo en el mismo lugar que el anterior. o Enroscar en el sentido de las manecillas del reloj hasta que quede apretado. o Bajar de la escalera.

NOTA: Los algoritmos pueden representarse a través de un conjunto de palabras por medio de las cuales se puede representar la lógica de un programa. Este conjunto de palabras constituyen lo que se conoce como pseudocódigo. Además, los algoritmos se pueden representar gráficamente a través de un diagrama de flujo. Ambas herramientas se describen a continuación.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 69

Page 70: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Utilizar algoritmos para la solución de problemas. Elementos para la construcción de un algoritmo. Anteriormente definimos algoritmo como un conjunto de pasos conducentes a resolver un problema, cada uno de esos pasos, corresponde a lo que se denomina en el programa, una instrucción, aunque pudiera darse que, en una instrucción se junten dos o más pasos. Aprender a realizar un algoritmo se fundamenta en lo que se persigue lograr con su desarrollo; debido a que no existe un método único para resolver problemas se estudian diferentes métodos de resolución o modelos de construcción para lograr la generación del resultado deseado. Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de instrucciones o pasos en los que se describe su inicio, desarrollo o proceso y salida o resultado del algoritmo; elaborados para lograr resolver un problema.

Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, a continuación se describen los elementos que se utilizan en la construcción de una instrucción. Instrucción o sentencia. Dependiendo del origen del material de instrucciones se habla de instrucción o sentencia; ésta, define una acción o un mandato que se debe realizar, esa acción o mandato se representa a través de un comando o lo que es lo mismo palabras reservadas de un lenguaje de programación en particular. Una instrucción está compuesta por uno o más comandos (acción), datos, símbolos, variables o constantes y expresiones, que en conjunto representan una instrucción o sentencia. Ejemplo de instrucción: En la construcción de los programas se estila utilizar una instrucción por línea. Así mismo, se utiliza la identación, que no es más que la alineación de aquellas instrucciones dentro de las estructuras que las contienen de manera ordenada que permita visualizar el inicio y fin de cada bloque de instrucciones. Si ASISTIO =”SI” Entonces

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 70

Page 71: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Leer Sueldo, Asignar Sueldo = Sueldo + HoraExtra Fin Si Dónde: SI Representa una estructura condicional utilizada para establecer preguntas o programar ciertas condiciones. ASISTIO: Nombre de una Variable lógica que puede obtener sólo dos valores “SI” o “NO”. En el ejemplo se programa la condición de la variables cuando es “SI” ENTONCES: Parte de la instrucción o estructura condicional LEER SUELDO Instrucción utilizando el comando cuya acción es la lectura de un campo o dato Asignar SUELDO= SUELDO+HORAEXTRA Instrucción de asignación, permite asignar o calcular el valor que adquirirá una variable Fin SI Cierra la estructura condicional Si –Entonces –Fin Si Comandos o palabras reservadas. Los lenguajes naturales o computacionales, tienen palabras que denotan una acción. Los comandos no son más que acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma de utilizarlo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 71

Page 72: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir. Datos. Los datos son símbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información que ofrezca un significado, conocimiento, ideas o conclusiones. TIPOS DE DATOS. Reiteramos que un dato es un campo que puede convertirse en información. Existen datos simples (sin estructura) y compuestos (estructurados). Los datos simples son los siguientes: - Numéricos (Reales, Enteros) - Lógicos - Carácter (Char, String) Los tipos de datos simples son: Tipos de datos: Numéricos Lógicos Carácter Reales Enteros Char String Ejemplo. Ejemplos de tipos de datos simples

Tipo de datos Características

Ejemplos

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 72

Page 73: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Numéricos Enteros Los números enteros son los números naturales positivos y negativos que conocemos. 1 2 25 146 -456 Numéricos Reales Los números reales, son los números que tienen parte decimal. 0.56 1.00 25.13 148.45 -456.23 Lógicos o boléanos Son aquellos datos cuyos únicos valores sólo pueden ser: Verdadero (V) o Falso (F), puede encontrarse, Verdadero (True) o Falso (False). Se utiliza para representar las opciones (si/no) a determinadas condiciones. Nacionalidad = “Venezolano” (S/N)? Carácter o Char Su valor lo comprenden todos los caracteres alfabéticos, mayúsculas y minúsculas (A – Z), numéricos (0 – 9) y símbolos especiales (#,@,%,&). Carácter String o cadena Su valor está representado por un conjunto de caracteres. “Abril” “Reporte Anual de Fallas

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 73

Page 74: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Técnicas” “1º de mayo, Día del Trabajador”

Elaborar Pseudocódigos. En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción de un algoritmo de programación informático de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la codificación efectivamente. No existe una sintaxis estándar para el pseudocódigo, aunque los dos programas que manejan pseudocódigo tengan su sintaxis propia. Aunque parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Aunque los diagramas de flujo y UML sean más amplios en el papel, pueden ser considerados como una alternativa gráfica al pseudocódigo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 74

Page 75: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

NOTA: Este pseudocódigo o pseudolenguaje es usado para o hacer un bosquejo de una aplicación de manera rápida, o para aprender programación, se usa más que todo en clases de lógica y algoritmia. No es un lenguaje estructurado así que cada quien puede poner las normas de él, por ejemplo una condición o una toma de decisiones en pseudolenguaje sería algo como: si Numero_visitas >= 50000 entonces escriba "mi blog tiene buen tráfico" sino entonces escriba "tengo que mejorar mi blog" fin si En el ejemplo anterior vemos que lo que está en verde serían las instrucciones que podrían variar en los diferentes lenguajes de programación (si = if) (escriba = print) (sino = else) lo que está en azul "Numero_visitas" representa una variable, los operadores matemáticos se usan de la misma manera en casi todos los lenguajes, en este caso ">=" significa (Mayor o igual) y lo que está entre comillas es lo que se debe imprimir en la pantalla de la aplicación.

Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo. Programa; área Entorno: BASE, ALTURA, AREA son número enteros ALGORITMO:

escribir .Introduzca la base y la altura. leer BASE, ALTURA calcular AREA = BASE * ALTURA escribir .El área del rectángulo es .AREA

Finprograma A continuación se muestran algunos ejemplos de palabras utilizadas para construir algoritmos en pseudocódigo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 75

Page 76: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

PALABRA UTILIZACIÓN ABRE Abre un archivo CASO Selección entre múltiples alternativas CIERRA Cierra un archivo ENTONCES Complemento de la selección SI - ENTONCES ESCRIBE Visualiza un dato en pantalla FIN Finaliza un bloque de instrucciones HASTA Cierra la iteración HAZ - HASTA HAZ Inicia la iteración HAZ - HASTA INICIO Inicia un bloque de instrucciones LEER Leer un dato del teclado MIENTRAS Inicia la iteración mientras NO Niega la condición que le sigue O Disyunción lógica O – BIEN Complemento opcional de la selección SI - ENTONCES PARA Inicia un número fijo de iteraciones SI Inicia la selección SI-ENTONCES USUAL Opcional en la instrucción CASO Y Conjunción lógica { Inicio de comentario } Fin de comentario <= Asignación

Definir los diagramas de flujo. Definición de un Diagrama de Flujo. Un diagrama de flujo es una representación gráfica de un algoritmo o de una parte del mismo. La ventaja de utilizar un diagrama de flujo es que se le puede construir independientemente del lenguaje de programación, pues al momento de llevarlo a código se puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, óvalos, pequeños círculos, etc.; estos símbolos están conectados entre sí por flechas conocidas como líneas de flujo. A continuación se presentan estos símbolos y su significado.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 76

Page 77: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Beneficios del Diagrama de Flujo. En primer lugar, facilita la obtención de una visión transparente del proceso,

mejorando su comprensión. El conjunto de actividades, relaciones e incidencias de un proceso no es fácilmente discernible a priori. La diagramación hace posible aprehender ese conjunto e ir más allá, centrándose en aspectos específicos del mismo, apreciando las interrelaciones que forman parte del proceso así como las que se dan con otros procesos y subprocesos.

Permiten definir los límites de un proceso. A veces estos límites no son tan evidentes, no estando definidos los distintos proveedores y clientes (internos y externos) involucrados.

El diagrama de flujo facilita la identificación de los clientes, es más sencillo determinar sus necesidades y ajustar el proceso hacia la satisfacción de sus necesidades y expectativas.

Estimula el pensamiento analítico en el momento de estudiar un proceso, haciendo más factible generar alternativas útiles.

Proporciona un método de comunicación más eficaz, al introducir un lenguaje común, si bien es cierto que para ello se hace preciso la capacitación de aquellas personas que entrarán en contacto con la diagramación.

Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las actividades que componen el proceso.

Igualmente, constituye una excelente referencia para establecer mecanismos de control y medición de los procesos, así como de los objetivos concretos para las distintas operaciones llevadas a cabo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 77

Page 78: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Facilita el estudio y aplicación de acciones que redunden en la mejora de las variables tiempo y costes de actividad e incidir, por consiguiente, en la mejora de la eficacia y la eficiencia.

Constituyen el punto de comienzo indispensable para acciones de mejora o reingeniería.

Reglas de los diagramas de flujo.

Debe de indicar claramente dónde inicia y dónde termina el diagrama. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. Organizar los símbolos de tal forma que siga visualmente el flujo de arriba hacia

abajo y de izquierda a derecha. No usar lenguaje de programación dentro de los símbolos. Centrar el diagrama en la página. Las líneas deben ser verticales u horizontales, nunca diagonales. Las líneas deben ser verticales u horizontales, nunca diagonales.

No cruzar las líneas de flujo empleando los conectores adecuados sin hacer uso excesivo de ellos.

No fraccionar el diagrama con el uso excesivo de conectores.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 78

Page 79: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas líneas de flujo a otras líneas.

Las líneas de flujo deben de entrar a un símbolo pro la parte superior y/o izquierda y salir de él por la parte inferior y/o derecha. Evitar que el diagrama sobrepase una página; de no ser posible, enumerar y emplear los conectores correspondientes. Usar lógica positiva, es decir, realizar procesos cuando es verdadera la condición y expresar las condiciones de manera clara (por ej., "no es a =/= de b" ==> "a=b"). Comentar al margen únicamente cuando sea necesario.

1. ¿Indique qué es un algoritmo informático? 2. ¿Para qué sirve un diagrama de flujo? 3. Desarrolle el algoritmos, pseudocódigo y diagrama de flujo para el siguiente caso: 4. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de

sus dos catetos.

Ejercicios y tareas de investigación

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 79

Page 80: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

III. DEFINIR LOS TIPOS DE DATOS QUE EXISTEN EN UN PROGRAMA.

En esta tarea trataremos las siguientes operaciones: Equipos y Materiales: Computadora con microprocesadores core 2 Duo ó de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Trabajar con Constantes y variables. • Identificar los tipos de datos que existen en un programa. • Analizar la importancia de utilizar el tipo de dato correcto.

Trabajar con Constantes y variables. Identificar los tipos de datos que existen en un programa. Analizar la importancia de utilizar el tipo de dato correcto.

03

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 80

Page 81: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIONES. 3.1. TRABAJAR CON CONSTANTES Y VARIABLES. La forma de declarar una variable es a través de la instrucción Dim. En la línea se declara la variable de nombre Variable y al mismo tiempo Visual Basic guarda espacio en memoria para poder utilizarla. Pasos para crear código VBA para que nos permita introducir la información requerida por teclado utilizando variables. Paso 1: Cree un nuevo archivo de Excel, inserte un módulo e ingrese el siguiente código: Sub ejemplo1()

Dim strNombre As String strNombre = InputBox(“¿Cómo te llamas?”, “Saludos”) MsgBox (“Hola ” & strNombre)

End Sub Paso 2:

Ejecutamos la macro e ingresamos el nombre.

Paso 3: A continuación insertaremos el siguiente módulo ejemplo2 en el mismo modulo, para analizar el uso correcto de variables:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 81

Page 82: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Sub ejemplo2()

Dim numero1, numero2, producto As Integer Dim respuesta As String numero1 = InputBox("Introduzca el primer número", "PRODUCTO") numero2 = InputBox("Introduzca el segundo número", "PRODUCTO") producto = numero1 * numero2 respuesta = MsgBox(numero1 & " X " & numero2 & "=" & producto)

End Sub

Paso 4: Si introduce cualquier número entero le dará un resultado correcto, pero pruebe a introducir una letra, un número decimal o deje sin introducir un número. Observará que arroja un error. Esto es así porque hemos declarado variables de tipo entero, por tanto la variable resultado no espera que se introduzca letras o campos vacíos. Resultado al ingresar números:

Resultado al ingresar textos:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 82

Page 83: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

NOTA: El ejercicio nos pregunta que insertemos un nombre de usuario, que posteriormente se inserta en la celda A1. Hemos declarado la variable de forma local a nivel de módulo o procedimiento. Si a continuación insertáramos otro módulo exactamente igual pero sin la definición de la variable nos daría lugar a un error:

3.2. IDENTIFICAR LOS TIPOS DE DATOS QUE EXISTEN EN UN PROGRAMA. Elegir siempre el tipo de variable más sencillo posible. Consideraremos que el grado de sencillez viene definido por la memoria requerida (a menor memoria requerida mayor es la sencillez). Esto redunda en un menor consumo de recursos del sistema y en una mayor rapidez de las operaciones que realiza el ordenador.

Visual Basic permite declarar variables en múltiples líneas una por línea pero también varias variables en una línea. Veamos ejemplos:

Expresión abreviada

Equivalente

a) Dim i%, j%, k%

a´) Dim i As Integer, j As Integer, k As Integer

b) Dim i% : Dim j% : Dim k%

b´) Dim i As Integer : Dim j As Integer : Dim k As Integer

c) Dim i%, j%, k As Integer

c´) Dim i As Integer, j As Integer, k As Integer

d) Dim i% Dim j% Dim k%

d´) Dim i As Integer Dim j As Integer Dim k As Integer

e) Dim i As Integer Dim j%, k%

e´) Dim i As Integer Dim j As Integer, k As Integer

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 83

Page 84: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los más frecuentes tipos de variable de Excel VBA.

Tipo Bytes Descripción Comentario Byte 1 0-255 Integrales positivos Boolean 1 True/False Valores discretos Integer 2 -32.768 hasta + … Integrales Long (long int.) 4 -2.147.483.648 hasta + … Integrales Single 4 -3,402823 E38 hasta + … Decimales Double 8 -1,79769313486232 E308 hasta + … Decimales Currency 8 15 díg. + 4 decimales Número, 4 dec. Date 8 1-ene-100 hasta 31-dic-9999 Fechas Object 4 referencia a objetos Ej. “Workbook” String 10+ carácteres Ascii (texto) Texto String (long. fija) 1+ carácteres Ascii, longitud predef. Texto Variant 16+ cualquier tipo de datos

Ejemplo del uso de variables.

Usaremos para el siguiente ejemplo un InputBox y un MsgBox, la primera son esas cajas de texto que nos permite introducir la información requerida por teclado.

Sub ejemplo()

Dim strNombre As String

strNombre = InputBox(“¿Cómo te llamas?”, “Saludos”)

MsgBox (“Hola ” & strNombre)

End Sub

A continuación insertaremos el siguiente módulo, para analizar el uso correcto de variables:

Sub ejemplo2()

Dim numero1, numero2, producto As Integer

Dim respuesta As String

numero1 = InputBox(“Introduzca el primer número”, “PRODUCTO”)

numero2 = InputBox(“Introduzca el segundo número”, “PRODUCTO”)

producto = numero1 * numero2

respuesta = MsgBox(numero1 & ” X ” & numero2 & “=” & producto)

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 84

Page 85: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

End Sub

Si introduce cualquier número entero le dará un resultado correcto, pero pruebe a introducir una letra, un número decimal o deje sin introducir un número. Observará que arroja un error.

Esto es así porque hemos declarado variables de tipo entero, por tanto la variable resultado no espera que se introduzca letras o campos vacíos.

3.3. ANALIZAR LA IMPORTANCIA DE UTILIZAR EL TIPO DE DATOS

CORRECTO.

En VBA, como en muchos otros lenguajes de programación, tenemos la “libertad” de hacer muchas cosas pero algunas de ellas resultan poco recomendables. Uno de los casos más frecuentes, relacionados a este tema, es el uso de variables.

En VBA tenemos la opción por defecto de utilizar variables sin declararlas. Los programas declarando todas las variables que se utilizarán, señalando el tipo de datos adecuado es muy probable que obtenga el mismo resultado si codificamos sin declarar las variables a emplear. Entre uno y otro estilo redundará en el tiempo de procesamiento.

Elaborar el siguiente modulo en VBA Excel

Public Sub PruebaUsoTipoDatos()

''Prueba comentando la declaración de variables 'Dim wnX As Long, wnY As Long 'Dim wnA As Double, wnB As Double, wnC As Double 'Dim wnI As Long, wnJ As Long 'Dim wdTInicio As Date, wdTFin As Date wdTInicio = Timer wnX = 0: wnY = 0 For wnI = 1 To 10000 wnX = wnX + 1 wnY = wnX + 1 For wnJ = 1 To 10000 wnA = wnX + wnY + wnI wnB = wnY - wnX - wnI wnC = wnX / wnY * wnI

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 85

Page 86: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Next Next wdTFin = Timer MsgBox Format(wdTFin - wdTInicio, "0,0")

End Sub Una buena práctica es utilizar Option Explicit a nivel de módulo para no olvidar la declaración de variables en ninguna parte de cada proyecto. Por defecto, cualquier variable no declarada, será de tipo Variant, la cual ocupa más espacio en memoria e internamente para VBA requiere mayor tratamiento.

NOTA:

La declaración de variables debería ser obligatoria en todo lenguaje, aunque a muchos no les gusta ya que es más fácil no hacerlo, pero lo correcto es realizarlo. Por ejemplo:

Sub sinDeclararVariables () For x = 1 to 1000 Activecell= "Celda: " & x Next x End Sub En este ejemplo se puede observar que la variable x es número, pero ¿qué tipo?, por defecto VBA lo puede colocar como Double, lo cual ocupa más memoria que el tipo correcto de dato a usar como Integer, ahora imaginen esto en un código más extenso, es una locura. Lo correcto es lo siguiente:

Option Explicit Sub conDeclaraconDeVariables () Dim x as Integer For x = 1 to 1000 Activecell= "Celda: " & x Next x End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 86

Page 87: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTO TEÓRICO: Trabajar con Constantes y variables. Constantes. Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416 Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: area = pi * radio ^ 2 Las variables son : el radio, el área y la constate es pi Clasificación de las Variables Por su contenido. Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 87

Page 88: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo: iva = 0.15 pi = 3.1416 costo = 2500

Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos. Variables Alfanuméricas: Está formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: letra = a apellido = diaz direccion = Av. Perú # 3010 Por su uso. Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 88

Page 89: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relacionales Lógicas

Declarar una variable en VBA. Sentencia DIM. Para declarar una variable se usa la sentencia DIM. Esta declaración se coloca al principio de las secciones o módulos. Sintaxis: DIM NombreDeVariable As TipoDeDatos DIM NombreVar1, NombreVar2, … As TipoDeDatos Tipos de variable La tabla siguiente muestra los tipos de datos compatibles, incluyendo el tamaño de almacenamiento en memoria y el intervalo en el cual pueden variar.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 89

Page 90: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ejemplos

Clases de variables.

Las variables pueden ser: Locales, Públicas o Estáticas Variables Locales. Las variables Locales son aquellas que se declaran dentro de un módulo o procedimiento y sólo pueden ser utilizadas en éste. Éstas dejan de existir una vez que el procedimiento termina su ejecución. Se pueden usar en otros módulos o procedimientos pero sus características nada

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 90

Page 91: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

tienen que hacer con la declaración dada en otro módulo o procedimiento. Para declararlas se debe usar la sentencia DIM. Por ejemplo: Sub procedimiento()

Dim nDat As Integer Dim Cadena As String Sentencias ....

End Sub Variables Públicas. Si se quiere que una variable esté disponible para todos los procedimientos de todos los módulos VBA de un proyecto, se la debe definir a través de la sentencia PUBLIC (y no DIM). Por ejemplo: Public NTotal As Integer Las variables públicas se deben definir antes del primer procedimiento de un módulo de VBA; no deben definirse en los módulos correspondientes a las hojas del Libro de Trabajo ni en los módulos correspondientes a UserForms.

Variables Estáticas. Si se desea que una variable definida en un procedimiento conserve su valor una vez terminado éste, e ingresado a otro procedimiento, ésta se debe definir a través de la sentencia STATIC. Por ejemplo: Sub Procedimiento()

Static nDat As Integer [ Sentencias ...]

End Sub Option Explicit La sentencia Option Explicit permite que el programa se detenga cada vez que VBA encuentre una variable que no ha sido definida. Esto es de gran utilidad

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 91

Page 92: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

cuando se usan muchas variables ya que nos permite identificar rápidamente errores o uso no deseado en el nombre de la variable. Esta sentencia se debe escribir al comienzo del módulo. Constantes. A diferencia de la variables, cuyo valor cambia al ejecutarse un procedimiento, hay valores que no cambian durante la ejecución de un procedimiento, éstos valores se denominan Constantes. Las constantes se definen a través de la sentencia Const. Por ejemplo; Const Nivel As Integer Las constantes también pueden declararse como Públicas para que estén disponibles en todos los procedimientos de todos los módulos, esto se hace a través de la sentencia PUBLIC Public Const TasaActiva As Integer Esta sentencia debe incluirse en un módulo antes del primer procedimiento.

Para definir constantes Locales, basta definirlas a través de la sentencia Const dentro de un procedimiento o función. Identificar los tipos de datos que existen en un programa. TIPOS DE DATOS.

Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados.

Únicamente vamos a ver los tipos de datos fundamentales.

Tipo entero: Representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -. Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.

Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int. Para definir un tipo de dato en C se escribe lo siguiente:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 92

Page 93: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

int nombre_variable = valor; No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor.

Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;”, Por ejemplo: int edad = 24; int edad; int edad, num, contador; Tipo real: Se emplean para representar números reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable. float identificador = valor; Por ejemplo: float numero1, numero2; float numero3 = 123.43; float numero3; Tipo carácter: Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII). Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable. Char identificador = ‘valor’; Una constante tipo char se representa como un solo carácter encerrado entre comillas simples.

Por ejemplo: char letra, letra2; char letra=’a’; Tipo cadena de caracteres: Una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 93

Page 94: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena. Char identificador[cantidad] = “ mensaje ”; Por ejemplo: char cadena[20]; char cadena[20] = “Hola mundo”; char cadena[] = “HOLA”; En la siguiente tabla se hace un resumen de los distintos tipos de datos:

Tipo de dato Palabra reservada Ejemplo Entero Int Int numero=0;

Real Float Float numero=12.2;

Carácter Char Char letra = ‘a’;

Cadena de carácter Char Char palabra[10] = “HOLA”;

Lectura y Escritura de Datos.

Para poder leer y escribir datos en el lenguaje de programación C existen una serie de funciones agrupadas en un conjunto de librerías de código objeto, que constituyen la llamada biblioteca estándar del lenguaje. En el caso concreto de las funciones de entrada y salida (lectura y escritura), su archivo de cabecera es stdio.h. Existen varias funciones que realizan la entrada y salida de datos en el lenguaje de programación C, pero nos vamos a centrar solamente en dos de ellas: printf() y scanf().

FUNDAMENTO TEÓRICO:

Analizar la importancia de utilizar el tipo de dato correcto.

Elaborar la documentación de un programa. Un sistema que no cuenta con toda la información es decir que no se encuentre debidamente documentado carece de valor aunque haya funcionado bien en alguna ocasión. En el caso de programas pequeños y poco importantes que sólo

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 94

Page 95: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

se utilizan durante un corto periodo de tiempo, unos cuantos comentarios en el código podrían ser suficientes. No obstante, la mayoría de los programas cuya única documentación es el código, se quedan obsoletos rápidamente y es imposible mantenerlos. El que la dedicación de un poco de esfuerzo a la documentación sea recompensada incluso dentro de los límites de un pequeño proyecto, constituye una sorpresa para la mayoría de los novatos. A menos que usted sea infalible y viva en un mundo en el que nada cambia, tendrá que volver a consultar el código que ya está escrito, y pondrá en duda decisiones que tomó durante el desarrollo del mismo. Si no documenta sus decisiones, se verá siempre cometiendo los mismos errores y tratando de comprender lo que pudo haber descrito fácilmente en una ocasión. La falta de documentación no sólo genera trabajo adicional, sino que también tiende a dañar la calidad del código. Si no posee una nítida caracterización del problema, es imposible que desarrolle una solución clara. Aprender a documentar software es una tarea complicada y exige un criterio de ingeniería maduro. Documentar de forma concisa es un error habitual, pero el otro extremo puede resultar igual de perjudicial: si escribe documentaciones extensas, éstas atosigarán al lector y constituirán una carga a la hora de conservarlas. Es esencial documentar sólo los asuntos correctos. La documentación no sirve de ayuda para nadie si su extensión desanima a la gente a la hora de leerla.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 95

Page 96: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Los principiantes tienen la tentación de centrar sus esfuerzos en temas sencillos, ya que éstos les resultan más fáciles de documentar. Esto es una pérdida de tiempo; no se aprende nada del esfuerzo y se termina escribiendo una documentación que es cualquier cosa excepto útil. Los principiantes también tienden a mostrarse reacios con los problemas de documentación. Esto trae consigo poca visión de futuro: si usted sabe que algún aspecto de su diseño no es del todo correcto, que alguna parte del problema no se ha aclarado o que es posible que parte del código tenga errores, dígalo! Esto hará que el lector ahorre tiempo dándole vueltas a algo que aparentemente es erróneo se acordará de dónde tiene que mirar si encuentra problemas y acabará teniendo una documentación más útil y honesta. Otro asunto es cuándo documentar. Aunque algunas veces es conveniente posponer la tarea de la documentación mientras se realizan experimentos, los programadores con experiencia suelen documentar de forma metódica incluso el código provisional, los análisis de un problema inicial y los borradores de un diseño. Ellos creen que esto hace que la experimentación sea más productiva. Además, dado que han tomado la documentación como hábito, les resulta normal documentar a medida que van avanzando. La documentación se integra de todos los elementos que explican las características de un programa o sistema, y son necesarios para poder utilizarlo, operarlo o modificarlo. Documentar es una tarea tan necesaria e importante como escribir el código: el código indica cómo funciona el programa, y la documentación indica porqué lo hace. El responsable de un proyecto no debe permitir que se entreguen sistemas sin documentación.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 96

Page 97: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Cuando un programa es pequeño el programador generalmente puede retener en la mente todos los detalles (al menos por algún tiempo), por lo cual no necesita de documentación. En el caso de programas amplios se vuelve imposible recordar cómo se relaciona cada detalle con los demás. Si además se considera que posteriormente el programa tendrá que ser modificado, se apreciará que el propósito del código de un programador no es solamente instruir a un dispositivo electrónico sobre cómo solucionar un problema, sino informar a los futuros programadores sobre cómo fue resuelto el problema. Pero la documentación no sólo es para los programadores, también los usuarios de los programas necesitan de ayuda para operarlo; e incluso el comprador requiere de material que le permita evaluarla compra. Hacer que la documentación sea concisa y descriptiva a la vez. Ser congruente en todos los programas. El tiempo de lectura de los programas es mucho más largo que el de escritura. Si el proyecto es pequeño, puede ser suficiente con recopilar toda la documentación en un archivo e integrarlo con los demás archivos del programa.

1. ¿Cuál es la diferencia entre constante y variable? 2. Mencione un ejemplo por cada uno de los tipos de datos. 3. Es importante documentar un programa?, explique 4. ¿Cuáles son los errores más comunes al documentar un software?

Ejercicios y tareas de investigación

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 97

Page 98: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

IV. PROGRAMAR ESTRUCTURAS CONDICIONALES Y REPETITIVAS.

En esta tarea trataremos las siguientes operaciones: Equipos y Materiales: Computadora con microprocesadores core 2 Duo ó de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Elaborar estructuras condicionales. • Elaborar estructuras repetitivas. • Desarrollar casos prácticos de estructuras.

Elaborar estructuras condicionales. Elaborar estructuras repetitivas. Desarrollar casos prácticos de estructuras.

04

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 98

Page 99: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIONES 4.1. ELABORAR ESTRUCTURAS CONDICIONALES. Realizar el siguiente ejercicio en VBA. La instrucción If Then Else es una estructura condicional que nos permite ejecutar acciones en función de si se cumple una condición. Generalizando tenemos: If cumple condición Then

Ejecutar acción 1 Else ejecutar acción 2. Dentro de esta estructura puede haber otra estructura condicional y dentro de esta otra, y así sucesivamente. A esto se le conoce como una Estructura If anidada. A continuación veremos un ejemplo de una estructura If Then Else: En VBA de MS.Excel escribimos el siguiente procedimiento para determinar qué porcentaje de descuento se le realiza a una compra dependiendo del monto de compra; y de esta manera obtener el monto final a pagar. Si el monto de compras es mayor a s/. 10,000.00 entonces se le aplica un descuento de 10%, caso contrario se le aplica un descuento de 5%:

Sub COBRANZA()

MONTO = Worksheets(“HOJA1″).Range(“B1″).Value If MONTO > 10000 Then DESCUENTO = 0.1 * MONTO Else DESCUENTO = 0.05 * MONTO End If MONTO_F = MONTO – DESCUENTO

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 99

Page 100: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Worksheets(“HOJA1″).Range(“B2″).Value = DESCUENTO

Worksheets(“HOJA1″).Range(“B3″).Value = MONTO_F End Sub

Comprobar que un número escrito en la celda activa es el requerido. Si se cumple, muestra un mensaje diciendo "El código es correcto". Si no se cumple, la macro termina y no hace nada.

Sub ComprobarCódigo() If ActiveCell = "ABCD" Then MsgBox ("El código es correcto") End If End Sub

Comprobar que un número escrito en una celda determinada es el requerido. Si se cumple, muestra un mensaje diciendo "El código es correcto". Si no se cumple, muestra un mensaje diciendo "El código no es correcto".

Sub ComprobarCódigo() If Range("A1") = "BF1234" Then MsgBox("El código es correcto") Else MsgBox("El código no es correcto") End If End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 100

Page 101: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

4.2. ELABORAR ESTRUCTURAS REPETITIVAS. CICLO FOR VISUAL BASIC Este ciclo es uno de los más usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es: FOR VARCICLO=VALORINICIAL TO VALORFINAL [STEP INCR O DECR] INSTRUCCION(ES) NETX VARCICLO Pasos para elaborar código en VBA para ingresar los números del 1 al 10 en las celdas de A1 a A10. Sub repetitivo1() For i = 1 To 10 Range("A" & i).Value = i Next End Sub

RESULTADO:

Pasos para elaborar un formulario que tenga un cuadro de lista, el cual se llenara con los números del 10 al 20 al darle clic en el botón “OK”.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 101

Page 102: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Paso 1: Insertar un formulario en VBA.

Paso 2: Insertar los controles respectivos, seleccionándolo del cuadro de herramientas y arrastrándolo al formulario.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 102

Page 103: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

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

Paso 4:

Dele doble clic al botón e ingrese el siguiente código: Private Sub CommandButton1_Click() For x = 10 To 20 ListBox1.AddItem (x) Next x End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 103

Page 104: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Paso 5: Ejecutamos el formulario y le damos clic en el botón “OK”, podemos ver que la lista se llena con los números del 1 al 10.

4.3. DESARROLLAR CASOS PRÁCTICOS DE ESTRUCTURAS. Crear código vba para comprobar que A3 es mayor que A1 y si es verdad entonces escribir en la celda A4: “A3 mayor que A1″

Sub Ejercicio1() If Range("A3") > Range("A1") Then Range("A4") = "A3 es mayor que A1" End If End Sub

Crear código vba para rellenar el color de fondo de la celda A1 en amarillo.

Sub Ejercicio2() Range("A1").Interior.Color = vbYellow End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 104

Page 105: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Crear código vba para comprobar que A1 y A2 son menores que C1 y si es verdadero poner en negrita los valores de C1:C5.

Sub Ejercicio3() If Range("A1") < Range("C1") And Range("A2") < Range("C1") Then Range("C1:C5").Font.Bold = True End If End Sub

Crear código vba para elaborar una tabla de multiplicar del número ingresado en la celda A1.

Sub crear_tabla() contador = 1 num = Range("A1").Value For i = 1 To 12 contador = contador + 1 Range("A" & contador).Value = num Range("B" & contador).Value = "X" Range("C" & contador).Value = i Range("D" & contador).Value = "=" Range("E" & contador).Value = num * i Next i End Sub

RESULTADO:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 105

Page 106: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Complete el código anterior para aplicarle un formato al resultado de la tabla generada y un botón que limpie todo el resultado.

FUNDAMENTO TEÓRICO. Elaborar estructuras condicionales. Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que tomar una decisión aparecen las estructuras condicionales. En nuestra vida diaria se nos presentan situaciones donde debemos decidir. ¿Elijo la carrera A o la carrera B? ¿Me pongo este pantalón? Para ir al trabajo, ¿elijo el camino A o el camino B? Al cursar una carrera, ¿elijo el turno mañana, tarde o noche? Cuando se presenta la elección tenemos la opción de realizar una actividad o no realizar ninguna. Representación gráfica:

Podemos observar: El rombo representa la condición. Hay dos opciones que se pueden tomar. Si la condición da verdadera se sigue el camino del verdadero, o sea el de la derecha, si la condición da falsa se sigue el camino de la izquierda.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 106

Page 107: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del verdadero hay actividades y por el camino del falso no hay actividades.

Por el camino del verdadero pueden existir varias operaciones, entradas y salidas, inclusive ya veremos que puede haber otras estructuras condicionales. Por supuesto que en un problema se combinan estructuras secuenciales y condicionales.

Simples:

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

Pseudocódigo:

Diagrama de flujo:

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

Pseudocódigo:

Diagrama de flujo:

Dónde:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 107

Page 108: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Si: Indica el comando de comparación. Condición: Indica la condición a evaluar. Entonces: Precede a las acciones a realizar cuando se cumple la condición. Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición. Si no: Precede a las acciones a realizar cuando no se cumple la condición. Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o

más acciones. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente:

Pseudocódigo:

Diagrama de flujo:

Múltiples (En caso de): Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma es la siguiente:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 108

Page 109: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pseudocódigo:

Diagrama de flujo:

Elaborar estructuras repetitivas: Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones (<bloque de instrucciones>) en varias ocasiones. El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita, o a través de una condición lógica que indica cuándo se ejecuta de nuevo y cuándo no. A cada ejecución del bloque de instrucciones se le conoce como una iteración. Existen tres tipos principales de sentencias de repetición: • Ciclo mientras. • Ciclo haga-mientras. • Ciclo para. A continuación se describe cada una de ellas.

CICLO MIENTRAS. El ciclo mientras permite ejecutar un bloque de instrucciones mientras que una expresión lógica dada se cumpla, es decir, mientras su evaluación dé como resultado verdadero. La expresión lógica se denomina condición y siempre se evalúa antes de ejecutar el bloque de instrucciones. Si la condición no se cumple, el bloque no se ejecuta.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 109

Page 110: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Si la condición se cumple, el bloque se ejecuta, después de lo cual la instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar. En el caso en que la condición evalúe la primera vez como falsa, el bloque de instrucciones no será ejecutado, lo cual quiere decir que el número de repeticiones o iteraciones de este bloque será cero. Si la condición siempre evalúa a verdadero, la instrucción se ejecutará indefinidamente, es decir, un número infinito de veces. La forma general del ciclo mientras es la siguiente:

Donde, <condición> es la expresión lógica que se evalúa para determinar la ejecución o no del bloque de instrucciones, y <acción S1, S2…> son el conjunto de instrucciones que se ejecutan si la condición evalúa a Verdadero. CICLO HAGA—MIENTRAS. El ciclo haga-mientras es similar al ciclo mientras, la diferencia radica en el momento de evaluación de la condición. En el ciclo haga-mientras la condición se evalúa después de ejecutar el bloque de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez. Este bloque se ejecuta nuevamente si la condición evalúa a verdadero, y no se ejecuta más si se evalúa como falso.

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 110

Page 111: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Donde, <bloque instrucciones> es el conjunto de instrucciones que se ejecuta y <condición> es la expresión lógica que determina si el bloque se ejecuta. Si la <condición> se evalúa como verdadero el bloque es ejecutado de nuevo y si es evaluada como falso no es ejecutado. Después de ejecutar el bloque de acciones se evalúa la <condición>. CICLO PARA. El ciclo para ejecuta un bloque de instrucciones un número determinado de veces. Este número de veces está determinado por una variable contadora (de tipo entero) que toma valores desde un límite inferior hasta un límite superior. En cada ciclo después de ejecutar el bloque de instrucciones, la variable contadora es incrementada en 1 automáticamente y en el momento en que la variable sobrepasa el límite superior el ciclo termina. El valor final de la variable contadora depende del lenguaje de programación utilizado, por lo tanto, no es recomendable diseñar algoritmos que utilicen el valor de la variable contadora de un ciclo para, después de ejecutar el mismo. De la definición de ciclo para se puede inferir que el bloque de instrucciones no se ejecuta si el límite inferior es mayor al límite superior.

La forma general del ciclo para es la siguiente:

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 111

Page 112: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Casos: Cuando <lim_inf> es menor que <lim_sup> ocurre lo siguiente: 1. La variable contadora se vuelve igual a <lim_inf> 2. Se ejecuta <bloque de instrucciones> 3. Se incrementa automáticamente en 1 la variable contadora del ciclo. 4. Si el valor de contador del ciclo es menor o igual que <lim_sup> se vuelve de nuevo al paso 2. De otro modo se abandona el ciclo. Es de anotar que el valor final de la variable contadora queda incrementada por encima del <lim_sup> para que pueda finalizar el ciclo. Cuando <lim_inf> es mayor que <lim_sup> el ciclo termina sin ejecutarse nunca el <bloque de instrucciones>. Tenga en cuenta que no se genera error al correr el programa. Ejemplo: para (x:=5 hasta 4) hacer.

Esta línea de código nunca se ejecuta. • Es de anotar que los lenguajes de programación tienen una variable a esta instrucción para que el valor pueda ir en descenso. • Tanto <lim_inf> como <lim_sup> pueden ser expresiones como en el siguiente ejemplo: para(j:=x+1 hasta 2*y) hacer. En este caso se calculan primero los valores de las expresiones (x+1) y (2*y) empleando para esto los valores actuales de x y y para utilizarlos como <lim_inf> y <lim_sup> respectivamente. DESARROLLAR CASOS PRÁCTICOS DE ESTRUCTURAS. Programación vba para Excel Visual Basic para aplicaciones es una combinación de un entorno de programación integrado denominado Editor de Visual Basic y del lenguaje de programación Visual Basic, permitiendo diseñar y desarrollar con facilidad programas en Visual Basic. El término “para aplicaciones” hace referencia al hecho de que el lenguaje de programación y las herramientas de desarrollo están integrados con las aplicaciones del Microsoft Office (en este caso, el Microsoft

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 112

Page 113: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Excel), de forma que se puedan desarrollar nuevas funcionalidades y soluciones a medida, con el uso de estas aplicaciones. El Editor de Visual Basic contiene todas las herramientas de programación necesarias para escribir código en Visual Basic y crear soluciones personalizadas. Este Editor, es una ventana independiente de Microsoft Excel, pero tiene el mismo aspecto que cualquier otra ventana de una aplicación Microsoft Office, y funciona igual para todas estas aplicaciones. Cuando se cierre la aplicación, consecuentemente también se cerrará la ventana del Editor de Visual Basic asociada. Editor de Visual Basic. El Editor de Visual Basic, VBE por sus siglas en inglés, es un programa independiente a Excel pero fuertemente relacionado a él porque es el programa que nos permite escribir código VBA que estará asociado a las macros.

Existen al menos dos alternativas para abrir este editor, la primera de ellas es a través del botón Visual Basic de la ficha Programador.

El segundo método para abrir este programa es, en mi opinión, el más sencillo y rápido y que es a través del atajo de teclado: ALT + F11. El Editor de Visual Basic contiene varias ventanas y barras de herramientas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 113

Page 114: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

En la parte izquierda se muestra el Explorador de proyectos el cual muestra el proyecto VBA creado para el libro actual y además muestra las hojas pertenecientes a ese libro de Excel. Si por alguna razón no puedes visualizar este módulo puedes habilitarlo en la opción de menú Ver y seleccionando la opción Explorador de proyectos.

El Explorador de proyectos también nos ayuda a crear o abrir módulos de código que se serán de gran utilidad para reutilizar todas las funciones de código VBA que vayamos escribiendo. Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que está en la parte inferior. Esta ventana es de mucha ayuda al momento de escribir código VBA porque permite introducir instrucciones y observar el resultado inmediato. Además, desde el código VBA podemos imprimir mensajes hacia la ventana Inmediato con el comando Debug.Print de manera que podamos depurar nuestro código. Si no puedes observar esta ventana puedes mostrarla también desde el menú Ver. El área más grande en blanco es donde escribiremos el código VBA. Es en esa ventana en donde escribimos y editamos las instrucciones VBA que dan forma a nuestras macros. Programando en VBA.

Excel 2013 es una de las herramientas de software más poderosas para el manejo, análisis y presentación de datos. Aun y con todas sus bondades, en ocasiones Excel no llega a suplir algunas necesidades específicas de los usuarios.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 114

Page 115: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

1) Ventana Explorador de Proyectos, muestra complementos (.xlam) y los proyectos ProyectVBA(Libro1.xlsm) que contiene: Archivos de Excel (.xlsx ó .xlsm) con sus tres Hojas para macros a nivel de Hoja y ThisWorkbook (este libro) para macros a nivel de libro. Se activa la ventana de código haciendo doble clic(izq) en uno de estos objetos.

2) Ventana de Código, donde se escribe el código.

3) Ventana Inmediato, para ejecutar sentencias de código.

4) Barra de Menús

5) Barra de Herramientas

6) Barra de Títulos

7) Insertar un nuevo Módulo en el Proyecto activo

8) Ejecutar la Macro seleccionada o Modulo (F5)

9) Detiene la Ejecución

10) Objeto

11) Propiedad del Objeto anterior

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 115

Page 116: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Afortunadamente Excel cuenta con VBA que es un lenguaje de programación que permite extender las habilidades del programa para cubrir nuestros requerimientos. Utilizando VBA se pueden desarrollar nuevos algoritmos para analizar la información o para integrar a Excel con alguna otra aplicación como Microsoft Access.

Principios fundamentales. La programación en VBA puede ser un tanto misteriosa para la mayoría de los usuarios de Excel, sin embargo una vez que se comprenden los principios básicos de programación en VBA se comenzarán a crear soluciones robustas y efectivas. El primer concepto importante a entender es que cada elemento de Excel es representado en VBA como un objeto. Por ejemplo, existe el objeto Workbook que representa a un libro de Excel. También existe el objeto Sheet que representa una hoja y el objeto Chart para un gráfico. El segundo concepto importante a entender es que cada uno de estos objetos tiene propiedades y métodos. Para explicar mejor este concepto utilizaré una analogía.

Propiedades y Métodos.

Supongamos que tenemos el objeto auto. Así es, un auto como el que manejamos todos los días para ir al trabajo. Este auto tiene varias propiedades como son: marca, modelo, color, tipo de transmisión las cuales ayudan a describir mejor al auto.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 116

Page 117: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

También hay propiedades que indican su estado actual como por ejemplo gasolina disponible, temperatura del aceite, velocidad, kilómetros recorridos entre otras propiedades más. Podemos decir que las propiedades de un objeto nos ayudan a describirlo mejor en todo momento. Por otro lado tenemos los métodos de un objeto que en resumen son las acciones que podemos realizar con dicho objeto. Por ejemplo, con nuestro auto podemos hacer lo siguiente: encenderlo, avanzar, vuelta a la izquierda, vuelta a la derecha, reversa, detener, apagar, etc. Todas las acciones que se pueden llevar a cabo con un objeto son conocidas como métodos.

Volviendo al terreno de Excel, el objeto Workbook tiene propiedades como ActiveSheet (Hoja activa), Name (Nombre), ReadOnly (Solo Lectura), Saved (Guardado) y algunos de sus métodos son Save (Guardar), Close (Cerrar), PrintOut (Imprimir), Protect (Proteger), Unprotect (Desproteger). Será dificil mencionar todos los objetos de Excel y sus propiedades en esta publicación, pero lo importante a recordar en esta ocasión es que cada elemento de Excel está siempre representado por un objeto en VBA y cada objeto tiene a su vez propiedades y métodos que nos permitirán trabajar con nuestros datos. Ejemplo de código VBA

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

A continuación se da una explicación de lo que ha hecho Excel:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 117

Page 118: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Sub y End Sub indican el inicio y el final del procedimiento de la Macro1. Todo lo que aparece con un apostrofe ´ indica que no se tomara en cuenta que

es solo texto o comentarios y ese texto debe de aparecer en un color, ya sea el color verde.

Range("A1").Select Indica que lo primero que hicimos al grabar la macro fue trasladarnos a la celda A1.

La orden Range nos permite trasladarnos a una celda. ActiveCell.FormulaR1C1 = "Ramón" Esto indica que se escribirá en la celda en

que se encuentra el valor de texto Ramón. Todo lo que aparece entre comillas siempre será un valor de texto. La orden ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda

activa. Range("A2").Select Otra vez indicamos que se traslade a la celda A2. Esto se

debe a que cuando escribimos el nombre de Ramón en A1 presionamos Enter y al dar Enter bajo a la celda A2.

Para comprender mejor el ejemplo anterior modificaremos el código anterior dentro del editor de Visual Basic.

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

End Sub Al ejecutar la macro en Excel mostrará lo siguiente:

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 118

Page 119: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Propiedades. Las propiedades son las características, atributos, formas o aspectos del objeto, a las que se hace referencia mediante el uso de variables. Una propiedad de objeto común de Excel es su Nombre, que nos permitirá usarlos en los diferentes usos que hagamos del objeto. De manera que una celda, un rango de celdas, una hoja, libro, gráfico o tabla en Excel, tendrá un nombre con el cual lo identificaremos. Para hacer referencia a las propiedades mediante los programas en VBA, se usa la sintaxis: NombreDelObjeto.Propiedad Ejemplo: Range("A5").Name Aquí se hace referencia al nombre del objeto Range de la celda A5.

Métodos. Un método es una acción, un procedimiento (un hilo), que tiene efectos sobre un objeto. Ejemplo: Range("A5").Select Aquí se ejecuta el método Select, que permite activar la celda A5 y ponerla en disponible para cualquier otra operación. Range("B2:G4").Formato En este caso, se ejecuta el método Formato sobre el rango B2:G4. Se supone que el método Formato ya está definido previamente. Eventos. Un evento es el resultado de una acción, es la forma cómo queda el objeto después de alguna acción sobre él. Por lo general estas acciones son producidas por los métodos que actúan sobre el objeto.

En la versión 2003 del Excel, podemos tener algunos eventos como:

Se seleccionó una celda o rango. Se seleccionó una hoja (haciendo clic en la pestaña o etiqueta de la misma).

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 119

Page 120: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Se ha abierto o cerrado un libro. Se ha activado o desactivado una hoja de cálculo. Se han calculado de nuevo las fórmulas de una hoja de cálculo. Se ha seguido un hipervínculo.

Código que se ejecuta en el evento activar del formulario.

1. ¿Qué es una estructura condicional? 2. ¿Para qué sirve una estructura repetitiva? 3. Desarrolle código VBA para generar una tabla multiplicar solo de números

positivos, si ingresa un numero negativo deberá mostrar un mensaje de alerta. La tabla ya no será el 1 al 12 como en ejemplo visto en clase, sino será hasta un número ingresado por el usuario en una celda de la hoja de Excel.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 120

Page 121: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

V. PROGRAMAR DIAGRAMAS DE FLUJO UTILIZANDO HERRAMIENTA DE DESARROLLO.

En esta tarea trataremos las siguientes operaciones: Equipos y Materiales: Computadora con microprocesadores core 2 Duo ó de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Identificar las palabras reservadas de un lenguaje • Definir las funciones que pertenecen a un programa. • Utilizar los operadores que tiene un programa

Identificar las palabras reservadas de un lenguaje. Definir las funciones que pertenecen a un programa. Utilizar los operadores que tiene un programa.

05

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 121

Page 122: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIÓN: 5.1. IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. Dentro de los lenguajes informáticos, una palabra reservada es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador de objetos en códigos del mismo, como ser variables. Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra group es usada para indicar que un identificador se refiere a un grupo, no a un usuario. Al tratarse de una palabra clave su uso queda restringido. Ocasionalmente la especificación de un lenguaje de programación puede tener palabras reservadas que están previstas para un posible uso en futuras versiones. En Java const y goto son palabras reservadas — no tienen significado en Java, pero tampoco pueden ser usadas como identificadores. Al reservar los términos pueden ser implementados en futuras versiones de Java, si se desea, sin que el código fuente más antiguo escrito en Java deje de funcionar.

Palabras reservadas en SQL. En SQL, son palabras reservadas todas las sentencias, cláusulas modificadoras, tipos de dato, y funciones propias del DBMS. Así, por ejemplo, no se pueden usar

NOTA: Definición de SQL La sigla que se conoce como SQL corresponde a la expresión inglesa Structured Query Language (entendida en español como Lenguaje de Consulta Estructurado), es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.. Gracias a la utilización del álgebra y de cálculos relacionales, el SQL brinda la posibilidad de realizar consultas con el objetivo de recuperar información de las bases de datos de manera sencilla.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 122

Page 123: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

denominaciones tales como SELECT, GROUP, CONCAT, SUM, MAX o semejantes. En cada DBMS, además, existen conjuntos de denominaciones que le son propias, y que si pueden ser usadas en otros, lo que tiende a producir ciertos problemas al migrar proceso o sintaxis de uno a otro. Tal es el caso de SYSDATE, NOW, o BIGINT, el primero de los cuales es usual en Oracle, y los dos siguientes en MySQL.

Pese a eso, todos los DBMS tienen, también, la posibilidad de usar estas palabras reservadas, siempre que se respeten ciertas reglas sintácticas: Todas las palabras reservadas usadas para nombres de objetos creados en una base de datos deben estar encerradas entre caracteres específicamente usados para ello. En varios sistemas de bases de datos se utilizan para ello los acentos graves (`), que no tienen otro uso en el SQL. Pasos para crear un formulario y programar la suma de dos valores sin utilizar palabras reservadas. Paso 1: Diseñe el siguiente formulario:

Paso 2: Dele doble clic en el botón sumar e ingrese el siguiente código:

Private Sub CommandButton1_Click()

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 123

Page 124: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

MsgBox "Complete ambos numeros" Else Dim n1 As Double Dim n2 As Double Dim resultado As Double

n1 = txtnum1.Text n2 = txtnum2.Text resultado = n1 + n2 txtresultado.Text = resultado End If

End Sub

Paso 3: Si cambiamos el nombre de la variable n1 por ejemplo por la palabra integer aparecerá el siguiente error:

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 124

Page 125: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

5.2. DEFINIR LAS FUNCIONES INTERNAS DE UN PROGRAMA. Pasos para crear código vba donde permita ingresar un texto y devuelve la posición de una cadena en una frase.

Paso 1: Inserte un módulo en un nuevo archivo de Excel e ingrese el siguiente código: Private Sub cadena_InStr() Dim frase As String Dim Posición As Integer frase = InputBox("Inserte una frase…") Posición = InStr(frase, InputBox("Indique la letra de la que quiere averiguar su posición")) MsgBox Posición End Sub Paso 2: Ejecute la función e inserte el texto tal como lo muestra la siguiente imagen: Paso 3: Ingrese el texto que desea buscar y que la función InStr encuentre su posición. Resultado: La función buscara el texto “R” en la frase del paso 2 y nos mostrara su posición.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 125

Page 126: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ingrese los siguientes códigos de funciones en un nuevo archivo de Excel y ejecútelos para verificar el resultado. La función Left (izquierda). Left es una función que extrae los caracteres de una frase, empezando por la izquierda. Left (frase, 4) significa que cuatro caracteres son extraídos del valor de variable frase, a partir de la posición más a la izquierda. Private Sub CadenaLeft()

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

End Sub Este código devuelve la cadena "Esta" de la frase "Esta es la prueba de la function Left" La función Right (derecha). Right es una función que extrae los caracteres de una frase, comenzando por la derecha. Right (frase, 5) significa que cinco caracteres son extraídos de la variable frase, a partir de la posición más a la derecha. Private Sub CadenaRight() Dim frase As String frase = "Esta es la prueba de la función Right" MsgBox Right(frase, 5) End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 126

Page 127: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Este código devuelve la cadena " Right " de la frase " Esta es la prueba de la función Right” La función Mid. Mid es una función que extrae una cadena de una frase, a partir de la posición especificada por el segundo parámetro en el soporte. Mid (frase, 8,3) significa que una serie de tres caracteres son extraídos de la frase, a partir de la 8 ª posición de la izquierda, incluido el espacio vacío.

Private Sub CadenaMid() Dim frase As String frase = "Esta es la prueba de la función Mid" MsgBox Mid(frase, 12, 6) End Sub Este código devuelve la cadena "prueba" de la frase "Esta es la prueba de la función Mid" La función Len. Len es una función que devuelve la longitud de una frase (incluido el espacio vacío entre los dos) Private Sub CadenaLen()

Dim frase As String frase = "Esta es la prueba de la función Len" MsgBox Len(frase)

End Sub En este caso nos dará como resultado 35. Resultado de los códigos en el entorno VBA.

Unir cadenas de texto. Para unir dos (o más) cadenas de texto podemos utilizar el operador &. Observa el siguiente código:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 127

Page 128: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

El resultado de este código es el siguiente:

5.3. UTILIZAR LOS OPERADORES QUE TIENE UN PROGRAMA. Visual Basic clasifica los operadores con que trabaja de la siguiente manera: Operadores aritméticos: operadores utilizados para ejecutar cálculos

matemáticos. Operadores de comparación: operadores utilizados para efectuar

comparaciones. Operadores de concatenación: operadores utilizados para combinar cadenas de

caracteres. Operadores lógicos: operadores usados para realizar operaciones lógicas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 128

Page 129: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Elaborar un formulario que procese las operaciones básicas. Paso 1: Diseñe el siguiente formulario:

Paso 2: Ingrese el siguiente código.

Private Sub CommandButton1_Click()

Dim Primero, Segundo 'declara variables Primero = Val(Text1.Text) 'convierte a números

Segundo = Val(Text2.Text) 'si se pulsa el primero botón, suma los números If Option1.Value = True Then Label4.Caption = Primero + Segundo End If 'si se pulsa el segundo botón, resta los números If Option2.Value = True Then Label4.Caption = Primero - Segundo End If 'si se pulsa el tercer botón, multiplica los números If Option3.Value = True Then Label4.Caption = Primero * Segundo End If 'si se pulsa el cuarto botón, divide los números If Option4.Value = True Then Label4.Caption = Primero / Segundo

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 129

Page 130: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

End If End Sub

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

RESULTADO: Dependiendo de la operación seleccionada se mostrara el resultado respectivo

FUNDAMENTO TEÓRICO.

Definir las palabras reservadas de un lenguaje. En programación, las palabras reservadas son aquel grupo de identificadores (palabras) que no pueden ser utilizadas por el usuario para nombrar a las variables, funciones, procedimientos, objetos y demás elementos de programación que cree. Generalmente esto se debe a que el propio lenguaje de programación ya las utiliza, por esta razón, las palabras reservadas no pueden ser empleadas como identificadores definidos por el usuario. Cada lenguaje de programación tiene su propio grupo de palabras reservadas, pero en general coinciden algunas de las siguientes: and, array, begin, case, const, default, do, else, end, file, for, function, goto, if, in, label, mod, not, of, or, repeat, return, then, to, type, until, void, while, etc. Identificadores.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 130

Page 131: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Todas las variables, constantes, tipos de datos, funciones y procedimientos que son definidos por el usuario deben tener un nombre especifico que permita reconocerlos dentro del programa. En los lenguajes de programación, a estos nombres se les conoce como Identificadores. Así pues, todos los nombres de las variables, constates u otros elementos que nosotros definamos en el programa, excepto las palabras reservadas, son denominados como identificadores. Algunos de los identificadores más utilizados en los distintos lenguajes de programación: El nombre puede tener una longitud máxima hasta 127 caracteres. El primer carácter debe empezar obligatoriamente por una letra o el carácter (_). Los caracteres siguientes al primero pueden ser letras, dígitos o el carácter (_). No se permiten espacios, ni caracteres especiales (%, $, &, @, !, á, ñ, Ñ, …). No se permite usar nombres repetidos, ni palabras reservadas según la ayuda

del programa.

Por ejemplo:

NOTA:

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

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 131

Page 132: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Palabras clave de Visual Basic.

Las palabras clave siguientes están reservadas, lo que significa que no se pueden utilizar como nombres para los elementos de programación, como son las variables o los procedimientos.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 132

Page 133: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Definir las funciones que pertenecen a un programa.

Las funciones son uno de los elementos más importantes de cualquier lenguaje de programación actual. De hecho, Niklaus Wirth, uno de los más importantes teóricos de la programación y creador del lenguaje Pascal entre otros, llegaron a indicar que todo programa no era más que la suma de código (rutinas, procedimientos o funciones, como se les quiera llamar) y datos (variables, matrices, etc...). Sea como sea, las funciones tienen un papel estelar en el desarrollo de aplicaciones en la actualidad.

Hasta ahora, hemos visto como realizar código de una forma estructurada, con sentencias de control que nos permiten dominar la ejecución del mismo fácilmente. Pero si sólo tenemos esto, solamente podremos manejar el código de forma lineal. Ejecutaremos las líneas una a una, una detrás de la otra, hasta el final del programa. Es más, si quisiéramos usar un determinado código varias veces en el mismo programa tendríamos que repetir ese código varias veces, teniéndolo que adaptar a cada situación. ¿Y qué ocurre si queremos reutilizar un código en varios programas? Es un problema que se resuelven gracias a las funciones. Las funciones son trozos de código que tienen un nombre y que podemos utilizar en cualquier parte de nuestro código con una llamada directa. Este es un buen ejemplo:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 133

Page 134: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

function datos_personales(nombre, apellidos, edad) { return "Hola, " + nombre + " " + apellidos + ", tienes " + edad + " años."; }

En este caso hemos definido una función que, usando los parámetros que le hemos pasado, la combina para formar una cadena formateada, que devuelve gracias a la palabra reservada return. Funciones predefinidas en visual basic. En numerosas ocasiones sobre todo si se han de realizar cálculos matemáticos, estadísticos o financieros es preciso ejecutar operaciones distintas a las que gestionan expresiones en las que se utilizan exclusivamente operadores matemáticos afortunadamente no es preciso acudir al diseño de laboriosos y complejos algoritmos para encontrar la raíz cuadrada de un numero o el seno de un Angulo ya que visual BASIC dispone de funciones incorporadas que devuelven estas cantidades.

Estas funciones se denominan predefinidas internas o estándar o también funciones de librería.

El formato de la función es la siguiente:

ABS(expresión numérica) EABS(3.5) SQR(expresión numérica) SRQ(4) =2 INT(expresión numérica) INT(3.84)=3

CLASES DE FUNCIONES. • Funciones aritméticas: Las funciones aritméticas son aquellas que realizan la

operaciones del cálculo del signo (+,-) parte entera, parte decimal o truncamiento de los números reales que afectan las operaciones básicas.

• Funciones exponenciales: Las funciones exponenciales se utilizan en numerosas aplicaciones de gestión científica para resolver problemas de todo tipo desde crecimiento de población hasta cálculos de interés compuesto que implica funciones exponenciales.

• Funciones logarítmicas: Los logaritmos son unas de las funciones estándar utilizadas en matemáticas y aplicaciones científicas. La función logarítmica más

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 134

Page 135: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

importante es log(argumento) que obtiene el logaritmo natural de un argumento en: log10(x) = log (x)/log(10).

Funciones trigonométricas: las funciones trigonométricas devuelven los valores del seno, coseno, tangente y cotangente de un ángulo expresado en radianes.

Sin (expresión en radianes) Cos (expresión en radianes) Tan (expresión en radianes) Atn (expresión en radianes)

La siguiente tabla provee una descripción breve de algunas de las funciones VBA más utilizadas.

FUNCIÓN DESCRIPCIÓN Abs Regresa el valor absoluto de un número Asc Obtiene el valor ASCII del primer caracter de una cadena de texto CBool Convierte una expresión a su valor booleano CByte Convierte una expresión al tipo de dato Byte CCur Convierte una expresión al tipo de dato moneda (Currency) CDate Convierte una expresión al tipo de dato fecha (Date) CDbl Convierte una expresión al tipo de dato doble (Double) CDec Convierte una expresión al tipo de dato decimal (Decimal) Choose Selecciona un valor de una lista de argumentos Chr Convierte un valor ANSI en valor de tipo texto CInt Convierte una expresión en un dato de tipo entero (Int) CLng Convierte una expresión en un dato de tipo largo (Long) CreateObject Crea un objeto de tipo OLE CStr Convierte una expresión en un dato de tipo texto (String) CurDir Regresa la ruta actual CVar Convierte una expresión en un dato de tipo variante (Var) Date Regresa la fecha actual del sistema DateAdd Agrega un intervalo de tiempo a una fecha especificada DateDiff Obtiene la diferencia entre una fecha y un intervalo de tiempo especificado DatePart Regresa una parte específica de una fecha DateSerial Convierte una fecha en un número serial DateValue Convierte una cadena de texto en una fecha Day Regresa el día del mes de una fecha Dir Regresa el nombre de un archivo o directorio que concuerde con un patrón EOF Regresa verdadero si se ha llegado al final de un archivo FileDateTime Regresa la fecha y hora de la última modificación de un archivo FileLen Regresa el número de bytes en un archivo FormatCurrency Regresa un número como un texto con formato de moneda FormatPercent Regresa un número como un texto con formato de porcentaje Hour Regresa la hora de un valor de tiempo

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 135

Page 136: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

IIf Regresa un de dos partes, dependiendo de la evaluación de una expresión InputBox Muestra un cuadro de diálogo que solicita la entrada del usuario InStr Regresa la posición de una cadena de texto dentro de otra cadena InStrRev Regresa la pocisión de una cadena de texto dentro de otra cadena pero

empezando desde el final Int Regresa la parte entera de un número IsDate Regresa verdadero si la variable es una fecha IsEmpty Regresa verdadero si la variable está vacía IsError Regresa verdadero si la expresión es un valor de error IsNull Regresa verdadero si la expresión es un valor nulo IsNumeric Regresa verdadero si la variable es un valor numérico Join Regresa una cadena de texto creada al unir las cadenas contenidas en un

arrreglo LCase Regresa una cadena convertida en minúsculas Left Regresa un número específico de caracteres a la izquierda de una cadena Len Regresa la longitud de una cadena (en caracteres) LTrim Remueve los espacios a la izquierda de una cadena Mid Extrae un número específico de caracteres de una cadena de texto Minute Regresa el minuto de una dato de tiempo Month Regresa el mes de una fecha MsgBox Despliega un cuadro de dialogo con un mensaje especificado Now Regresa la fecha y hora actual del sistema Replace Reemplaza una cadena de texto con otra Space regresa una cadena de texto con el número de espacios especidicados Split Regresa un arreglo formado for cadenas de texto que formaban una sola

cadena Str Regresa la representación en texto de un número Right Regresa un número especificado de carecteres a la derecha de una cadena de

texto Rnd Regresa un número aleatorio entre 0 y 1 Round Redondea un número a una cantidad específica de decimales RTrim Remueve los espacios en blanco a la derecha de una cadena de texto Second Regresa los segundos de un dato de tiempo StrComp Compara dos cadenas de texto StrReverse Invierte el orden de los caracteres de una cadena Time Regresa el tiempo actual del sistema Timer Regresa el número de segundos desde la media noche TimeValue Convierte una cadena de texto a un númer de serie de tiempo Trim Remueve los espacios en blanco al inicio y final de una cadena de texto TypeName Obtiene el nombre del tipo de dato de una variable UCase Convierte una cadena de texto en mayúsculas Val Regresa el número contenido en una cadena de texto Weekday Regresa un número que representa un día de la semana WeekdayName Regresa el nombre de un día de la semana Year Obtiene el año de una fecha

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 136

Page 137: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTO TEÓRICO.

Utilizar los operadores que tiene un programa.

OPERACIONES CON LOS DATOS (expresiones y operadores). 1. EXPRESIONES. Una expresión es una combinación de variables, constantes y literales de tipos compatibles entre sí, estos elementos están combinados mediante operadores válidos; la expresión más simple está formada por un único elemento (variable, literal o constante) sin ningún operador. Es posible tener expresiones aritméticas (combinando expresiones de tipo entero y/o real), expresiones lógicas (combinando expresiones de tipo lógico) y expresiones de tipo carácter. A continuación se muestran algunas expresiones típicas:

2 * pi * r v * t (a>5) and (a<10) “Sub” + “cadena”

Toda expresión tiene asociada un tipo que se corresponde con el tipo del valor que devuelve la expresión cuando se evalúa, por lo que habrá tantos tipos de expresiones como tipos de datos. Habrá expresiones numéricas y lógicas.

2. OPERADORES.

Son símbolos que se utilizan para definir las operaciones que se realicen entre los datos 2.1 TIPOS. a) ARITMÉTICOS: Se utilizan para realizar operaciones con datos numéricos, formando expresiones aritméticas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 137

Page 138: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

El orden de prioridad en la evolución de los operadores aritméticos es el Siguiente: 1) Paréntesis 2) Potenciación 3) Multiplicación y División 4) Suma y Resta

Ejemplo: Si a = 9; b =2; c =5; d = 3

b) RELACIONES: Se utiliza para relacionar expresiones que al ser evaluadas producen un valor booleano: verdadero o falso.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 138

Page 139: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

No existen prioridades en el orden de evaluación de los operadores relacionales. Si es necesario establecer alguna prioridad en el orden de evaluación, se deben utilizar los paréntesis. Ejemplo: si a = 9; b = 2; c = 5; d = 3

También se puede comprar datos alfanuméricos. En este caso se compran uno a uno los caracteres, comenzando desde la izquierda.

Si los datos tienen diferentes longitudes, pero son exactamente iguales hasta el último carácter del más corto, entonces se considera que el más largo es el mayor. El único caso en que son caracteres, en el mismo orden. La misma longitud y los mismos caracteres, en el mismo orden. Las letras minúsculas son mayores que las mayúsculas. Ejemplo:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 139

Page 140: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

c) LÓGICOS: permiten realizar operaciones con expresiones relacionales, efectuando combinación de condiciones que generan un resultado booleano: verdadero o falso.

Orden de prioridad en la evaluación de los operadores lógicos: 1) NOT 2) AND 3) OR AND: es el operador lógico de conjunción. La expresión que se evalúa de cómo resultado verdadero si y solo si todos las condiciones son verdaderas.

Dicho de otra manera, es suficiente que unas de las condiciones sean falsas para que el resultado sea falso.

Ejemplo: si a = 9; b = 2; c =5; d = 3

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 140

Page 141: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OR: es el operador lógico de disyunción. La expresión que se evalúa da como resultado falso sí y solo sí todas las condiciones son falsas. Dicho de otra manera, es suficiente que una de las condiciones sea verdadera para que el resultado sea verdadero.

Ejemplo: si a = 9; b = 2; c =5; d = 3

Condición 1A Condición 2B Resultado A or BFALSO FALSO FALSOFALSO VERDADERO VERDADERO

VERDADERO FALSO VERDADEROVERDADERO VERDADERO VERDADERO

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 141

Page 142: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

NOTA: Es el operador lógico de negación. Afecta a una sola expresión, a cambio su estado lógico: si era falso se convierte en verdadero y viceversa.

EJEMPLOS: A =9, B: 2, C: 5, D: 3

d. ALFANUMÉRICO: Se utilizan para unir datos alfanuméricos.

EJEMPLOS: SI NOMBRE = “JUAN¨” Y APELLIDO = “PEREZ”

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 142

Page 143: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Orden de evaluación (Reglas de prioridad). El orden de evaluación de los operadores en una expresión es el siguiente 1) Paréntesis (comenzando por lo más internos) 2) Potencias 3) Productos y divisiones 4) Sumas y restas

5) Concatenación 6) Relacionales 7) NOT 8) AND 9) OR

NOTA Software para realizar diagramas de flujo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 143

Page 144: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

FREEDFD. Es un editor e intérprete de diagramas de flujo. Permite editar, ejecutar y depurar algoritmos representados como diagramas de flujo. Fue pensado para la enseñanza de algoritmos básicos, pero se puede usar para construir algoritmos complejos usando recursión y arreglos de varias dimensiones. Este programa esta liberado bajo la licencia GPL, por lo tanto el software es libre y no tiene restricción para su uso bajo ninguna circunstancia aunque se creó específicamente para la educación. DFD es un programa de libre disposición para ayudar al diseño e implementación de algoritmos expresados en diagramas de flujo. Además incorpora opciones para el depurado de los algoritmos, lo que facilita demasiado la localización de todos los errores de lógicos de ejecución más habituales. Su uso es muy sencillo, al tratarse de una herramienta gráfica, y lo que lo hace ser más sencillo es porque incluye un menú de ayuda muy completo. INICIO DE EL PROGRAMA (DFD) La ejecución de DFD presenta la pantalla de inicio de la siguiente manera.

Herramientas.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 144

Page 145: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

• Bloque de botones de objetos: Permite seleccionar los distintos elementos (objetos) que vamos a introducir en el Diagrama de Flujo: sentencias de asignación, selección, iteración.

• Bloque de ejecución: Permite poner en funcionamiento el algoritmo. • Bloque de depuración: Este se utiliza, en caso de que existe un

funcionamiento incorrecto, para detectar errores en la construcción del algoritmo y así poder corregirlos.

• Botones de subprogramas: Permiten introducir funciones definidas por el Programador.

• Botones de zoom: Sirve para ver el trabajo que está realizando, más cerca o lejos conforme necesite o guste.

Puede acercar el cursor del ratón (sin hacer clic) al botón correspondiente. Los restantes botones tienen una funcionalidad similar a la de las restantes aplicaciones Windows: abrir fichero, guardar fichero, cortar, copiar, pegar etc. Observación: También estas herramientas puedes encontrarlas a través del menú, y con atajos de teclado. El resto de opciones (detalles de sintaxis más avanzados, operadores y funciones disponibles), pueden consultarse directamente en la ayuda del programa. Uso del programa FreeDFD Casi siempre un algoritmo se compone de un inicio, un final y una serie de instrucciones las cuales pueden estar complementadas con condiciones, ciclos, etc. En los diagramas de flujo, el inicio y el final de un algoritmo se escriben dentro de un CÍRCULO a manera de etiqueta, tal y como lo muestra la siguiente imagen:

Ventana de Edición

Barra de Herramientas

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 145

Page 146: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Obviamente, entre estas dos "etiquetas" estarán todas las instrucciones de un algoritmo determinado. Para realizar las instrucciones en un algoritmo, se utilizan básicamente Variables y Operadores. Zoom. Este submenú posee los comandos que manejan el tamaño de los objetos en pantalla y el tamaño con el que pueden ser impresos. Ejecución. El bloque de permite poner en funcionamiento el algoritmo. Ejecutar. Este comando da paso a la ejecución del algoritmo. En caso de que un error sea encontrado, un mensaje será desplegado indicando el tipo de error y el objeto en el que se presentó. Si el diagrama está libre de errores, se ejecutará el algoritmo a partir del objeto Inicio.

Detener. Este comando detiene la ejecución del algoritmo. Este comando estará disponible cuando la acción actual sea diferente de Edición.

Pausar. Este comando hace una pausa en la ejecución del algoritmo.

Objetos. Nos permite seleccionar los distintos elementos (objetos) que vamos a introducir en los diagramas de flujo. Salida.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 146

Page 147: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

El objeto Salida muestra valores por pantalla. Puede ser visualizada cualquier cantidad de valores utilizando un objeto Salida. Al darle doble clic despliega un cuadro de diálogo que muestra el valor obtenido en cada una de las expresiones en su respectivo orden. El cuadro de diálogo para la edición del objeto contiene un espacio para ingresar una lista de expresiones separadas por comas y entre comillas simples (‘). Debe existir por lo menos una expresión.

Lectura. El objeto Lectura permite la entrada de valores constantes desde el teclado y se los asigna a campos variables. Podrá ser leída cualquier cantidad de variables utilizando un objeto Lectura. Al ejecutarse, el objeto despliega un cuadro de diálogo por cada variable presente en la lista, este cuadro de diálogo espera que el usuario introduzca un valor constante que será asignado a la respectiva variable en caso de ser un nombre debe ir entre comillas simples.

Asignación. Este objeto asigna valores a campos variables. Al ser ejecutado, puede realizar hasta tres asignaciones. Cada asignación consta de un espacio para el campo variable situado siempre a la izquierda, el símbolo de asignación y un espacio para la expresión situada siempre a la derecha. Esto indica que al campo variable se le asigna el resultado de la evaluación de la expresión. Debe realizarse por lo menos una asignación.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 147

Page 148: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo: En el siguiente ejemplo consta en que el usuario ingrese su edad y él le responderá cuantos años tiene se usaran objetos como salidas y lectura. Abrir el programa (Dfd) y agregamos una salida.

Damos doble clic y escribimos entre comillas simples (‘Ingrese su edad en números y presione el botón enter’).

Ahora agregamos una lectura.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 148

Page 149: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Damos doble clic y escribimos la variable edad sin comillas.

Agregamos una nueva salida.

Damos doble clic y escribimos la respuesta entre comillas simples. Pero la variable (edad) debe ir fuera de las comillas y separada por comas. ('su edad es de ', edad,' años').

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 149

Page 150: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ya terminado el algoritmo tendrá la siguiente forma en la pantalla.

Damos Clic en ejecutar.

El primer objeto en ejecutarse será la de SALIDA, que mostrará en pantalla el siguiente mensaje:

Seguidamente la de ENTRADA, que nos muestra un cuadro de texto donde introduciremos el valor que queramos darle a la variable edad.

Finalmente, la última SALIDA:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 150

Page 151: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Cuando el algoritmo finaliza su ejecución y no tiene errores se muestra el siguiente mensaje:

1. ¿Qué es una palabra reservada y cuál es su importancia? 2. Menciona 3 funciones internas del lenguaje VBA. 3. Elabore 2 ejercicios en vba que contenga los operadores más utilizados. 4. ¿Para qué sirve el programa FreeDFD?. Elabore un ejemplo.

Ejercicios y tareas de investigación

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 151

Page 152: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

VI. UTILIZAR LOS PROCEDIMIENTOS COMO PARTE DE LA PROGRAMACION.

En esta tarea trataremos las siguientes operaciones: Equipos y Materiales: Computadora con microprocesadores core 2 Duo ó de mayor capacidad. Sistema operativo Windows. Acceso a internet. Software de maquetación y desarrollo de páginas web.

Orden de Ejecución:

• Definir la importancia de los procedimientos. • Elaborar procedimientos utilizando variables locales y globales.

Definir la importancia de los procedimientos. Elaborar procedimientos utilizando variables locales y

globales.

06

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 152

Page 153: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

OPERACIONES 6.1. DEFINIR LA IMPORTANCIA DE LOS PROCEDIMIENTOS. Aprender a utilizar parámetros en una función. Pasos para crear una función que reciba como parámetros un rango de celdas u el resultado sea la concatenación de las mismas. Paso 1: Cree un nuevo archivo de Excel y elabore el siguiente diseño: Paso 2: Abra el editor VBA e inserte un módulo.

Paso 3: Ingrese el siguiente código.

Function CONCATENARCELDAS(Rango As Range)

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 153

Page 154: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

'Bucle para recorrer todas las celdas del rango For Each celda In Rango.Cells 'Si la celda NO está vacía, entonces concatenarla If celda.Value <> "" Then resultado = resultado & "; " & celda.Value End If Next celda 'Se remueve el ; y espacio inicial resultado = Right(resultado, Len(resultado) - 2) CONCATENARCELDAS = resultado

End Function

Paso 4: Utilice la función para unir los nombres de las personas que trabajan por sede. RESULTADO FINAL

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 154

Page 155: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Pasos para crear una función que se utilice para contar las celdas que tienen un determinado color de fondo en un rango. Paso 1: Cree un nuevo archivo de Excel e ingrese datos de prueba como lo muestra el siguiente diseño: Paso 2: Abra el editor VBA e ingrese un módulo con la siguiente función. Function ContarColorFondo(rngCeldaColor As Range, rngRangoAContar As Range) As Long

Dim rngCelda As Range For Each rngCelda In rngRangoAContar If rngCelda.Interior.ColorIndex = rngCeldaColor.Cells(1, 1).Interior.ColorIndex Then ContarColorFondo = ContarColorFondo + 1 Next rngCelda Set rngCelda = Nothing

End Function Paso 3: Ingrese la función tal como lo muestra la siguiente imagen:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 155

Page 156: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

La función CONCATENARCELDAS recibe como argumento un rango y recorre cada una de las celdas para concatenar sus valores. Solo en caso de que la celda no tenga un valor será excluida de la concatenación. Ya que en el primer ciclo del bucle la variable resultado está vacía, mi cadena siempre empezará con un punto y coma. Es por eso que usando las funciones Right y Len remuevo esa primera aparición del punto y coma y del primer espacio en blanco. RESULTADO: La función se encargara de contar cuantas celdas del rango B2:B6 tienen el color de referencia de la celda B2. Pasos para crear una función que muestre las iniciales de un nombre completa en una celda. Paso 1: Creamos un nuevo archivo de Excel con el siguiente diseño:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 156

Page 157: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Paso 2: Insertamos un módulo con la siguiente función:

Function Iniciales_Nombres(Texto As String) As String Dim longitud As Long, i As Long Dim cadena_inicial As String longitud = Len(Texto) For i = 1 To longitud If Asc(Mid(Texto, i, 1)) >= 65 And Asc(Mid(Texto, i, 1)) <= 90 Then cadena_inicial = cadena_inicial & Mid(Texto, i, 1) End If Next i Iniciales_Nombres = cadena_inicial End Function

Paso 3: Nos posicionamos en la celda C2 e insertamos la función dando como único parámetro la celda donde se encuentra el nombre completo. Función Len . Esta función nos devuelve el número de caracteres de una cadena, por lo tanto retorna un número entero y recibe un parámetro que es un tipo de dato string. Su sintaxis es: Len([cadena de caracteres]) Ejemplo: Si Texto="hola como estas" Len(Texto) devuelve el valor 15.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 157

Page 158: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Función Asc. Con la función Asc podemos obtener el código ASCII de un caracter Función Mid. Extrae partes de una cadena y recibe 3 parámetros. Sintaxis: Mid(cadena, inicio, longitud) El parámetro cadena es la cadena a extraer caracteres. Inicio es el carácter desde donde se comienza la extracción. Longitud es la cantidad de caracteres devueltos a partir del carácter de inicio. Pasos para crear una función que reciba 2 notas como parámetros y deberá calcular el promedio, la función deberá mostrar un mensaje distinto dependiendo del promedio calculado. Paso 1: Cree un nuevo archivo de Excel y elabore el siguiente diseño. Paso 2: Abra el editor de VBA e inserte un módulo con la siguiente función. Function promedio_notas(n1 As Double, n2 As Double) As String

p = (n1 + n2) / 2 If p < 11 Then promedio_notas = "Malo" End If

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 158

Page 159: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

If p >= 11 And p <= 14 Then promedio_notas = "Regular" End If If p > 14 And p <= 17 Then promedio_notas = "Bueno" End If If p > 17 Then promedio_notas = "Excelente" End If

End Function Paso 3: Ingrese la función en las celdas que desea mostrar el mensaje según el promedio. Por ejemplo en la celda D2 ingrese la siguiente función indicándole como parámetros las dos notas que tiene ese primer registro.

=promedio_notas(B2;C2) RESULTADO:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 159

Page 160: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

6.2. ELABORAR PROCEDIMIENTOS UTILIZANDO VARIABLES LOCALES Y GLOBALES.

Variable Local. Pasos para crear un módulo que contenga 2 procedimientos, en el primero se definirá una variable local y en el segundo se utilizara la misma variable del procedimiento 1, el sistema debe evaluar el ámbito de la variable e indicar si está o no definida en el segundo procedimiento. Paso 1: Cree un nuevo archivo de Excel, y en el editor de VBA ingrese los siguientes procedimientos. Sub Procedimiento1()

Dim n As String n = "Programacion" MsgBox "El valor de n es " & n

End Sub Sub Procedimiento2()

If n = "" Then MsgBox "La variable n no está definida" Else MsgBox "La respuesta es " & n End If

End Sub Paso 2: Inserte dos formas en la hoja de Excel y vincule cada forma con un procedimiento distinto.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 160

Page 161: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Paso 3: Ejecute ambos botones vinculados, en el primer caso mostrara el valor de la variable local, en el segundo caso el procedimiento verifico que no existe y mostrara un mensaje de advertencia.

Variable Global. Ejercicio con la misma lógica que el ejemplo anterior con el cambio del ámbito de la variable, ya que en este caso la variable estará definida como global. Crear un nuevo archivo de Excel e ingresar las siguientes funciones con la definición de la variable. Dim n As String Sub Procedimiento1()

n = "Programacion" MsgBox "El valor de n es " & n

End Sub Sub Procedimiento2()

If n = "" Then MsgBox "La variable n no está definida"

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 161

Page 162: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Else MsgBox "La respuesta es " & n End If

End Sub Luego de ejecutar desde los vinculas en la hoja se podrá apreciar el mismo mensaje en ambos procedimientos ya que la variable está definida como global y puede ser vista desde cualquier procedimiento en el módulo.

NOTA: La variable toma el valor “Senati” cuando se ejecuta el primer procedimiento, si al abrir el libro se ejecuta primero el segundo procedimiento se mostrara el mensaje de no definido.

Resultado al ejecutar el Procedimiento 1

Pasos para crear un módulo que al ejecutar muestre y liste todos los nombres de las hojas de Excel. Paso 1: Cree un nuevo archivo de Excel y cree el siguiente procedimiento:

Sub CrearIndiceDelLibro()

Pregunta = MsgBox("Desea crear el índice en una hoja nueva?", _ vbExclamation + vbYesNoCancel, "Donde crear el índie...") If Pregunta = vbCancel Then Exit Sub If Pregunta = vbYes Then Worksheets.Add Before:=Worksheets(1) With [B2] .Value = "Contenido de este libro": .Font.Size = 12

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 162

Page 163: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

.Font.Bold = True: .Font.Underline = xlUnderlineStyleSingle End With For Each Hoja In Worksheets If Hoja.Name <> ActiveSheet.Name Then INCREMENTO = INCREMENTO + 1 ActiveSheet.Hyperlinks.Add _ Anchor:=ActiveSheet.Cells(3 + INCREMENTO, 3), _ TextToDisplay:=Hoja.Name, _ SubAddress:=Hoja.Name & "!A1", _ Address:="" End If Next

End Sub

Paso 2: Inserte una forma y vincule el objeto con el procedimiento creado en el paso anterior. Paso 3: Ejecute la macro desde la forma y dele clic en si para que el índice se cree en una nueva hoja.

RESULTADO: Se creara en una nueva hoja el índice creado por el procedimiento.

El índice lista los nombres de las hojas y

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 163

Page 164: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

crea un vínculo a cada una de ellas.

NOTA: Esta macro es útil cuando se tiene un libro con bastantes hojas, facilitando asi el despliegue entre ellas. Pasos para crear un procedimiento que permitirá encontrar el área de las tres figuras geométricas más utilizadas (cuadrado, triangulo y circulo). El modulo tendrá un procedimiento principal el cual se encargara de evaluar una variable y dependiendo del tipo de figura invocara la ejecución de otro procedimiento distinto. Además se creara otro modulo el cual tendrá un procedimiento que se encargue de registrar la función y agregar los detalles de la misma. Paso 1: Cree un nuevo archivo de Excel y elabore el siguiente diseño:

Paso 2: Abra el editor de VBA y cree dos módulos asignándoles a ambos los nombres que se indican en la siguiente imagen:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 164

Page 165: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Paso 3: En el módulo Mi_funcion_areas_figuras ingrese los siguientes procedimientos: Function area_figura(figura As String, lado As Integer, base As Integer, _ altura As Integer, radio As Integer) As Double

If (figura = "cuadrado") Then area_figura = area_cuadrado(lado) ElseIf (figura = "triangulo") Then area_figura = area_triangulo(base, altura) ElseIf (figura = "circulo") Then area_figura = area_circulo(radio) Else MsgBox ("Figura no definida para esta funcion." + Chr(13) + Chr(13) _ + "Ingrese solo las siguiente figuras: " + Chr(13) _ + "cuadrado - triangulo - circulo") End If

End Function

Public Function area_cuadrado(lado)

area_cuadrado = lado * lado End Function Public Function area_triangulo(base, altura) area_triangulo = (base * altura) / 2 End Function Public Function area_circulo(radio) Const pi As Double = 3.1416 area_circulo = pi * radio * radio

End Function

Paso 4: En el módulo Descripcion_mi_funcion ingrese el siguiente código:

FunctionDescription() '------------------------------------------------------------------------ 'Este procedimiento agrega descripción de ayuda a la función creada,

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 165

Page 166: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

'Además agrega la función a una categoría existente. 'Por [email protected] 'Date: 10/02/2014 '------------------------------------------------------------------------ 'Declarando las variables necesarias Dim NombredeFuncion As String 'FuncName Dim DescripcionFuncion As String Dim CategoriaFuncion As Variant Dim NombredeMiCategoria As String 'La funcion area_figura tiene 5 parametros Dim DescripcionArgumentos(1 To 5) As String '"FrictionFactor" is the name of the function. NombredeFuncion = "area_figura" 'Se agrega la descripción de la función. DescripcionFuncion = "Calcula el área de la figura geométrica indicada" 'Cada categoría tiene un numero asignado. 'En este ejemplo le asignaremos el número 3. CategoriaFuncion = 3 'Puede agregar directamente el nombre de la categoría. 'De forma opcional puede agregar un evento para buscar 'el nombre de la categoria segun el numero ingresado. 'FuncCat = "My VBA Functions" NombredeMiCategoria = "Mis Funciones Personales" 'Here we add the description for the function's arguments. DescripcionArgumentos(1) = "Ingrese solo las figuras: cuadrado, triangulo o circulo" DescripcionArgumentos(2) = "Lado del cuadrado, si la figura ingresada no es un cuadrado, entonces ingrese cero(0)"

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 166

Page 167: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

DescripcionArgumentos(3) = "Base de la figura, si la figura ingresada no es un triangulo, entonces ingrese cero(0)" DescripcionArgumentos(4) = "Altura de la figura, si la figura ingresada no es un triangulo, entonces ingrese cero(0)" DescripcionArgumentos(5) = "Radio del círculo, si la figura ingresada no es un circulo, entonces ingrese cero(0)"

'Opcionalmente puede cambiar la variable NombredeMiCategoria por CategoriaFuncion 'si desea que su función se ubique en una categoría propia de Excel.

Application.MacroOptions _ Macro:=NombredeFuncion, _ Description:=DescripcionFuncion, _ Category:=NombredeMiCategoria, _ ArgumentDescriptions:=DescripcionArgumentos 'Categorías existentes. Select Case CategoriaFuncion Case 1: CategoriaFuncion = "Financial" Case 2: CategoriaFuncion = "Date & Time" Case 3: CategoriaFuncion = "Math & Trig" Case 4: CategoriaFuncion = "Statistical" Case 5: CategoriaFuncion = "Lookup & Reference" Case 6: CategoriaFuncion = "Database" Case 7: CategoriaFuncion = "Text" Case 8: CategoriaFuncion = "Logical" Case 9: CategoriaFuncion = "Information" Case 10: CategoriaFuncion = "Commands" Case 11: CategoriaFuncion = "Customizing" Case 12: CategoriaFuncion = "Macro Control" Case 13: CategoriaFuncion = "DDE/External" Case 14: CategoriaFuncion = "User Defined default" Case 15: CategoriaFuncion = "Engineering" Case Else: CategoriaFuncion = CategoriaFuncion

End Select 'Información para que el usuario sepa que se agregó los datos de la nueva función.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 167

Page 168: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

MsgBox "Mi funcion (" & NombredeFuncion & ") fue agregada satisfactoriamente a la categoria " & NombredeMiCategoria, vbInformation, "Done" End Sub

Paso 5: Ingrese los valores necesarios para calcular por ejemplo el área de un cuadrado e ingres la función en la celda C13: Tome en cuenta que solo debe ingresar los valores que necesite, por ejemplo para el cuadrado solo se necesitaran los valor.es de las celdas C7 y C8, en los demás valores ingrese el cero(0)

Los procedimientos creados en el paso 3 es una muestra de que los códigos se pueden crear en bloques para que su mantenimiento y entendimiento sea más efectivo.

FUNDAMENTO TEÓRICO. Definir la importancia de los procedimientos. Aprender a utilizar parámetros en una función.

Una de las herramientas más importantes en cualquier lenguaje de programación son las funciones. Una función es un conjunto de instrucciones que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello, que este conjunto de instrucciones se agrupan en una función. Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del programa.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 168

Page 169: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Además, una función puede recibir parámetros externos de los cuales dependa el resultado de dicha función. Es decir, según el parámetro o parámetros con los que se invoque a la función, ésta devolverá un resultado u otro. Las funciones deben estar definidas antes de realizar la llamada a la función (como es lógico). Sintaxis general para declarar una función: function nombre (parámetro1, parámetro2, …, parámetroN) { instrucción1 instrucción2 . … Instrucción N } Para llamar (hacer que se ejecute) la función usaremos esta sintaxis: nombre (parámetros); Definición de parámetro. Un parámetro es una orden o valor que se le pasa a la función y esta variará su comportamiento. Por ejemplo se puede crear una función que se llame "NombreDeUsaurio($id);", esta función cuando sea llamada se le pasará un valor numérico dentro de la variable $id y la función dependiendo de este identificador de usuario retornará un nombre u otro valor. Ejemplo: Se escribe dentro de la programación: Buenos días usuario NombreDeUsaurio(48022).

Esto mostrará: Buenos días usuario "Díaz" Las Funciones retornan valores o no. Si el usuario 1456 no hubiese sido encontrado en la base de datos la función no hubiese retornado nada o el

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 169

Page 170: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

programador podría haber previsto esto y mostrar un mensaje de error o advertencia (usuario 48022 no ha sido encontrado).

NOTA: Diferencia entre parámetro y argumento en programación: En general las palabras argumento y parámetro son tomadas como sinónimos; en realidad hay diferencia: los parámetros aparecen en la definición del procedimiento, los argumentos aparecen en los llamados a procedimientos.

Normas generales de uso de parámetros. Ejemplo 1: Crear un archivo de Excel y diseñar la siguiente hoja.

Habilitar el editor de vba, insertar un módulo y crear la siguiente función.

Public Function Descuento(Precio, porcentaje As Double) Descuento = Precio - (porcentaje / 100 * Precio) End Function

Ingresar la función y darle los parámetros que necesita para calcular el nuevo precio final.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 170

Page 171: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

También puede utilizar la herramienta para insertar función de Excel.

Ejemplo 2: Crear un archivo de Excel y diseñar la siguiente hoja.

Habilitar el editor de vba, insertar un módulo y crear la siguiente función.

Ingrese la función en la celda B2 utilizando la función CalculaImpuesto, la cual recibirá como parámetro el Monto y devolverá el igv.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 171

Page 172: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Explicación de la función CalculaImpuesto:

Todas las funciones que creemos se deben colocar entre las secciones “Function …. End Function“, para este caso CalculaImpuesto, es el nombre de nuestra función y será el nombre que ocupemos para llamarla en nuestra hoja de cálculo. La sección “(Valor As Double)” indica que la función recibe un parámetro (o valor) de tipo Double y con nombre Valor (Double es un tipo de datos numérico e indica que contendrá un numero posiblemente con decimales), la parte As Double, indica que el resultado de la formula también será de tipo Double. Dim calculo As Double, declara una variable llamada calculo y que será de tipo double, la línea calculo = Valor * 0.18, realiza el cálculo de la formula multiplicando por 0.13 el valor que se recibe como parámetro y lo almacena en la variable Calculo. Finalmente en la línea CalculaImpuesto = calculo, indica que la función regresa el valor almacenado en la variable calculo (esto es el resultado Valor * 0.13).

NOTA: Un parámetro representa un valor que el procedimiento espera que se transfiera cuando es llamado. La declaración del procedimiento define sus parámetros. Cuando se define un procedimiento Function o Sub, se especifica una lista de parámetros entre paréntesis que va inmediatamente después del nombre de procedimiento. Para cada parámetro, se especifica un nombre, un tipo de datos y un mecanismo para pasar argumentos. También puede indicar que un parámetro es opcional. Esto significa que el código de llamada no tiene que transferir un valor. El nombre de cada parámetro actúa como una variable local en el procedimiento. El nombre del parámetro se utiliza del mismo modo que cualquier otra variable.

Pasos para definir un parámetro de procedimiento. 1. En la declaración del procedimiento, agregue el nombre de parámetro a la lista

de parámetros del procedimiento, separándolo de otros parámetros mediante comas.

2. Decida el tipo de datos del parámetro.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 172

Page 173: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

3. Inserte una cláusula As después del nombre de parámetro para especificar el tipo de datos.

4. Decida el mecanismo para pasar los argumentos que desea para el parámetro. Normalmente los parámetros se transfieren por valor, a menos que desee que el procedimiento pueda cambiar su valor en el código de llamada.

5. Anteponga ByVal (Visual Basic) o ByRef (Visual Basic) al nombre del parámetro para especificar el mecanismo para pasar argumentos.

6. Si el parámetro es opcional, anteponga Optional (Visual Basic) al mecanismo para pasar argumentos y, detrás del tipo de datos del parámetro, incluya un signo igual (=) y un valor predeterminado.

En el ejemplo siguiente se define el esquema de un procedimiento Sub con tres parámetros. Los dos primeros parámetros son obligatorios, mientras que el tercero es opcional.

Las declaraciones de parámetros están separadas en la lista de parámetros mediante comas. Sub updateCustomer(ByRef c As customer, ByVal region As String, Optional ByVal level As Integer = 0) ' Insert code to update a customer object. End Sub Ejemplo en Visual Basic Elaborar procedimientos utilizando variables locales y globales. ÁMBITO DE LAS VARIABLES. El ámbito de una variable determina el módulo y el procedimiento en el que se puede usar una variable.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 173

Page 174: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Ámbito Como se declara una variable en este ámbito

Un procedimiento Incluye instrucciones Dim, Static o Private dentro del procedimiento.

Al nivel del modulo Incluye una instrucción Dim antes del primer procedimiento de un módulo.

Todos los módulos Incluye una instrucción Public antes del primer procedimiento de un módulo.

Variables Locales. Las variables Locales son aquellas que se declaran dentro de un módulo o procedimiento y sólo pueden ser utilizadas en éste. Éstas dejan de existir una vez que el procedimiento termina su ejecución. Se pueden usar en otros módulos o procedimientos pero sus características nada tienen que hacer con la declaración dada en otro módulo o procedimiento. Para declararlas se debe usar la sentencia DIM.

Por ejemplo: Sub procedimiento()

Dim nDat As Integer Dim Cadena As String Sentencias ....

End Sub Variables a nivel de módulo. Algunas veces se deseará que una variable esté disponible para todos los procedimientos de un módulo. Para ello, se declara la variable antes del primer procedimiento del módulo (fuera de cualquier procedimiento o función). DIM fecha As Date

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 174

Page 175: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Sub Dias() ´Aquí va el código

End Sub Sub Meses()

´Aquí va el código End Sub Variables Public. Para que una variable esté disponible para todos los procedimientos de un proyecto de VBA, se declara la variable a nivel de módulo con el uso de la palabra public. Public InteresAnual as Long Variables Static. Las variables estáticas son un caso especial. Se declaran a nivel de procedimiento y retienen su valor después de que el procedimiento finaliza. Sub Ejemplo()

Static Counter As Integer ´Aquí va el código

End Sub

Procedimientos: Un procedimiento está formado por un conjunto de sentencias que permite resolver un problema. Un módulo está formado por uno o más procedimientos. Un procedimiento se declara a través de la sentencia Sub y puede ser Privado, Público o Estático. • Procedimiento Privado. Un procedimiento privado sólo es accesible por otros procedimientos dentro del mismo módulo. Su sintaxis es: Private Sub Procedimiento (Argumento1,Argumento2,.....) [sentencias] End Sub

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 175

Page 176: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

• Procedimiento Público. Un procedimiento público es accesible por todos los procedimientos de todos los módulos VBA de un proyecto, su sintaxis es: Public Sub Procedimiento(Argumento1,Argumento2,.....) [Sentencias] End Sub • Procedimiento Estático. Para que las variables de un procedimiento se conserven una vez terminada su ejecución, éste debe definirse como Estático: Static Sub Procedimiento(Argumento1,Argumento2,.....) [Sentencias] End Sub

La sentencia Sub y End Sub son obligatorias al definir cualquier procedimiento. Los argumentos y las sentencias Private, Public y Static son opcionales. Es importante mencionar que al definir un procedimiento sin ninguna de las sentencias anteriores, por defecto éste se define como Público, es decir: Sub Procedimiento(argumento1,argumento2,.....)

[Sentencias] End Sub Es equivalente a : Public Sub Procedimiento(argumento1,argumento2,.....)

[Sentencias] End Sub Existe una instrucción que permite terminar la ejecución de un procedimiento, ésta es la instrucción Exit Sub. Por ejemplo, si tenemos el siguiente procedimiento: Sub Procedimiento(argumento1,argumento2,.....)

[Sentencias] Exit Sub

[Sentencias] End Sub Llamar a un procedimiento desde otro

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 176

Page 177: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Para llamar a un procedimiento desde otro procedimiento, se puede utilizar la sentencia Call o simplemente el nombre del procedimiento. Por ejemplo: Sub Proced1 (Argumento1,Argumento2,.....) [Sentencias] Proced2 [Sentencias] End Sub

En este caso, el procedimiento Proced1 llama al procedimiento Proced2. La sentencia Call se utiliza cuando se requiere llamar a un procedimiento al cual hay que pasarle un argumento, por ejemplo: Sub Procedimiento1(argumento1,argumento2,.....) [Sentencias] indice= ........ Call Proced2(indice) [Sentencias] End Sub En este caso, el procedimiento Procedimiento1 llama al procedimiento Procedimiento2 al cual se le debe pasar el argumento indice. Es recomendable utilizar siempre la sentencia Call para llamar a otro procedimiento, aunque a éste no se le tengan que pasar argumentos, esto permite identificar más fácilmente las llamadas a otros procedimientos. Ejemplo para crear procedimiento con variable local. Sub Variable_local()

Dim x As Integer, y As Integer x = 5 y = 20 MsgBox "el valor de x es " & x & _ Chr(13) & "el valor de y es " & y

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 177

Page 178: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

End Sub

Ejemplo de ámbito de una variable local. Sub Macro1()

Dim x As Integer x = 10 MsgBox "x, según se ve en Macro1 es " & x 'la siguiente línea ejecuta Macro2 Macro2

End Sub Sub Macro2()

MsgBox "x, según se ve en Macro2 es " & x End Sub Al ejecutar el resultado sería el siguiente:

Si modificamos el ejemplo anterior y declaramos las variables al inicio del módulo indicando que son globales, tal como lo muestra el siguiente código:

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 178

Page 179: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Al ejecutar el procedimiento tendríamos las siguientes ventanas de alerta como resultado.

Se puede apreciar que la variable tiene un alcance de todo el modulo, por tal motivo se puede saber su valor desde la Macro1 y la Macro2.

Definir las ventajas de utilizar procedimientos y funciones. Ventajas y desventajas del uso de funciones y procedimientos. Las funciones y procedimientos son dos de las herramientas de la caja de herramientas de cada programador que le permiten escribir un código más eficiente. Mientras que puede ser un inconveniente el uso de estas opciones de programación, las ventajas superan con mucho cualquier desventaja. Mediante la implementación de funciones y procedimientos en tu programa, el programador reduce el tiempo de codificación y el tiempo de depuración, reduciendo así el tiempo total de desarrollo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 179

Page 180: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Procedimientos y funciones. Los procedimientos y funciones operan sobre el mismo principio de escribir un pequeño fragmento de código que se puede llamar, en lugar de escribir el mismo código en varios lugares en tu programa. Esta práctica, por lo menos, reduce el tamaño del programa, y normalmente mejora la legibilidad del programa. La mayoría de los lenguajes de programación contienen funciones incorporadas, y apoyan la capacidad para crear procedimientos y funciones en tu código.

OBSERVACIONES. Efectos de mantenimiento. Los efectos sobre el mantenimiento del programa, que es la más costosa de las etapas de desarrollo, pueden ser tanto buenos como malos. Al igual que con la depuración, si el problema se encuentra en un procedimiento llamado, entonces puedes encontrarlo una vez y eliminarlo rápidamente. Sin embargo, si el programador que escribió el código, usó procedimientos y funciones en exceso, el programa puede ser más difícil de entender. Entre más difícil sea de entender, más tiempo se necesita para arreglar un programa.

Utilizar la recursividad en el uso de procedimientos y funciones. Crear funciones y procedimientos por separado puede ser muy útil cuando necesitamos organizar y reutilizar procesos así como también optimizar el tiempo de mantenimiento del mismo.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 180

Page 181: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.

Programación Modular. Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 181

Page 182: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación modular. Veamos un ejemplo de cómo emplear el diseño descendente para resolver un problema. Supongamos que un profesor quiere crear un programa para gestionar las notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según distintas calificaciones, etc. A continuación veremos un esquema que representa una de las posibles divisiones del problema en módulos.

Ventajas de la programación estructurada Ventajas de la programación estructurada comparada con el modelo anterior

(hoy llamado despectivamente código espagueti). Los programas son más fáciles de entender, pueden ser leídos de forma

secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.

La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.

Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.

Notas alumnos

Elegir opción

Asignar nota

Borrar Nota Visualizar

Por Notas

Por apellidos

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 182

Page 183: MANUAL DE APRENDIZAJE - virtual.senati.edu.pevirtual.senati.edu.pe/curri/file_curri.php/curri/PDSD/89001561... · IDENTIFICAR LAS PALABRAS RESERVADAS DE UN LENGUAJE. 122 5.2. DEFINIR

FUNDAMENTOS DE PROGRAMACIÓN

Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.

Los programas son más sencillos y más rápidos de confeccionar.

1. Mencione y explique la importancia de los procedimientos. 2. ¿Cuáles son las ventajas de los parámetros? 3. Realice un procedimiento que contenga variables locales y globales. 4. ¿En qué consiste la programación estructurada?

Ejercicios y tareas de investigación

ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 183