Fundamentos de Programacion - IMSS
Fundamentos de Programacion - IMSS
Fundamentos de Programacion - IMSS
Fundamentos de programacin
Fundamentos de Programacin
La lgica
es la tcnica El razonamiento
el arte
| IMSS
Fundamentos de Programacin
Contenido
Objetivo General...................................................................................... 5 Dirigido a: .............................................................................................. 5 Requisitos: ............................................................................................. 5 Introduccin............................................................................................ 6 Mdulo I: Aspectos Generales .............................................................. 7 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. Objetivo ................................................................................... 7 Introduccin .............................................................................. 7 Estructura fsica de una computadora ........................................... 7 Estructura lgica de una computadora .......................................... 9 Lenguajes de Programacin ...................................................... 10 Tipos de datos ......................................................................... 11 Resumen ................................................................................ 11 Evaluacin .............................................................................. 12 Objetivo ................................................................................. 13 Introduccin ............................................................................ 13 Diseo modular ....................................................................... 13 Algoritmo ................................................................................ 14 Diagramas de flujo ................................................................... 15 Pseudocdigo .......................................................................... 16 Resumen ................................................................................ 17 Evaluacin .............................................................................. 17 Objetivo ................................................................................. 19 Introduccin ............................................................................ 19 Secuenciales ........................................................................... 19 Selectivas ............................................................................... 20 Repetitivas .............................................................................. 21 Resumen ................................................................................ 22 Evaluacin .............................................................................. 22 IMSS | 3
Fundamentos de Programacin
Mdulo IV: Resolucin de problemas por computadora ..................... 23 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9. 4.10. 5.1. 5.2. 5.3. 5.4. Objetivo ................................................................................. 23 Introduccin ............................................................................ 23 Anlisis ................................................................................... 23 Diseo .................................................................................... 24 Codificacin............................................................................. 25 Compilacin y ejecucin............................................................ 25 Depuracin ............................................................................. 26 Documentacin y mantenimiento ............................................... 26 Resumen ................................................................................ 27 Evaluacin .............................................................................. 27 Objetivo ................................................................................. 29 Introduccin ............................................................................ 29 Interfaz .................................................................................. 29 Estructuras de control selectivas ................................................ 32
If Then ......................................................................................... 33 Select Case ..................................................................................... 33 5.5. Estructuras de control repetitivas ............................................... 34 Do While ......................................................................................... 34 Do Until .......................................................................................... 34 For Next ....................................................................................... 34 5.6. 5.7. 5.8. Tipos de datos ......................................................................... 35 Resumen ................................................................................ 36 Evaluacin .............................................................................. 37
| IMSS
Fundamentos de Programacin
Objetivo General
Al trmino del curso el participante emplear fundamentos de la programacin estructurada para representar y automatizar en computadora la solucin de un problema.
Dirigido a:
El curso Fundamentos de Programacin est dirigido a todo trabajador IMSSSNTSS, con conocimientos bsicos de informtica que desee representar y automatizar en computadora la solucin de problemas.
Requisitos:
Haber acreditado el curso de Windows XP experiencia mnima de un ao trabajando con computadoras personales bajo sistema operativo Windows XP.
Fundamentos de Programacin
Introduccin
El Centro Nacional de Capacitacin y Calidad IMSS SNTSS, contribuye al desarrollo de la cultura organizacional y a la profesionalizacin, mediante la capacitacin y asesora de programas de Informtica a trabajadores, representantes sindicales y directivos institucionales, con el fin de mejorar los procesos y servicios que ofrecen a la poblacin derechohabiente. En congruencia con lo anterior, la Coordinacin de Informtica del CNCyC, es la encargada de disear y ejecutar los programas de Informtica que garanticen y aseguren la adquisicin de conocimiento, habilidades y destrezas a los compaeros trabajadores. Fundamentos de programacin trata bsicamente de mtodos, tcnicas, herramientas y estructuras elementales que facilitan la representacin de una solucin de un problema que te auxiliar en el momento en que tengas que analizar y disear un programa por computadora. El presente curso se conforma de los mdulos siguientes: Aspectos generales. Se centra en la estructura fsica y lgica de una computadora, lenguajes de programacin y tipos de datos, adems de explicar por qu es posible programar una computadora. Mtodos y herramientas de programacin. Trata sobre la utilizacin del diseo modular, algoritmo, diagrama de flujo y pseudocdigo como elementos a emplear en el diseo de programas. Programacin estructurada. Resalta la utilizacin de las estructuras de control secuenciales, selectivas y repetitivas en la elaboracin de programas. Resolucin de problemas por computadora. Desarrolla un mtodo a seguir para representar la solucin de un problema por computadora, inicia desde la concepcin misma del problema hasta la documentacin del programa. Introduccin a Visual Basic. Aborda una introduccin al lenguaje y explicacin de sentencias bsicas que permiten codificar los problemas abordados durante el curso. Recomendamos la interaccin de sus conocimientos previos con la adquisicin de nuevos, de tal manera que los adapte al contexto laboral y personal.
Introduccin | IMSS
Fundamentos de Programacin
1.2. Introduccin
El ser humano resuelve problemas y la computadora se encarga de automatizarlos. De ah la importancia de comprender cmo opera la Unidad Central de Procesamiento en conjunto con los sistemas operativos, software de aplicacin y lenguajes de programacin. El diseo de la Unidad Aritmtica y Lgica de la Unidad Central de Procesamiento faculta a la computadora a realizar operaciones matemticas, pero tambin de comparacin, esto le brinda la posibilidad de emitir, por ejemplo: un listado de personas por grupo de edad, clasificar medicamentos por fecha de caducidad, localizar un dato en particular, etc. A continuacin se describe brevemente tanto la estructura fsica como lgica de una computadora.
Una computadora es un dispositivo electrnico utilizado para procesar datos y proveer de informacin para la toma de una decisin.
Fundamentos de Programacin
La Unidad Central de Procesamiento es el elemento de una computadora que interpreta las instrucciones y procesa los datos contenidos en los programas, consta de la Memoria Central y el Procesador que, a su vez, se compone de: Unidad de Control (es la que coordina las actividades y determina qu operaciones se deben realizar y en qu orden) y la Unidad Aritmtica y Lgica (realiza operaciones aritmticas y lgicas). La Unidad Aritmtica y Lgica adems de procesar las operaciones aritmticas (suma, resta, etc.,) lleva a cabo las operaciones de comparacin (Y, NO, O). Lo anterior es posible porque la Unidad Central de Procesamiento cuenta con un diseo de circuitos que hace posible realizar operaciones anlogas que indican los operadores lgicos. Compuerta Operador
T T S 0 1 0 1
Salida
S 0 0 1 1 R 0 0 0 1
T T S
S 0 0 1 1
R 0 1 1 1
0 1 0 1
T T S R
S 0 0 1 1
R 1 0 0 0
NO
0 1 0 1
Bsicamente una tarea dentro de la Unidad Central de Procesamiento inicia con la lectura de la memoria de datos o instrucciones que hay que ejecutar y lo guarda en un registro, comprueba si necesita de nuevos datos, en caso de ser as, determina dnde buscarlos para proceder a ejecutarlos; por ltimo, el resultado se almacena.
La memoria central es temporal, los datos e instrucciones almacenadas slo estn presentes cuando la computadora est encendida. Se organiza en unidades de almacenamiento; 8 Mdulo I: Aspectos Generales | IMSS
Fundamentos de Programacin
la unidad elemental de memoria se llama Byte, compuesta a su vez por unidades ms pequeas llamadas bits. Tome en cuenta que los bytes almacenados en la memoria central tienen asociada una direccin nica que indica su posicin y mediante la cual la computadora puede acceder a sus datos e instrucciones almacenados. El contenido de estas direcciones puede contener palabras de 16, 32, y 64 bits, lo que significa que si trabaja con una aplicacin de 32 bits su computadora puede alojar 32 dgitos en cada direccin de memoria.
Sistema Operativo
Por supuesto que cualquier computadora para funcionar debe tener cargado un Sistema Operativo, cuya funcin es administrar sus recursos (pantalla, teclado, mouse, etc.) adems de fungir como un intrprete a las acciones de los usuarios (encender, copiar, pegar, cortar, etc.).
Hardware, no existe una traduccin literal al espaol, pero se comprende como la parte tangible de una computadora, tales como: Dispositivos de Entrada, UCP, Dispositivos de Salida.
2
Software, se comprende como la parte blanda de una computadora, tales como: Sistemas Operativos, Lenguajes de Programacin y Sistemas de Aplicacin.
Fundamentos de Programacin
Sobre el Sistema Operativo se instalan el Software de Aplicacin, cuya funcin es preparar a la computadora para que funcione como una mquina de escribir, calculadora, contenedor de datos, lienzo de dibujo, etc., claro est que con mucho ms ventajas. Por otra parte, los Lenguajes de Programacin se definen por un conjunto de smbolos a utilizar, bajo reglas de sintaxis y semntica.
10
Fundamentos de Programacin
Por su paradigma de programacin: Estructurada. Se basa en el uso exclusivo de estructuras de control secuenciales, alternativas e iteracin para el control del flujo de ejecucin del cdigo. Objetos. La programacin se enfoca a objetos con propiedades nicas que combinan datos bajo comportamientos de procedimientos o mtodos.
1.7. Resumen
Un programa es un conjunto de instrucciones que sigue la computadora para alcanzar un resultado en particular. Por otra parte, un lenguaje de programacin est constituido por un conjunto de reglas sintcticas (la formacin de instrucciones vlidas) y semnticas (significado de las instrucciones), que hace posible escribir un programa. Identificar y operar correctamente mtodos y tcnicas que faciliten el desarrollo de aplicaciones por computadora es tarea esencial de la persona que las programe. El utilizar el adecuado tipo de dato en los procesos y operaciones que realiza la computadora da como resultado un ptimo manejo de la misma. Cabe expresar que es el ser humano quien resuelve los problemas y no la computadora. IMSS | Mdulo I: Aspectos Generales 11
Fundamentos de Programacin
1.8. Evaluacin
Instrucciones. Subraye la respuesta que usted considere correcta. 1. Lugar donde se llevan acabo operaciones como suma o resta. a) UCP b) Unidad Aritmtica c) Unidad Aritmtica y lgica 2. Se clasifica Dentro del software de aplicacin. a) Visual Basic b) Microsoft Word c) Prolog 3. Se definen por un conjunto de smbolos a utilizar, bajo reglas de sintaxis y semntica. a) Programa b) Lenguaje de programacin c) Sistema Operativo 4. Su funcin es administrar sus recursos adems de fungir como un intrprete a las acciones de los usuarios. a) Programa b) Lenguaje de programacin c) Sistema Operativo 5. En este tipo de lenguaje las instrucciones se escriben en un lenguaje natural al ser humano, generalmente en el idioma ingls. a) Mquina b) Bajo nivel c) Alto nivel 6. En este tipo de lenguaje las instrucciones se escriben en cdigos nemotcnicos a) Mquina b) Bajo nivel c) Alto nivel
Valor por respuesta correcta 1 punto
Instrucciones. Complemente las frases siguientes. 1. La programacin _____________ se basa en el uso exclusivo de rdenes de control secuenciales, alternativas e iteracin para el control del flujo de ejecucin del cdigo. 2. Los datos ____________ ocupan un grupo de casillas de memoria 3. Los datos ___________ ocupan una casilla simple de memoria 4. El Lenguaje ______________ es aquel cuyas instrucciones son entendibles directamente por la computadora, ya que se expresan en trminos de dgito binario.
Valor por respuesta correcta 1 punto Valor total 10 puntos Indicador de avance. Si obtuvo 8 puntos o ms, felicidades a usted le ha quedado claro el contenido del Mdulo I, de lo contrario le recomendamos repasar los temas y volver aplicar la evaluacin.
12
Fundamentos de Programacin
2.2.
Introduccin
Muy difcilmente una persona puede concluir un programa con el slo hecho de sentarse frente a la computadora y teclearlo. Hasta el programador ms experimentado posee mtodos y dispone de un conjunto de herramientas que agilizan su trabajo y lo conducen a resultados esperados. Proveerse de mtodos y aplicar adecuadamente las herramientas permite afrontar problemas de manera adecuada. A continuacin,abordaremos algunos mtodos y herramientas comunes en la programacin de computadoras.
2.3.
Diseo modular
El diseo modular es un mtodo para abordar problemas y as representar su solucin en computadora, parte del paradigma divide y vencers, en otras palabras, se trata de fraccionar ascendente o descendentemente el problema en mdulos independientes y comprensibles.
Problema
De esta manera cada programa cuenta con un mdulo principal que regula todos los procesos que suceden, conforme se requiera transfiere el control a los submdulos, tambin un submdulo puede transferir temporalmente el control a otro submdulo de tal manera que siempre devuelva el control al mdulo de donde recibi la llamada.
Suma Resta Multiplicacin Divisin
A+B
A-B
A*B
A/B
13
Fundamentos de Programacin
Una gran ventaja de la independencia de los mdulos en este diseo es que se pueden emplear de manera simultnea a ms de un programador.
2.4.
Algoritmo
Un algoritmo es la representacin textual, paso a paso, que debe seguirse para resolver un problema, en s, se conforma por un conjunto de procedimientos y operaciones que intervienen en dicha solucin. Por lo que previo a la transcripcin del algoritmo debemos realizar un anlisis del problema fraccionndolo en mdulos para su mayor comprensin y fcil manejo.
Lo que se pretende en un algoritmo es facilitar la transcripcin del programa a la computadora.
Podemos decir tambin que un algoritmo es un mtodo de solucin de problemas a travs de una serie de pasos precisos, definidos y finitos. Preciso; indica un orden en cada paso, Definido; si es seguido ms de una vez debemos obtener el mismo resultado, Finito; el algoritmo debe de contar con un fin. La tabla siguiente muestra el algoritmo para la solucin de una expresin matemtica con una incgnita.
Expresin: ax + b = c
Recuerde que si un elemento est sumando pasa restando. Si est restando pasa sumado. Si est multiplicando pasa dividiendo y si los divise pasa multiplicando.
a 1 4 8
b 2 5 2
c 3 6 10
=x 1 .25 1
14
Fundamentos de Programacin
2.5.
Diagramas de flujo
Los diagramas de flujo se comprenden como la representacin visual de un algoritmo, en esencia, representan grficamente la solucin de un problema. Sus aplicaciones pueden ser en la representacin de procesos y procedimientos administrativos, planificacin de un proyecto de El cerebro reconoce y retiene trabajo, etc. En la elaboracin de programas, es comn que visuales. la persona parta de un diagrama de flujo ms que de un algoritmo. Lo anterior no significa el incumplimiento de la fase del diseo del algoritmo, porque generalmente el programador experimentado lo tiene presente en su mente, y lo podemos ver reflejado en el anlisis y esquematizacin del problema representados en el diagrama de flujo. La siguiente tabla muestra los smbolos de la Norma ANSI (American National Standard Instituto) para elaborar diagramas de flujo.
en mayor proporcin datos
Smbolo
Descripcin
Terminal. Indica el inicio o la terminacin del flujo, puede ser accin o lugar. Datos. Elementos que alimentan y se generan en el procedimiento (generalmente datos). Actividad. Describe las funciones que desempean los procedimientos. Decisin o alternativa. Indica un punto dentro del flujo en que son posibles varios caminos alternativos. Nota aclaratoria. No forma parte del diagrama de flujo, es un elemento que se adiciona a una operacin o actividad para dar una explicacin. Documento. Representa cualquier tipo de documento que entra, se utilice, se genere o salga del procedimiento. Conector. Representa una conexin o enlace de una parte del diagrama de flujo con otra parte lejana del mismo. Conector de proceso. Representa una conexin o enlace con otro proceso diferente, en la que contina el diagrama de flujo. Lnea de comunicacin. Proporciona la direccin de datos de un lugar a otro.
15
Fundamentos de Programacin
El siguiente Diagrama de flujo muestra grficamente el algoritmo para la solucin de una expresin matemtica con una incgnita.
Inicio
a, b, c
x = c - b/a
Fin
Cabe mencionar que un diagrama de flujo debe llevarse bajo las reglas siguientes: o o o o o o o o Debe tener un inicio y un fin. Las lneas de flujo utilizadas deben ser rectas, verticales u horizontales. Toda lnea utilizada debe tener una conexin a un smbolo. No puede llegar ms de una lnea al smbolo. Debe ser construido bajo el enfoque descendente y de izquierda a derecha. La notacin utilizada debe ser independiente del lenguaje de programacin. Si se ocupa ms de una hoja, deben utilizarse conectores. Si es necesario, proveerlo de comentarios que expresen lo que hicimos.
2.6.
Pseudocdigo
El pseudocdigo es una herramienta en la cual las instrucciones se escriben en el lenguaje propio de la persona; prcticamente es un lenguaje de representacin del algoritmo. Ingrese a, b y c
Pseudocdigo para calcular X de la expresin: ax + b = c
Un pseudocdigo facilita la codificacin de la resolucin del problema. En el momento de elaborarlo se 16 Mdulo II: Mtodos y herramientas de programacin | IMSS
Fundamentos de Programacin
recomienda resaltar las palabras que van a ser sustituidas por las instrucciones propias del lenguaje de programacin en que se codifique.
2.7.
Resumen
El uso del diseo modular, algoritmos, diagramas de flujo y pseudocdigos son mtodos y herramientas para el programador que desea representar de manera ptima la solucin de un problema en la computadora. El diseo modular parte del paradigma divide y vencers, trata de fraccionar ascendente o descendentemente el problema en mdulos independientes y comprensibles. El algoritmo es un mtodo de solucin de problemas a travs de una serie de pasos precisos, definidos y finitos. El diagrama de flujo es la representacin visual de un algoritmo. El pseudocdigo es la representacin del algoritmo o diagrama de flujo en el lenguaje natural del ser humano.
2.8.
Evaluacin
Instrucciones. Coloque en los parntesis de la columna derecha los nmeros de la columna izquierda segn corresponda:
1. 2. 3.
Indica el inicio o la terminacin del flujo. Proporciona la direccin de datos de un lugar a otro. Trata de fraccionar ascendente o descendentemente el problema en mdulos independientes y comprensibles. Herramienta en la cual las instrucciones se escriben en el lenguaje propio de la persona. Representa una conexin o enlace con otro proceso diferente. Representan grficamente la solucin de un problema. Indica un orden en cada paso. Indica un punto dentro del flujo en que son posibles varios caminos alternativos. Si es seguido ms de una vez debemos obtener el mismo resultado. procedimientos. ( ( ) Pseudocdigo ) Diseo Modular
4. 5. 6. 7. 8. 9.
( ( ( (
) Preciso
17
Fundamentos de Programacin
Instrucciones. Desarrolle algoritmo, diagrama de flujo y pseudocdigo a los problemas siguientes: Determinar X. 1. a/b= cx 2. b+c+x=a 3. (a+b)/x=a 4. bc=x/a 5. bx-c=a
Valor por respuesta correcta 3 puntos Valor total 25 puntos Indicador de avance. Si obtuvo 22 puntos o ms, felicidades a usted le ha quedado claro el contenido del Mdulo II, de lo contrario le recomendamos repasar los temas y volver a aplicar la evaluacin.
18
Fundamentos de Programacin
3.2.
Introduccin
Los programas de computadora normalmente se disean de lo general a lo particular; se basa en una descomposicin sucesiva del problema, de tal manera que cada parte conformada realiza una tarea en particular.
La programacin estructurada significa codificar un programa en comn acuerdo con las reglas siguientes: El programa parte de un diseo modular. Los mdulos son diseados de forma descendente. Cada mdulo integra en su cdigo las tres estructuras de control bsicas: secuenciales, selectivas y repetitivas.
La programacin estructurada fue desarrollada en sus principios por Edgar W. Dijkstra y se basa en el 3 teorema de la estructura desarrollado en 1966 por Bhm y Jacopini.
Las ventajas de utilizar este tipo de programacin radican en que son fciles de leer, comprender, codificar y mantener los programas, adems de aprovechar los recursos de la computadora.
3.3.
Secuenciales
Para una mayor comprensin de las estructuras de control utilizaremos los smbolos usados en la construccin de los diagramas de flujo, de tal forma que podamos representarlas grficamente.
X
La estructura de control secuencial consta de entrada, acciones y salida, en la cual se agrupan linealmente para su ejecucin.
X Y Z
El teorema de la estructura establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lgicas de control: secuencia, seleccin e iteracin. Un programa se define como propio si cumple con los dos requerimientos siguientes: o Tiene exactamente una entrada y una salida para control del programa. o Existen caminos a seguir desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan.
19
Fundamentos de Programacin
3.4.
Selectivas
En este momento es importante recordar que las computadoras hacen ms que sumar y restar, ya que con el uso de operadores podemos realizar procesos sencillos o complejos segn sea el caso. Las tablas siguientes muestran los operadores ms comunes:
OPERADOR DE COMPARACIN
SIGNIFICADO
OPERADOR ARITMTICO
OPERACIN
+ *
/
%
Mayor que Igual o Igual o Menor que Menor que Distinto de Distinto de
^ ()
En las estructuras selectivas las acciones se ejecutan dependiendo del resultado de una condicin u expresin, tienen la caracterstica de contar una o ms salidas. Estas estructuras pueden ser simples o compuestas.
Estructura compuesta
20
Fundamentos de Programacin
Alternativa mltiple
3.5.
Repetitivas
Las estructuras repetitivas permiten optimizar y agilizar los programas, ya que una o un conjunto de acciones tienden a repetirse un nmero de veces.
Bucle finito
21
Fundamentos de Programacin
El bucle se ejecuta al menos una vez, posteriormente valida la condicin. Si la condicin se cumple finaliza el bucle, en caso contrario ejecuta nuevamente las acciones hasta que la condicin se cumpla.
3.6.
Resumen
La programacin estructurada emplea un nmero delimitado de estructuras de control que reducen la complejidad de los programas, resultando ms fcil la codificacin, ejecucin y mantenimiento. El principio de la programacin estructurada deriva de que cualquier solucin de problema que se pretenda representar en la computadora se conforma por estructuras de control secuenciales, selectivas y repetitivas.
3.7.
Evaluacin
Instrucciones. Utilizando las estructuras de control elabore: diagrama de flujo y pseudocdigo a los problemas siguientes: 1. 2. 3. 4. 5. 6. Tabla de multiplicar del 9 Tablas de multiplicar del 1 al 10 Solicitar que tabla se quiere Ingresar valores hasta teclear 0 Realizar una suma hasta que el valor sea igual o mayor a 100 Que muestre un mensaje de APROBADO si la calificacin es mayor o igual a 6 y REPROBADO si la calificacin es menor a 6. 7. Que muestre un mensaje de acuerdo a la siguiente tabla: Valor Mensaje
<6 6 a 6.5 6.6 a 7.5 7.6 a 8.5 8.6 a 9.5 9.6 a 10 >10 No puede ser Suficiente Regular Bien Muy Bien Excelente No te pases
Indicador de avance. Si obtuvo 12 puntos o ms, felicidades a usted le ha quedado claro el contenido del Mdulo III, de lo contrario le recomendamos repasar los temas y volver aplicar la evaluacin.
22
Fundamentos de Programacin
4.2.
Introduccin
El representar la solucin de un problema a travs de una computadora no es una tarea fcil, para llevarlo a cabo es necesario resolverlo manualmente, esto es, tener una plena comprensin del problema, amplio conocimiento del tema, desarrollar el algoritmo, diagrama de flujo y pseudocdigo. La habilidad, destreza y esfuerzo mental permite a cada ser humano resolver un problema de manera nica. A continuacin se presenta un mtodo para representar la solucin de un problema por computadora, facilitando su escritura y ejecucin.
Un problema tiene que ver con una situacin presente y que de alguna manera afecta una realidad, el cual debe resolverse bajo un mtodo lgico.
4.3.
Anlisis
La primera fase para representar la solucin de un problema por computadora es el anlisis; se refiere a la descomposicin de todo un problema en partes entendibles, con el fin de tratarlos de manera separada, para luego en un proceso de sntesis llegar a una comprensin integral. En esta fase la persona debe responder los cuestionamientos siguientes: Qu salidas se esperan? Qu entradas se requieren? Qu procesos producen las salidas? Supongamos que tenemos tres nmeros enteros positivos diferentes A, B, y C, se pide identificar al mayor:
Qu salidas se esperan?
Qu entradas se requieren?
4.4.
Diseo
Esta fase consiste en el diseo de la solucin del problema; abarca la fase de anlisis, el resultado es un algoritmo y generalmente se representa con un diagrama de flujo y pseudocdigo principalmente. Siguiendo nuestro ejemplo tanto el diagrama de flujo como el pseudocdigo quedan de la manera siguiente:
Inicio
Diagrama de flujo
A, B, C
Verdadero
A>B
Falso
Verdadero
A>C
Falso
Verdadero
B >C
Falso
El mayor es
El mayor es
El mayor es
El mayor es
Leer A, B y C Si A > B entonces Fin Si A > C entonces Escribir El mayor es A Si no Escribir El mayor es C Fin Si Si no Si B > C entonces Escribir El mayor es B Si no Escribir El mayor es C Fin Si Fin si
Pseudocdigo
24
Fundamentos de Programacin
4.5.
Codificacin
Hasta este momento la fase de anlisis y diseo son independientes del lenguaje de programacin, de esta manera se facilita la escritura del cdigo en algn lenguaje de programacin. Para realizar la codificacin del algoritmo se deben sustituir las palabras, operaciones e instrucciones utilizadas en el diagrama de flujo o pseudocdigo al lenguaje de programacin correspondiente. Aunque, lgicamente, no comprenda las sentencias de Visual Basic, as es como queda el programa del ejemplo que venimos tratando.
Dim A, B, C As Integer A = InputBox("Ingrese el primer nmero", "Valor para A") B = InputBox("Ingrese el segundo nmero", "Valor para B") C = InputBox("Ingrese el segundo nmero", "Valor para C") If A > B Then If A > C Then MsgBox ("El mayor es: " & A) Else MsgBox ("El mayor es: " & C) End If Else If B > C Then MsgBox ("El mayor es: " & B) Else MsgBox ("El mayor es: " & C) End If End If
4.6.
Compilacin y ejecucin
Las fases de la compilacin y ejecucin son: Edicin: aqu el programa fuente debe ser tecleado a la computadora a travs de un editor, de tal manera que se convierta en un archivo de programa almacenado. Compilacin: el compilador se encarga de traducir la edicin del programa fuente a lenguaje mquina. De ser necesario la compilacin se repite hasta no producir errores, dando como resultado el programa objeto. IMSS | Mdulo IV: Resolucin de problemas por computadora 25
Fundamentos de Programacin
Enlace: el sistema operativo es instruido a tomar el programa objeto y ligarlo con las libreras del programa compilador, dando como resultado un programa ejecutable. Ejecucin. Una vez que contamos con el ejecutable, este puede correrse en el sistema operativo obteniendo por salida los resultados del programa. Edicin Compilacin Enlace Ejecucin
4.7.
Aunque un programa ejecutable en primera instancia no marque errores, es fundamental aplicarle una serie de pruebas4 con la finalidad de cerciorar su funcionamiento y evitar errores en su operacin. En cuanto a las pruebas a llevar a cabo, est la de ingresar valores extremos de entrada con la intencin llevar al limite al programa y validar su comportamiento, el realizar las operaciones manualmente y compararlas con los resultados del programa, otra forma es ingresar datos errneos que determinen su fiabilidad, es decir, su capacidad para recuperarse o, en su caso, el nivel de control frente al uso inadecuado del programa. Los posibles errores que no detecta la compilacin del sistema son los de ejecucin y lgicos. En cuanto a los primeros se dice que la computadora los puede entender, pero no ejecutar, tales como divisin entre cero, la raz cuadrada de un nmero negativo, exceder un rango de valores no permitidos, realizar una operacin con un dato ledo como caracter en vez de numrico, etc. Por otra parte, los errores lgicos se dice que son ms difciles de corregir, ya que generalmente son producto del mal anlisis y diseo del problema.
4.8.
Documentacin y mantenimiento
La documentacin del programa inicia desde el anlisis del problema, prcticamente todas las fases anteriores generan datos que deben registrarse
Es el proceso de ejecucin del programa con una amplia variedad de datos que determinan si el programa tiene errores.
26
Fundamentos de Programacin
con la intencin de mantenerlo, modificarlo y aplicar las actualizaciones necesarias que permitan adaptarlo a nueva situaciones. Por otra parte, tampoco se trata de estar modificando constantemente el programa inicial, en este sentido un programa es rentable si el tiempo de uso es de por lo menos de 1 a 3 aos. La documentacin del programa tambin debe ser interna, hay que procurar insertar comentarios a lo largo del cdigo que sirvan de gua y describan textualmente procesos abstractos.
4.9.
Resumen
Da a da, las personas como t llevan acabo una serie de pasos, procedimientos y acciones que permiten alcanzar resultados o resolver problemas, cabe reflexionar que bsicamente no contamos con reglas especficas que permitan resolver los problemas, sin embargo existen tcnicas, herramientas y mtodos que permiten flexibilizar y estructurar el razonamiento utilizado en la solucin de un problema. Un programa puede construirse de diferente forma, dependiendo en gran medida de los conocimientos, habilidad y destreza de la persona que lo lleva a cabo, adems de reunir las siguientes caractersticas: legible (sencillo y claro), fiable (capaz de responder a errores o usos inadecuados), portable (su diseo debe permitir la codificacin a diferentes lenguajes as como instalarse en diferentes sistemas), modificable (fcil mantenimiento) y eficiente (aprovechar los recursos).
4.10. Evaluacin
Instrucciones. Desarrolle diagrama de flujo y pseudocdigo, adems de dar respuesta a: Qu salidas se esperan?, Qu entradas se requieren? y Qu procesos producen las salidas? Con respecto a los siguientes problemas:
1. Dados tres nmeros enteros, determinar el mayor; considere que los datos
27
Fundamentos de Programacin
6. Dadas dos listas de 10 nmeros cada una, encontrar cuantos nmeros coinciden entre ambas listas. 7. Osvaldo, Jorge, Alejandro y Carlos compraron un terreno de 10 hectreas con un costo de $985,000 pesos por hectrea, Osvaldo aporto 1/5, Jorge 1/6, Alejandro 1/8 el resto lo puso Carlos. Determinar el costo total del terreno y la cantidad en metros que le corresponde a cada persona.
Valor por respuesta correcta 5 puntos Valor total 35 puntos Indicador de avance. Si obtuvo 30 puntos o ms, felicidades a usted le ha quedado claro el contenido del Mdulo IV, de lo contrario le recomendamos repasar los temas y volver a aplicar la evaluacin.
28
Fundamentos de Programacin
5.2.
Introduccin
Visual Basic fue creado originalmente como una herramienta de programacin sencilla y grfica, permitiendo que cualquier usuario, con conocimientos mnimos de programacin, pudiera utilizarlo para crear rpidamente aplicaciones sin muchas pretensiones. Con el paso del tiempo, la sencillez de esta herramienta le permiti ganar popularidad, generando una importante comunidad de programadores adeptos. La versin Visual Basic 3.0 agreg un componente fundamental: la posibilidad de hacer que cualquier aplicacin trabajara con bases de datos de todo tipo y tamao, sin ms trmite que el de dibujar un control sobre un formulario. Esto signific la posibilidad de crear aplicaciones empresariales que hicieran uso de grandes bases de datos cliente/servidor, con la sencillez que siempre caracteriz a Visual Basic. La popularidad de programadores VB creci hasta convertirlo en el lenguaje ms utilizado en todo el mundo. Sucesivamente fueron lanzadas las versiones 4, 5 y 6, poniendo el producto a tono con las novedades de cada momento. Primero fue el desarrollo en 32 bits para Windows 95; despus, la utilizacin de clases y componentes Activex; finalmente, la posibilidad de crear aplicaciones para Internet. Actualmente existe una variedad muy amplia de recursos y tecnologas para disear aplicaciones, entre las cuales destaca, por supuesto, Visual Basic, con la simplicidad que ofrece en el desarrollo de software.
5.3.
Interfaz
Una vez que hayas instalado Visual Basic 6.0 en el equipo de cmputo, utiliza el siguiente procedimiento para ejecutarlo y comenzar una sesin de trabajo: Haga clic en el men Inicio. Seleccione la opcin Programas o Todos los programas. Localice la carpeta Microsoft Visual Basic 6.0, si la versin instalada es la versin Profesional; seleccione Microsoft Visual Studio, si la versin instalada es la versin Corporativa. Finalmente haga clic en Microsoft Visual Basic 6.0. De manera predeterminada, cada vez que inicias una sesin de trabajo en Visual Basic, se muestra el cuadro de dilogo Nuevo Proyecto, en el que puedes seleccionar la creacin de algn proyecto nuevo, trabajar en un IMSS | Mdulo V: Introduccin a Visual Basic 29
Fundamentos de Programacin
proyecto existente o tal vez buscar entre aquellos que recientemente fueron utilizados en el equipo.
Despus de haber seleccionado la opcin conveniente, se mostrar en pantalla la ventana de Visual Basic 6.0 Profesional, la cual tiene una apariencia similar a la de la imagen siguiente:
Ventana proyecto
de
Ventana de propiedades
Visual Basic 6.0 Profesional Cuadro de herramientas. Proporciona las herramientas que permiten ubicar los controles en un formulario durante el diseo del mismo. La 30 Mdulo V: Introduccin a Visual Basic | IMSS
Fundamentos de Programacin
ficha General establece de manera predeterminada el grupo de botones con los que contaremos al iniciar nuevos proyectos en Visual Basic. El cuadro de herramientas puede activarse desde el men Ver, Cuadro de Herramientas, o haciendo clic en el botn Cuadro de herramientas de la barra estndar. Formulario. Es el rea sobre la cual se disea la interfaz de la aplicacin. Cada formulario est contenido en una ventana llamada ventana de formulario. Los formularios se muestran desde el men Ver, opcin Objeto; combinando las teclas Shift + F7 o haciendo clic en el botn Ver objeto, en el Explorador de Proyectos. Explorador de proyectos. Contiene y muestra todos los ficheros (formularios, mdulos, clases, recursos) que conforman una aplicacin proyecto; para visualizar esta seccin combina las teclas Ctrl + R; del men Ver selecciona Explorador de Proyecto, o bien, haz clic en el botn del mismo nombre en la barra estndar. Ventana Propiedades. Cada objeto lleva asociado un conjunto de propiedades (nombre, apariencia, posicin, tamao, color, etc.); para especificar los valores de esas propiedades, utilizaremos la ventana de propiedades. Para mostrarla presiona la tecla F4, o bien; selecciona la opcin Ventana de Propiedades, del men Ver, o da clic en el botn Ventana de Propiedades de la barra estndar. Ventana de Posicin de formulario. Esta seccin permite establecer manualmente la posicin que tendr cada formulario en pantalla al ejecutarse. Para mostrar este elemento, haz clic en el men Ver y selecciona la opcin Ventana Posicin de formulario.
Como otras aplicaciones de Microsoft, Visual Basic 6.0 posee una coleccin de barras de herramientas, cuatro en total, mismas que se ilustran enseguida:
Barra Estndar:
Barra Edicin:
Barra Depuracin:
Fundamentos de Programacin
Visual Basic 6.0 de Microsoft puede mostrar el contenido de un proyecto en dos modos distintos de trabajo: modo diseo y modo ejecucin. En modo diseo, el usuario construye interactivamente la aplicacin, colocando controles en el formulario, definiendo sus propiedades y desarrollando rutinas de accin para gestionar informacin. La aplicacin se prueba en modo de ejecucin. En ese caso el usuario acta sobre el programa (ejecuta eventos) y prueba cmo responde el programa. Algunas propiedades de los controles deben establecerse en modo de diseo, otras pueden cambiarse en tiempo de ejecucin desde el programa escrito en Visual Basic 6.0. Desde que comienzas una sesin de trabajo en Visual Basic 6.0, te encontrars trabajando en el modo diseo; para cambiar al modo ejecucin, puedes utilizar cualquiera de las opciones siguientes: Selecciona el comando Iniciar, ubicado en el men Ejecutar.
O bien, haz clic en el botn Iniciar, que se localiza en la barra de herramientas estndar. O bien, presiona la tecla F5. Para regresar al modo diseo, despus de haber verificado el funcionamiento de la aplicacin, realiza cualquiera de las siguientes acciones: Combina las teclas Control + F4 O, si lo prefieres, abre el men Ejecutar y haz clic en la opcin Terminar
5.4.
Una de las herramientas ms tiles en el procesamiento de informacin es la expresin condicional, que forma parte de una sentencia de programa que 32 Mdulo V: Introduccin a Visual Basic | IMSS
Fundamentos de Programacin
realiza preguntas que requieren respuestas lgicas o boleanas (del tipo True o False, Yes o No) sobre una propiedad o variable en el cdigo del programa.
If Then
La estructura If Then permite evaluar una condicin en el programa y llevar a cabo una serie de instrucciones, segn sea el resultado de dicha condicin. Cuando solamente se requiere de la ejecucin de acciones al cumplirse la condicin especificada (alternativa simple), tendra que utilizarse una sintaxis similar al cuadro de la izquierda.
If condicin Then Instruccin 1 Instruccin 2 Instruccin n Else Instruccin 1 Instruccin 2 Instruccin n End if If condicin Then Instruccin 1 Instruccin 2 Instruccin n End if
Cuando se espera que, al no cumplirse la condicin, tenga lugar una serie de instrucciones opuestas o diferentes a las que ocurriran en caso de cumplirse sta (alternativa doble), entonces la sintaxis de If then mantendra una estructura similar al cuadro de la izquierda.
La condicin If then Else End if, o se cumple una condicin y ejecuta unas determinadas instrucciones, o no se cumple, y ejecuta otras condiciones distintas. Puede ocurrir que, en caso de ser necesario, anide una o ms condiciones similares.
Select Case
Esta estructura se utiliza cuando se tiene que comprobar el valor de una variable y en funcin de este valor, seleccionar y ejecutar una serie de instrucciones especficas (alternativa mltiple). La sintaxis a manejar con Select Case es la siguiente.
Select Case variable Case 1 el primer valor posible en la variable Instruccin 1 Instruccin 2 Instruccin n Case 2 el segundo valor posible en la variable Instruccin 1 Instruccin 2 Instruccin n Case 3 el tercer valor posible en la variable Instruccin 1 Instruccin 2 Instruccin n Case Else algn otro valor en la variable, distinto de los anteriores Instruccin 1 Instruccin 2 Instruccin n End Select
33
Fundamentos de Programacin
5.5.
En el procesamiento de informacin las estructuras repetitivas nos permiten optimizar cdigo, ya que una o varias sentencias las podemos repetir un determinado o indeterminado nmero de veces.
Do While
Permite ejecutar un grupo de acciones mientras cierta condicin resulte verdadera; los bucles con DO se utilizan cuando no se conoce con exactitud el nmero de ocasiones en las que se repetir el conjunto de instrucciones. La sintaxis comn en esta estructura es la siguiente: Do While condicin Instruccin 1 Instruccin 2 Instruccin n Loop delimita el bloque instrucciones a repetir en el bucle.
de
Do Until
Permite ejecutar un grupo de sentencias hasta la condicin determinada se cumpla. La sintaxis habitual para esta estructura es la siguiente: Do Until condicin Instruccin 1 Instruccin 2 Instruccin n Loop delimita el bloque de instrucciones a repetir en el bucle.
For Next
Permite ejecutar un conjunto de sentencias contenidas en un procedimiento, un nmero determinado de veces. For contador=ValorInicial To ValorFinal delimita el nmero de repeticiones del bucle. Instruccin 1 Instruccin 2 Instruccin n Next indica ejecutar la siguiente repeticin del bucle.
34
Fundamentos de Programacin
5.6.
Tipos de datos
Numrico decimal de 922337203685477,5807 a fijo 9223372036854777,5807 Numrico real Numrico real Carcter Bolean Fecha / Hora De +- 1.40x10 308 A +- 1.79x10 De +- 4.94x10 308 a +- 1.79x10 0 a 255 True / false 1/01/100 al 31/12/9999 Cualquiera de los anteriores Referencia a objetos
45
64 bits (8 bytes) 32 bits (4 bytes) 64 bits (8 bytes) 1 byte 2 bytes 8 bytes Depende del almacenado valor
324
Los datos anteriores se utilizan en Visual Basic con la sentencia Dim para declarar una variable o Const para la constante, por ejemplo: Dim A As Integer Const Iva As Double = 15 Las sentencias anteriores declaran A como una variable entera, Iva como una constante de coma flotante de precisin doble.
Option Explicit Obliga a declarar previamente las variables que se vayan a usar. De no haberla declarado antes de usarla, el programa dar una comunicacin de error.
La sentencia PRIVATE. Es la forma de declarar una variable como Privada. Puede emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: Private nombre_variable As tipo_dato Declarando una variable mediante la sentencia PRIVATE en un Formulario o Mdulo, esa variable puede usarse en todo ese Formulario o Mdulo (en todos sus procedimientos y funciones), pero NO fuera del Formulario o Mdulo donde se declar. La sentencia Private no puede usarse en un procedimiento o funcin. IMSS | Mdulo V: Introduccin a Visual Basic 35
Fundamentos de Programacin
Sentencia PUBLIC Es la forma de declarar una variable como Pblica. Puede emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: Public nombrevariable As Tipovariable Declarando una variable de esta forma en la seccin de declaraciones de un Mdulo, esa variable puede usarse en cualquier parte del programa citndola simplemente por su nombre. Si se declara de esta forma en la seccin de declaraciones de un Formulario, esa variable puede usarse en toda el programa. Para nombrarla, si estamos en el Formulario donde se declar basta con citarla por su nombre. Si no estamos en ese Formulario, habr que citarla por el nombre del Formulario, seguido del nombre de la variable, separado por un punto: Formulario.Variable En un Mdulo puede usarse tambin la sentencia Global en vez de Public: Sentencia GLOBAL. Declara una variable que es vlida en todo el programa. La sintaxis es: Global nombrevariable As tipovariable La sentencia Global slo puede usarse en el apartado de declaraciones de un Mdulo. Mediante la sentencia Global la variable puede usarse en todo el espacio del programa.
5.7.
Resumen
Visual-Basic es una herramienta de diseo de aplicaciones para Windows, en la que stas se desarrollan en una gran parte a partir del diseo de una interface grfica. En una aplicacin Visual - Basic, el programa est formado por una parte de cdigo puro y otras partes asociadas a los objetos que forman la interface grfica. La creacin de un programa bajo Visual Basic lleva los siguientes pasos: - Creacin de un interface de usuario. Este interface ser la principal va de comunicacin hombre mquina, tanto para salida de datos como para entrada. Ser necesario partir de una ventana - Formulario - a la que le iremos aadiendo los controles necesarios. - Definicin de las propiedades de los controles - Objetos - que hayamos colocado en ese formulario. Estas propiedades determinarn la forma esttica de los controles, es decir, como son los controles y para qu sirven. - Generacin del cdigo asociado a los eventos que ocurran a estos objetos. A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento y deber generarse de acuerdo a las necesidades del programa.
36
Fundamentos de Programacin
- Generacin del cdigo del programa. Un programa puede hacerse solamente con la programacin de los distintos procedimientos que acompaan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un cdigo de programa separado de estos eventos. Este cdigo puede introducirse en unos bloques llamados Mdulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un objeto, sino que responden a un evento producido durante la ejecucin del programa.
5.8.
Evaluacin
Instrucciones. Codificar en Visual Basic los siguientes problemas: 1. Dados tres nmeros enteros, determinar el mayor; considere que los datos
Indicador de avance. Si obtuvo 6 puntos o ms, felicidades a usted le ha quedado claro el contenido del Mdulo V, de lo contrario le recomendamos repasar los temas y volver aplicar la evaluacin.
37
Fundamentos de Programacin
Resumen final
Un programa puede construirse de diferente forma, dependiendo en gran medida de los conocimientos, habilidad y destreza de la persona que lo lleva a cabo, adems de reunir las siguientes caractersticas: legible, fiable, portable, modificable y eficiente. Un programa es un conjunto de instrucciones que sigue la computadora para alcanzar un resultado en particular. Al momento de programar tome en cuenta lo siguiente: En la programacin es el ser humano quien resuelve los problemas y no la computadora. Emplear mtodos, tcnicas y herramientas en el anlisis del problema a codificar. Que el cdigo sea sencillo de comprender. Comentar y documentar para facilitar el entendimiento del cdigo. Ahorrar lneas de cdigo que permitan simplificar y optimizar el rendimiento del programa.
39
Fundamentos de Programacin
Bibliografa
De Giusti Armando E. Algoritmos datos y programas. Espaa 2001. Editorial Prentice Hall. Castor F. Herrmann,Mara E. Valesani. Programacin. Mxico 2001. Editorial Moglia S.R.L. Cairo, Osvaldo. Metodologa de la programacin. Mxico 2001. Editorial Alfaomega. Ceballos Fco. Javier. Enciclopedia de Microsoft Visual Basic 6. Mxico 2000. Editorial Alfaomega.
40
Bibliografa | IMSS