Beruflich Dokumente
Kultur Dokumente
Visual Basic
Nociones Bsicas:
Arquitectura de una Computadora Las computadoras tienen dos componentes principales que son el hardware y el software que trabajan en coordinacin para lograr sus objetivos. Hardware: Hard (duro) ware (componente) representa la parte fsica de la computadora
Software:
Soft (blando) ware (componente) representa la parte lgica de la computadora (los programas) estos se encuentran almacenados en los componentes fsicos de la computadora, tales como memorias RAM, ROM, discos duros (hard disk) entre otros.
Microsoft
Office
LINUX
Los programas (Software) Un programa o Software es un conjunto de instrucciones ordenadas para ejecutarse en una computadora en forma rpida y precisa. El software se divide en dos grupos; software de sistema operativo y software de aplicaciones. El proceso de escribir un programa se denomina programacin y el conjunto de instrucciones que se utilizan para escribir un programa se llama lenguaje de programacin.
Algoritmo:
Algoritmo es sinnimo de procedimiento computacional y fundamental para la ciencia de la computacin. Un algoritmo toma un valor (o un conjunto) como entrada y produce un valor (o un conjunto) como salida. Un algoritmo es una secuencia de pasos computacionales que transforma la entrada en una salida
Entrada
Salida
Un algoritmo es una secuencia finita de instrucciones, cada cual con un significado concreto. Algoritmo es todo proceso, rutina, mtodo que adems de ser un conjunto de instrucciones que resuelven un determinado problema, cumple las siguientes condiciones. Ser finito. La ejecucin de un algoritmo acaba en un tiempo finito. Ser Preciso. Cada instruccin de un algoritmo debe ser precisa, no debe ser ambigua, esta definicin es la definibilidad. Poseer entradas. Las estradas son un conjunto de valores que inician el algoritmo. Poseer salidas. Puede ser una o mas, las cuales son la transformacin de la entrada. Ser efectivo. Es efectivo cuando todas las operaciones se efectan de un modo exacto.
Secuencia de Instrucciones
Algoritmo
Hay tres fases en la elaboracin de un algoritmo: 1. Anlisis. En esta se determina cul es exactamente el problema a resolver. Que datos forman la entrada del algoritmo y cules debern obtenerse como salida. 2. Diseo. Elaboracin del algoritmo. 3. Prueba. Comprobacin del resultado. Se observa si el algoritmo obtiene la salida esperada para todas las entradas.
Herramientas de un algoritmo
Para expresar la solucin de un problema se pueden usar diferentes herramientas de programacin tales como:
Pseudocdigo. Diagramas N-S (Nassi Schneiderman). Diagramas de flujo (Flow chart).
Siendo un algoritmo un conjunto de instrucciones es necesario contar con un lenguaje que permita expresarlo. La presentacin de un algoritmo en un lenguaje natural, utilizando el ingls estructurado, se conoce como pseudocdigo; ste, es una forma general de presentar un algoritmo, independientemente de cualquier lenguaje de computadoras. Aqu se muestra un ejemplo de la construccin de pseudocdigo, diagrama N-S y diagrama de flujo para el Algoritmo de Euclides.
El uso de la palabra algoritmo aparece con el algoritmo de Euclides; ste obtiene el mximo comn divisor de dos nmeros x e y: MCD(x-y, y) MCD (x,y)= MCD(x, y-x) MCD(40, 30) = = = = en otro caso si x>y
MCD(40-30, 30) = MCD(10, 30) MCD(10, 30-10) = MCD(10, 20) MCD(10, 20-10) = MCD(10, 10) 10
Cuando realice un pseudocdigo utilice las siguientes convenciones: 1. La sangra es sinnimo de bloque; as while a n incrementar a indica que bajo el control del bucle se encuentra la instruccin incrementar a; es decir el bloque, es de la construccin while. 2. Las variables (i, j, k) son locales al procedimiento. 3. Los arreglos son precedidos por la especificacin del nombre del arreglo seguido por el ndice en corchetes; as: for i = 1 to n leer A[i] indica que se lee el ndice i del arreglo A.
4. Dar un nombre al pseudocdigo para dar la apariencia de una declaracin de procedimiento, y cerrar el pseudocdigo con un fin de procedimiento, como una indicacin de retorno. F de X y=b*b -4*a*b End F de X El algoritmo de Euclides visto como un pseudocdigo es como sigue: Euclides while x y if x > y then x=xy else y=yX MCD es x End Euclides
Una carta N-S o de Nassi Schneiderman es la presentacin grfica de un algoritmo y es la carta prototipo de los lenguajes estructurados.
Estructuras
Secuencia Decisin
Repeticin Mientras Hacer o Para Repetir - hasta
Pseudocdigo
x=3y If then - else
While for Repeat - until
T
N-S
x=3y if
while
for
repeat until
El algoritmo se puede expresar as: mientras que x sea diferente a y, realice la prueba de si x es mayor que y restar y de x, en caso contrario restar x de y. Entonces la carta N-S es:
while
xy if (x>y)
then x=x-y
else
y =y-x
Una herramienta grfica aparte de N- S es el diagrama de flujos. El diagrama de flujos es la herramienta mas conocida para el diseo de procedimientos.
Grfico
Grfico
y = y - x
Imprimir x Fin
Instrucciones
Son las acciones que debe realizar un algoritmo, para resolver un problema. Las instrucciones mas comunes son las siguientes: Instruccin de inicio / fin. Instruccin de asignacin. Instruccin de lectura. Instruccin de bifurcacin. Instruccin de inicio / fin: Representa el inicio y fin del algoritmo Diagrama de flujo Pseudocdigo inicio inicio
fin
fin
Instruccin de asignacin: Representa la asignacin de un valor a una variable; se puede representar usando una flecha o el smbolo de igualdad, que es el smbolo usado por muchos lenguajes de programacin. Diagrama de flujo Pseudocdigo N 10 N 10
N = 10 Instruccin de Lectura: Representa el ingreso de datos mediante un dispositivo de entrada. Diagrama de flujo Pseudocdigo
N = 10 Leer N
Leer N
Instruccin de Escritura: Representa la salida de la informacin mediante un dispositivo de salida, puede ser representado por el smbolo de entrada / salida, por smbolo de pantalla o impresora. Diagrama de flujo
Escribir R Escribir R
Instruccin de Bifurcacin Cambia el flujo del programa segn el resultado de una expresin lgica (condicional).
Diagrama de flujo
V Instruccin Exp. Lg. F Instruccin
Pseudocdigo
Si <Exp. Lg.> entonces if then instruccin sino else instruccin Fin si End
Comentarios
Permiten describir, explicar y sirve como ayuda para recordar y entender las operaciones que se van a ejecutar. Los comentarios no son instrucciones, por lo tanto al ser traducido el cdigo fuente a cdigo binario, los lenguajes de programacin las ignoran. Dependiendo el lenguaje de programacin los comentarios se escriben usando cierta simbologa, en Visual Basic es una comilla simple ( ) Ejemplo: Suma de los nmeros pares SumaPares = 0 Se inicializa la variable SumaPares al valor 0
Palabras Reservadas
Son palabras usadas por el lenguaje de programacin y que no deben ser utilizadas como identificadores de variables, funciones entre otros. Algunas palabras reservadas en Visual Basic (VB) For, If, Loop, Next , Val, Hide, Caption, And,
Identificadores
Son los nombres que asignamos a las variables, constantes, funciones, objetos entre otros y no pueden coincidir con las palabras reservadas porque seria ambiguo y el compilador no lo entendera.
Por lo general los identificadores deben cumplir lo siguiente: Deben comenzar por una letra. Evite usar y tilde. No deben coincidir con palabras reservadas del lenguaje de programacin que esta utilizando. Error de compilacin VB Identificador de variable es if y esta es palabra reservada integer if;
Variables
Representa un espacio de memoria RAM que guarda un valor que servir para algn proceso en particular, dicho valor puede ser modificado en cualquier momento. Las variables tienen por lo general un identificador (nombre) y asignado el tipo de dato que se esta utilizando, es decir si almacena un nmero (entero), si es texto o alfanumrico (cadena), si es un valor verdadero o falso (lgico). Ejemplo : Pseudocdigo Variables N : Entero
VB Variables integer N;
Para asignarle un valor usamos el operador de asignacin que para algoritmos usaremos la o el = que es mas usado por los lenguajes de programacin. Ejemplo : Pseudocdigo VB Asignar un valor Asignar un valor N 10 N = 10; Cambiar su valor Cambiar su valor N 50 N = 50;
Double
Currency String Date Variant
#
@ $
Tipos de datos complejos (estructurados) Son aquellos que estn constituidos por tipos de datos simples y definen una estructura de datos, un ejemplo claro es el tipo cadena, que esta compuesta por un conjunto de caracteres (tipos de datos caracter) Existe una variedad de tipos de datos complejos, pero empezaremos con dos que son cadena y arreglos.
Operadores y Expresiones
Son los que permiten realizar los clculos entre valores fijos y variables. Los operadores se clasifican en:
Operadores Aritmticos:
Son aquellos operadores que permiten realizar las operaciones aritmticas, de la misma forma como se usa en matemtica. Operador + Suma Resta Descripcin
*
/ \ Mod
Multiplicacin
Divisin Divisin entera Exponenciacin Mdulo (resto de una divisin)
Operadores Relacionales:
Llamados tambin operadores de comparacin y permiten evaluar si dos valores guardan alguna relacin entre si. Operador = > >= < <= <> Igualdad Mayor que Mayor o igual que Menor que Menor o igual que Diferente a Descripcin
Operadores de Cadena:
Son aquellos operadores que permiten realizar operaciones con cadenas, por lo general permiten unir cadenas (concatenar) Operador + & Descripcin Unir cadenas Unir cadenas
Expresiones de cadena
Luis + + Alberto luisalberto & @ & hotmail.com Luis Alberto luisalberto@hotmail.com
Operadores Lgicos:
Son aquellos operadores que se utilizan en combinacin con los operadores de relacin. Operador Y Descripcin Y Lgico
O
No Expresiones Lgicas 8 >4 Y 3 = 6 8 >4 O 3 = 6 NO (8 > 4 )
O Lgico
No Lgico
Control de flujo
Todos los lenguajes de programacin implementan estructuras para controlar la ejecucin de un programa; estas son:
Estructura secuencial Estructura selectiva simple y doble Estructura selectiva mltiple Estructura repetitiva mientras Estructura repetitiva para
Son aquellos algoritmos que ejecutan instrucciones en forma consecutiva, es decir uno detrs del otro hasta terminar el proceso. Las secuencias son operaciones que se utilizan para efectuar operaciones, abrir, cerrar un archivo, leer y escribir datos. Instruccin 1 .
Instruccin 2
Instruccin 3
Ejemplo 1: Realice los algoritmos de N-S , diagrama de flujos y pseudocdigo para hallar la suma al ingresar dos nmeros enteros. Ejemplo 2: Realice los algoritmos de N-S , diagrama de flujos y pseudocdigo para hallar el cociente y el resto de dos nmeros enteros.
Imprimir s Fin
Leer n1, n2
c = n1\n2 r = n1 Mod n2
Imprimir c, r Fin
Ejemplo: Dado dos nmeros enteros diferentes, devolver el Inicio nmero Mayor.
n1, n2, m : Entero Leer n1, n2 n1>n2 V m = n1 F
n1<n2 V m = n2
Escribir m Fin
Instruccin 1 Instruccin n
Instruccin 1 Instruccin n
Imprimir c
Fin
Estructuras Anidadas
Son aquellas estructuras que contienen una o varias estructuras, es decir esta permitido colocar dentro de una estructura otra estructura.
V Exp. Lg, F
F V Instruccin 1 Instruccin n Exp. Lg, F Instruccin 1 Instruccin n Exp. Lg, V Instruccin 1 Instruccin n
Imprimir m Fin
Valor1
Instrucciones
F Valor3 V Instrucciones
Ejemplo: Al ingresar un nmero del 1 al 4 devolver la estacin del ao de acuerdo a la siguiente tabla
F 1 2 3
Nmero
1 2 3 4
Estacin
verano Otoo Invierno Primavera
F F F
e=OTOO
Imprimir e Fin
Valor1
V Instrucciones
Valor2
Instrucciones
F Si No V Instrucciones
V
Instrucciones V Instrucciones
Instrucciones
Introduccin
Muchas veces se requiere repetir una o varias instrucciones para llevar a cabo una tarea, estas estructuras que permiten realizar este proceso son tambin llamados bucles ,iterativas, lazos , etc.
bucle
Dependiendo el lenguaje de programacin estas incorporan dos o ms estructuras repetitivas, dentro de las cuales las infaltables son mientras (while) y para (for), con las cuales se puede resolver todo problema que involucre procesos repetitivos. Cuando se trabaja con estas estructuras se utiliza trminos como contadores, acumuladores, forzar la salida del bucle y continuar al inicio del bucle.
Contador
Son variables enteras que se incrementan (+) o decrementan (-) con un valor constante, por ejemplo una variable c cuyo valor se incrementa de 1 en 1, se conoce como variable contador. Ejemplos Pseudocdigo c = c + 1 i = i + 2 j = j - 1
Acumulador
Son variables de cualquier tipo que almacenan valores variables, por ejemplo la variable c cuyo valor se incrementa por el valor que va tomando otra variable llamada x. Ejemplos Pseudocdigo c = c + x i = i + c j = j - i
Pseudocdigo Mientras Expr. Lg. Mientras Expr. Lg. Instruccin 1 Instruccin n Fin Mientras Fin Mientras
Introduccin
Cada vez que se desee repetir un proceso una cantidad de veces, deber usar la estructura repetitiva para (for) que facilitar realizar en forma simple este trabajo. Esta estructura usa una variable contador donde se establece el valor inicial (vi), valor final (vf) y el valor de incremento (inc), que determina la cantidad de veces a repetir la instruccin.
vi
for i=vi to vf
Instrucciones
i+1
Ejemplo
Obtener la suma de los n primeros nmeros naturales positivos.
Inicio i, n, s : Entero Inicio i, n, s : Entero Leer n 1 i+1 s s + i F for i=1 to n
Leer n
i i<=n i V s s + i
i i j
vi i+1 vi j+1
j<=vf
V Instrucciones
Introduccin
En muchas situaciones se necesita procesar una coleccin de datos que estn relacionados entre s, por ejemplo la lista de proveedores de maquinaria pesada, nacionales y extranjeros, repuestos relacionados, etc. Procesar este conjunto de datos en forma independiente con variables simples (primitivas), es demasiado difcil por ello los lenguajes de programacin incorporan un mecanismo que facilita la manipulacin y organizacin para una coleccin de datos llamada Estructura de datos. Aqu solo hablaremos de una pequea parte pero bsica e importante de estructura de datos, llamada Array (arreglos)
Las estructuras de datos estn subdivididas por estticas (espacio fijo establecido en memoria) y dinmicas (sin restricciones y limitaciones usado en memoria) Estructura de datos esttica Estructura de datos dinmica + Arrays (vectores y matrices) + Listas (pilas y colas) + Cadenas + Listas enlazadas + Registros + rboles + Ficheros + Grafos
0 17 Vector 1 2 3 25 14 10 4 74 0 0 1 2 25 17 17
Matriz 1 2
10 18 18 74 19 19
3 36 28 25
La diferencia entre cada estructura es de cmo se almacenan y manipulan el conjunto de datos, permitiendo as su eficiencia en el resultado de una operacin sobre dichos datos.
Arrays (Arreglos)
Es un conjunto finito (tamao fijo) y ordenado (usa un ndice) de datos homogneos (datos del mismo tipo). Los arreglos pueden ser de una dimensin (vector), dos dimensiones (matriz) y n dimensiones (multidimensional). En todos los lenguajes de programacin los arrays usan un ndice numrico para cada elemento que contiene, que por lo general inician con el ndice 0 (cero), llamado lmite inferior (Li) y el ltimo elemento tendr el ndice llamado lmite superior (Ls), que en si es la cantidad de elementos del array menos uno.
0 17
1 25
2 14
3 10
4 74
Li
Ls
Li
n d i c e
19 16 17 25
5 elementos (tems)
0
Li 0 25 17
1ra Dimensin 1 (Filas)
1
10 18
2
74 19
3
36 28
1
2 3 4
Ls
17
18
19
25
Ls
30
Creacin de Arrays
Para la creacin de un array se requiere conocer el nombre, las dimensiones, el tamao de elementos y el tipo de datos. Pseudocdigo Array de una dimensin (vector) 5 elementos Li = 0 y Ls = 4 N[5] : Entero Array de dos dimensiones (matriz) 3x4 elementos 1ra dimensin Li = 0 y Ls = 2 2da dimensin Li = 0 y Ls = 3 N[3][4] : Entero
En el siguiente diagrama se tiene la matriz de 3x4 elementos y se asigna el valor 10 a cada elemento.
i<=2
V
i i
j j
0
i+1
0 j+1 10
Pseudocdigo Para i 0 hasta 2 Inc +1 Para j 0 hasta 3 Inc +1 N[i][j] Fin Para Fin Para 10
j<=3
V N[i][j]
i, s : Entero
n[5]: Entero Leer n[0], n[1], n[2], n[3], n[4] i<=4 i i V s 0 i+1 F
s + n[i]
Escribir s Fin
Pseudocdigo Inicio Variables i, s : Entero Arreglo (Vector) n[5] : Entero Entrada Leer n[0], n[1], n[2], n[3], n[4] Proceso Para i=0 hasta 4 Inc 1 s = 0 s = s + n[i] Fin Para Salida Escribir s Fin
Introduccin
Inicialmente las computadoras fueron creadas con la finalidad de resolver problemas aritmticos, sin embargo hoy en da el manejo de datos alfanumricos (texto) es importante para el procesamiento de operaciones con caracteres (cadenas) y es de gran utilidad. Una cadena de caracteres es una secuencia de cero o ms smbolos que incluye letras del alfabeto, dgitos y caracteres especiales. Juego de caracteres Los lenguajes de programacin utilizan un conjunto de caracteres para comunicarse con las computadoras, dentro de las cuales existe diferentes tipos de juegos de caracteres de los que destacan el ASCII, UNICODE, etc.
Caracter (char)
Representa un solo valor de tipo caracter, por lo general se representa con comillas simples.
Pseudocdigo
Asignar un valor c A
Concatenacin Comparacin Clculo de longitud Extraccin de cadenas (subcadenas) Bsqueda de cadenas Conversiones
Concatenacin
Unir varias cadenas en una sola. Pseudocdigo Unir cadenas c ABC+XYZ
Clculo de longitud
Obtener la cantidad de caracteres de una cadena.
Pseudocdigo
Retorna 3 l Longitud (aaa)
Comparacin
Igualdad y desigualdad de cadenas Pseudocdigo
Leer nom
can
Ejemplo 2: Ingrese un nombre y apellido y obtenga su nombre y apellido en mayscula separado por una coma XXXXX,XXXXX
Inicio
nom,ape,nom_ape : cadena
Introduccin
Cuando nos encontramos con problemas complejos y extensos, el criterio mas adecuado de resolverlos es dividirlo en problemas ms pequeos y sencillos que se encargaran de resolver temas especficos. A ello se le acua el termino subalgoritmos (subprogramas). Los subalgoritmos se dividen en dos tipos procedimientos (subrutinas) y funciones que evitar la duplicidad de cdigo y ayuda a crear mdulos ms pequeos para un mejor mantenimiento, pudiendo reutilizarlo muchas veces. El mtodo de disear la solucin de un problema principal (main) en subproblemas se conoce como diseo descendente (top-dow design), difundida por la programacin modular.
Problema Principal
Subproblema 1
Subproblema 2
Subproblema 3
El problema principal corresponde al programa o algoritmo principal y la solucin de los subproblemas mediante subprogramas (procedimientos y funciones), en el lenguaje algoritmico se conoce como subalgoritmos. El subprograma recibe datos y es invocado por el programa principal, despus de terminar el proceso que tuvo que realizar el subprograma devuelve el resultado correspondiente al programa principal.
Procedimientos
Los procedimientos se caracterizan por realizar una tarea especfica y no retornan un resultado, sin embargo si es posible implementar que devuelva resultados por intermedio de parmetros llamados de salida o por referencia. Pseudocdigo Crear un procedimiento Procedimiento Proc1(E:Param1:Entero) <Instrucciones> Fin Procedimiento
Invocar el Procedimiento
Llamar Proc1()
Funciones
Son ms conocidos por devolver un valor como resultado de la tarea realizada, los lenguajes de programacin incorporan funciones que realizan algunas tareas ya programadas conocidas como funciones internas, pero las funciones programadas por el usuario (programador) se conoce como externas o funciones definidas por el usuario. Pseudocdigo Crear una funcin Funcin Func1(E:Param1:Entero):Cadena <Instrucciones> Retorna <valor> Fin Funcin Invocar la funcin c func1()
Paso de parmetros
Muchas veces los procedimientos y funciones requieren que le enven una lista de valores llamados parmetros (argumentos), para usarlos en la solucin de la tarea encomendada. Los parmetros son variables muchas veces de entrada (reciben valores) y de salida (devuelven resultados) o ambos de entrada/salida. Estos parmetros tambin toman el nombre de parmetros por valor (entrada) y parmetros por referencias (salida).
Los valores que se envan a los parmetros son asignados como una copia de los valores originales, desconectando el programa principal con el subprograma, es decir si los valores de los parmetros cambian dentro del subprograma no afecta al programa principal.
Pseudocdigo Crear un mtodo Funcin Incrementar(E:N:Entero):Entero Modifica el valor de N N N + 1 Retorna N Fin Funcin Invocar el mtodo Num 5 El valor de Num se copia en N Res Incrementar(Num) Imprimir Num Su valor sigue siendo 5 Imprimir Res Su valor es 6
Se asignan las referencias de las variables (direccin de memoria de la variable) a los parmetros, conectando el programa principal con el subprograma, es decir si los valores de los parmetros cambian dentro del subprograma afectan a las variables del programa principal .
Pseudocdigo Crear una funcin Funcin Incrementar(S:N:Entero):Entero Modifica el valor de N N N + 1 Retorna N Fin Funcin Invocar la funcin Num 5 El parmetro N hace referencia a Num Res Incrementar(Num) Imprimir Num Su valor ahora es 6 Imprimir Res Su valor es 6
Principal
Inicio
Sumar
Leer n1, n2
s Sumar(n1,n2)
Imprimir s Fin
Escribir s Fin
Mayor
Inicio n1, n2, m : Entero Leer n1, n2 n1>n2 V m = n1 F
Leer n1, n2
Mayor(n1,n2)
n1<n2 V m = n2
Imprimir m Fin
Escribir m Fin