Sie sind auf Seite 1von 88

Algoritmos

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

Finitud Definibilidad Entrada Salida Efectividad

Algoritmo

Fases en la construccin de algoritmos

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.

Significado Inicio y fin Proceso/ Secuencia Entrada/ salida Decisin

Grfico

Significado Preparacin Flujos Conector


SubAlgoritmo

Grfico

Diagrama de flujo del Algoritmo de Euclides


Inicio x, y : entero Leer x,y x <> y V x = x - y V x > y F F

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

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

Tipos de datos simples (primitivos)


Al declarar una variable debemos indicar el tipo de dato que es permitido almacenar en dicha variable . Cada lenguaje de programacin trabaja con una variedad de tipos de datos, por lo general todos usan los llamados tipos de datos primitivos, que son los siguientes:

Entero Real Carcter Lgico

Tipos de datos (en Visual Basic)


Visual Basic dispone de varios tipos de datos , aplicables tanto para constantes como para variables. La siguiente tabla muestra los tipos de datos para VB.
Tipo Boolean Byte Integer Long Single Descripcin Binario Entero corto Entero (2 bytes) Entero largo (4 bytes) Real simple precisin (4 bytes) % & ! Carcter de declaracin del tipo

Double
Currency String Date Variant

Real doble precisin (8 bytes)


Nmero con punto decimal fijo Cadena de caracteres Fecha Fecha/hora; enteros ,.reales

#
@ $

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 Operadores Relacionales Operadores Lgicos Operadores de Cadena

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

Falso verdadero falso

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.

Diagrama de flujo para la suma 2 nmeros enteros.


Inicio n1, n2, s: entero

Leer n1, n2 s = n1+ n2

Imprimir s Fin

Diagrama de flujo para hallar el cociente y el resto de dos nmeros enteros.


Inicio n1, n2, c, r: entero

Leer n1, n2

c = n1\n2 r = n1 Mod n2
Imprimir c, r Fin

Estructura Selectiva Simple


Evala una expresin lgica (condicin), si es verdadero ejecuta una determinada instruccin o instrucciones.
Exp. Lg, V Instruccin 1 Instrccin n F

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

Estructura Selectiva Doble


Evala una expresin lgica (condicin), si es verdadero ejecuta una o varias instrucciones y si es falso ejecuta otro grupo de instrucciones
V Exp. Lg, F

Instruccin 1 Instruccin n

Instruccin 1 Instruccin n

Ejemplo 4: Realice, diagrama de flujos para determinar si un nmero es par o impar.


Inicio r, n : entero c : cadena Leer n r = n Mod 2 V c = Impar r <> 0 F c = Par

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

Ejemplo: Dado tres nmeros enteros, devolver el nmero mayor


Inicio n1, n2, n3, m : Entero Leer n1, n2, n3 F V m=n2 n2>n3 F m=n3 n1>n2 V m=n1 V n1>n3 F m=n3

Imprimir m Fin

Estructura Selectiva Mltiple


Permite comparar un valor con varias alternativas, si la comparacin tiene xito se ejecuta el grupo de instrucciones que contenga la alternativa seleccionada y luego sale de la estructura.
Exp. Lg, F V Instrucciones F Valor2 V

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

Inicio e : cadena n : entero Leer n n V V V e=INVIERNO V e=PRIMAVERA e=VERANO

Nmero
1 2 3 4

Estacin
verano Otoo Invierno Primavera

F F F

e=OTOO

Imprimir e Fin

Estructura Selectiva Mltiple


Muchas pueden implementar en forma opcional una alternativa por defecto, es decir al comparar con todas las alternativas propuestas y no se tiene xito con ninguna, entonces se ejecuta la alternativa por defecto.
Exp. Lg, F

Valor1

V Instrucciones

Valor2

Instrucciones
F Si No V Instrucciones

Estructura Selectiva Mltiple usando rangos


Una estructura selectiva mltiple permite comparar un valor (igualdad), pero cuando se requiere manejar rangos (>= Y <=) se puede usar una estructura selectiva mltiple similar a la estructura selectiva doble anidada.
Exp. Lg, F Exp. Lg, F Exp. Lg, F 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

Salir del bucle


Es una instruccin que permite forzar la salida del bucle, para eso los lenguajes de programacin incorporan una instruccin que permita realizar dicha operacin. Pseudocdigo salir

Continuar al inicio del bucle


Es una instruccin que permite saltar al inicio del bucle para volver a ejecutarse, para esto los lenguajes de programacin incorporan una instruccin que permita realizar dicha operacin. Pseudocdigo continuar

Estructura repetitiva Mientras


Permite repetir una o mas instrucciones hasta que la condicin (condicin lgica) sea verdadera, cuando la condicin es falsa sale del bucle.
Exp. Lg, V Instruccin 1 Instrccin n F

Pseudocdigo Mientras Expr. Lg. Instruccin 1 Instruccin n Fin Mientras

Estructura repetitiva Mientras anidada


Dentro de una estructura repetitiva es posible colocar una o ms estructuras repetitivas as como otras estructuras.
Exp. Lg. V Exp. Lg. V Instruccin 1 Instrccin n F F

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.

Estructura repetitiva Para


Permite repetir una o ms instrucciones una cantidad de veces. i Es nuestra variable contador, donde establecemos el valor inicial. vf Representa el valor final de la variable contador. +1 Valor de incremento i<=vf V
Instrucciones

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

Escribir s Escribir s Fin Fin

Estructura repetitiva Para Anidada


Dentro de la estructura repetitiva es posible colocar una o mas estructuras repetitivas as como otras estructuras. i<=vf
V

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.

Arreglo de una dimensin Vector de 5 tems

Arreglo de dos dimensiones Matriz de 3x4

0 17

1 25

2 14

3 10

4 74

Li

2da Dimensin (Columnas)

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

Operaciones con Arrays


Las operaciones son el procesamiento y el tratamiento individual de los elementos del array, las cuales son las siguientes. Asignacin Lectura / Escritura Recorrido Actualizacin (insertar, borrar, modificar) Ordenacin Bsqueda

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

Recorrido por los elementos del Arrays


Para realizar un recorrido por los elementos del array utilizamos la estructura repetitiva para (for). En el siguiente diagrama se tiene el vector N y se asigna el valor 10 a cada elemento. Pseudocdigo Para i 0 hasta 4 Inc +1 I 0 F N[i] 10 i<=4 Fin Para i i+1 V
N[i] 10

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]

Ejemplo: Dado 5 nmeros obtener la suma.


Inicio

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.

Algunos caracteres del Standard ASCII (caracteres alfanumricos)


33 39 45 51 57 ! 3 9 34 40 46 52 58 ( . 4 : 35 41 47 53 59 # ) / 5 ; 36 42 48 54 60 $ * 0 6 < 37 43 49 55 61 % + 1 7 = 38 44 50 56 62 & , 2 8 >

Caracter (char)
Representa un solo valor de tipo caracter, por lo general se representa con comillas simples.

Pseudocdigo

Crear una variable caracter c : Caracter

Asignar un valor c A

Cadena de caracteres (String)


Representa un conjunto de caracteres y por lo general lo representamos entre comillas dobles Pseudocdigo Crear una variable cadena c : Cadena Asignar un valor c ABC

Operaciones con cadenas


Para la manipulacin con cadenas los lenguajes de programacin incorporan una variedad de funciones y/o mtodos que permiten realizar operaciones con cadenas.

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

Igualdad (Falso) AAA=aaa

Extraccin de cadenas (subcadenas)


Extraer una parte especfica de la cadena por lo general cada caracter de una cadena se representa por una posicin que inicia con 0 (cero), es decir JUAN consta de 4 caracteres J es el primer caracter cuya posicin es 0, U segundo caracter cuya posicin es 1, as sucesivamente. En Visual Basic las posiciones de los caracteres de una cadena inician con 1. Pseudocdigo Extraer el primer carcter A 1 cantidad a extraer c Izquierda (ABC,1)

Tambin se usa 1 posicin 1 cantidad a extraer c subcadena (ABC,1,1)


Extraer el ltimo caracter C 1 cantidad a extraer c derecha (ABC,1) Tambin se usa 3 posicin 1 cantidad a extraer c subcadena (ABC,3,1)

Ejemplo 1: Dado un nombre, obtener la cantidad de caracteres que contiene.


Inicio nom : cadena can : cantidad

Leer nom

can

Longitud(nom) Imprimir can Fin

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

Leer nom, ape nom_ape Mayus(nom+,+ape)

Imprimir nom_ape Fin

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

Parmetros por valor (entrada)

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

Parmetros por referencia (salida)

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

Ejemplo1: Dado dos nmeros enteros, hallar la suma. Cree una


funcin para resolver el problema. Sumar(E:Num1:Entero,E:Num2:Entero):Entero

Principal

Inicio

Sumar

Inicio Num1,Num2,s: Entero

n1, n2, s: Entero

Leer n1, n2
s Sumar(n1,n2)

Leer Num1,Num2 s Num1 + Num2

Imprimir s Fin

Escribir s Fin

Ejemplo2: Dado dos nmeros enteros


diferentes, devolver el nmero mayor. Cree una funcin para resolver el problema. Mayor(E:n1:Entero,E:n2:Entero):Entero Principal
Inicio
n1, n2, m: Entero

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

Das könnte Ihnen auch gefallen