Documente Academic
Documente Profesional
Documente Cultură
Trabajo: Investigacin Catedrtico: Mtra. Alejandra Guadalupe Presenta: Mara Alejandra Delesma vila Semestre/ grupo:
5t0 A
Visual Basic es uno de los tantos lenguajes de programacin que podemos encontrar hoy en da. Dicho lenguaje nace del BASIC (Beginners All-purpose Symbolic Instruction Code) que fue creado en su versin original en el Dartmouth College, con el propsito de servir a aquellas personas que estaban interesadas en iniciarse en algn lenguaje de programacin. <http://es.wikipedia.org/w/index.php?title=Programaci%C3%B3n_estructurada&oldid=3 0205148>. Colaboradores de Wikipedia. Vector (informtica) [en lnea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 2 de octubre del 2009]. Disponible en <http://es.wikipedia.org/w/index.php?title=Vector_(inform%C3%A1tica)&oldid=302493 61>. La solucin de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construccin de estos programas debe ser realizada mediante una metodologa, los pasos para la construccin de programas son:
1. Disear el algoritmo, consiste en analizar el problema y describir los instrucciones de forma ordenada que resuelven el problema. 2. Codificar de forma sistemtica la secuencia de instrucciones en un lenguaje. 3. Ejecutar y validar el programa en un computador (verificacin)
Para codificar de forma sistemtica un algoritmo se necesita de un lenguaje programacin que la computadora comprenda. Las estructuras de repeticin, permiten la ejecucin de una lista o secuencia de instrucciones (<bloque de instrucciones>) en varias ocasiones. El nmero de veces que el bloque de instrucciones se ejecutar se puede especificar de manera explcita, o a travs de una
Las partes principales de un programa estn relacionadas con dos bloques: declaraciones e instrucciones. En las instrucciones podemos diferenciar tres partes fundamentales Entrada de Datos: La constituyen todas las instrucciones que toman los datos de entrada desde un dispositivo externo y los almacena en la memoria principal para que puedan ser procesados. Proceso o algoritmo: Est formado por las instrucciones que modifican los objetos a partir de su estado inicial (datos de entrada) hasta el estado final (resultados) dejando los objetos que lo contiene disponibles en la memoria principal. Salida de resultados: Conjunto de instrucciones que toman los datos finales (resultado) de la memoria principal y los envan a los dispositivos externos. El teorema de Bhm y Jacopini (1966) dice que un programa propio puede ser escrito utilizando slo tres tipos de estructuras de control:
Estructura de control selectiva simple Estructura de control selectiva doble Estructura de control selectiva mltiple
Para estas estructuras son necesarios los operadores lgicos y de relacin. Operadores de relacin Mayor a > Menor a < Mayor o igual a >= Menor o igual a <= Diferente a ~= Operadores lgicos Y (and) & O (or) | No (not) ~ Exclusivo o (or) Xor Con el uso de los operadores de relacin se construyen las condiciones simples y con el uso de los operadores de relacin y lgico se construyen las condiciones compuestas. Anadamiento: el cuerpo se cualquier estructura puede ser instrucciones simples u otras estructuras, que a su vez pueden contener a otras. Estructura bsica de un programa en C La mejor forma de aprender un lenguaje es programando con l. El programa ms sencillo que se puede escribir en C es el siguiente: Main ( ) {}
Un programa C puede estar formado por diferentes mdulos o fuentes. Es conveniente mantener las fuentes de un tamao no muy grande, para que la compilacin sea rpida. Tambin, al dividirse un programa en partes, puede facilitar la legibilidad del programa y su estructuracin. Los diferentes fuentes son compilados de forma separada, nicamente los fuentes que han sido modificados desde la ltima compilacin, y despus combinados con las libreras necesarias para formar el programa en su versin ejecutable.
a) Numricos: Permite representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Estos tipos de datos permiten hacer operaciones matemticas comunes. Para usarlos se escribe de manera normal como los usamos cotidianamente. por ejem. 412, 14.3, -17,9 entero: Son nmeros completos no tienen componentes fraccionarios o decimales y pueden ser positivos o negativos. se denominan en ocasiones de punto o coma fijo. real: Son nmeros que siempre tienen un punto decimal y pueden ser positivos o negativos, se denominan en ocasiones de punto o coma flotante.
b) Alfanumricos: Permite representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, caractersticas, etc. Es decir, permite identificar mediante nombres algunos atributos de una entidad. Es posible representar nmeros como alfanumricos, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representa encerrados entre comillas, para diferenciarlos de las variables ( que veremos mas adelante ) y los valores numricos. Los caracteres que la mayora de las computadoras reconocen son los siguientes: Caracteres alfabticos (a..z y A...Z) Caracteres numricos (0,1,2,3,4,5,6,7,8,9) Caracteres especiales ( + - # $ % ^ & * ( ) / < > : ; ' " )
c) Lgicos Tambin denominado boleano, es aquel dato que solo puede tomar
uno Permite dos en de dos valores cierto o falso.
representar respuestas simples, producto de la comparacin entre datos de tipo numrico o alfanumrico. Esto nos permite realizar cierta tarea funcin del valor de algunos datos.
Cuando usamos un programa es muy importante manejar datos. En C podemos almacenar los datos en variables. El contenido de las variables se puede ver o cambiar en cualquier momento. Estas variables pueden ser de distintos tipos dependiendo del tipo de dato que
nombre?
num/alumnos
El tipo int. En una variable de este tipo se almacenan nmeros enteros (sin decimales). El rango de valores que admite es -32767 a 32767. Cuando definimos una variable lo que estamos haciendo es decirle al compilador que nos reserve una zona de la memoria para almacenar datos de tipo int. Para guardarla necesitaremos 16 bits de la memoria del ordenador (216=32767). Para poder usar una variable primero hay que declararla (definirla). Hay que decirle al compilador que queremos crear una variable y hay que indicarle de qu tipo. Por ejemplo: int numero; Mostrar variables por pantalla Vamos a ir u poco ms all con la funcin printf. Supongamos que queremos mostrar el contenido de la variable x por pantalla: Printf (%i", x); Suponiendo que x valga 10 (x=10) en la pantalla tendramos: 10
Tambin se puede dar un valor inicial a la variable cuando se define: int x = 15; Tambin se pueden inicializar varias variables en una sola lnea: int x = 15, y = 20; Hay que tener cuidado con lo siguiente: int x, y = 20; Podramos pensar que x e y son igual a 20, pero no es as. La variable x est sin valor inicial y la variable 'y' tiene el valor 20. Veamos un ejemplo para resumir todo: #include <stdio.h> void main() { int x = 10; prinft( "El valor inicial de x es %i\n", x ); x = 50; printf( "Ahora el valor es %i\n", x ); }
El tipo Char Las variables de tipo char sirven para almacenar caracteres. Los caracteres se almacenan en realidad como nmeros del 0 al 255. Los 128 primeros (0 a 127) son el ASCII estndar. El
10
EL TIPO FLOAT En este tipo de variable podemos almacenar nmeros decimales, no slo enteros como en los anteriores. El rango de posibles valores es del 3,4E-38 al 3,4E38. Declaracin de una variable de tipo float:
11
12
o variable numrica : Aquella que solo permite almacenar valores numricos o variable alfanumrica : Aquella que puede almacenar uno o ms caracteres ( dgitos, nmeros, y smbolos) Tipos de variables.- Los tipo ms comunes son: enteras, reales, carcter, cadena y lgicas.
CONSTANTE: Dato numrico o alfanumrico que permanece invariable durante la ejecucin de un algoritmo. Estos datos pueden pasarse a variables para poder hacer uso de ellos en el algoritmo. El proceso de [pasar valores constantes a variables se le conoce como asignacin
13
Uso de las variables: Como se puede observar en la definicin dada en el punto anterior, las variables son zonas de la memoria que nos permite almacenar valores temporalmente. Por ello, en estas zonas podemos poner el resultado de operaciones matemticas, para posteriormente ser usadas o modificadas. Esta cualidad da como resultado, que existan ciertas formas de uso estndar en las variables. Este uso de las variables las hace muy tiles en el desarrollo de programas y son los siguientes: o Trabajo: Es aquella que recibe el resultado de una operacin matemtica completa y que ese usa normalmente dentro de un programa. o Contador: Forma que toma una variable y que sirve para llevar la cuenta de las operaciones o procesos realizados, con incrementos constantes, generalmente de 1 en 1. o Acumulador : Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente o Indicadores: Variables que reciben un determinado valor cuando se cumple cierta condicin o sucede cierto evento dentro de u programa. Se les conoce tambin como banderas.
14
15
Estn basadas en el formato Multimedia Card (MMC). Las tarjetas marcadas como HC (High Capacity) funcionan a alta velocidad y tienen tasas de transferencia de datos muy altas; algunas cmaras fotogrficas digitales requieren este tipo de tarjetas para poder grabar video con fluidez o para capturar mltiples fotografas en sucesin rpida. Starmedia
Tambin conocidas como (Tarjeta de Disco Floppy en Estado Slido). Son duraderas y su apariencia fsica es similar a la de un disquete, pero con el tamao aproximado de una estampilla de correo. Su forma impide introducirlas en su ranura en sentido contrario.
16
Tarjetas digitales con memoria flash diseadas con la compaa Sony. Adems de ser aptas para cmaras digitales de esta marca, las Memory Stick se pueden utilizar en una gran variedad de aparatos digitales. Estas tarjetas sirven para almacenar imgenes, msica, datos, textos y grficos Ofrecen una alta velocidad de acceso y o necesitan ningn dispositivo para la reproduccin, pues disponen de un adaptador para disquetes. Minini SD FLASH MEMORY
Por su tamao tan reducido, este formato de tarjeta se utiliza especialmente en telfonos celulares. Combina gran capacidad de almacenamiento, alta tasa de transferencia de datos, confiabilidad, seguridad y bajo consumo de energa. Tambin se utiliza en reproductores de audio, cmaras digitales (por medio de un adaptador) y asistentes digitales personales (PDA). Micro SD CARD Este formato de tarjeta solo mide 10.9mm x 14.9mm x 1mm y puede almacenar vrios GB de informacin. Al igual que el MINI SD, es my utilizado en telfonos celular
Lo mismo que en otros lenguajes de programacin, en C se tienen los operadores aritmticos ms usuales (+ suma, - resta, * multiplicacin, / divisin y % mdulo). El operador de asignacin es =, por ejemplo: i=4; ch='y'; Incremento ++ y decremento -- unario. Los cuales son ms eficientes que las respectivas asignaciones. Por ejemplo: x++ es ms rpido que x=x+1. Los operadores ++ y -- pueden ser prefijos o postfijos. Cuando son prefijos, el valor es calculado antes de que la expresin sea evaluada, y cuando es postfijo el valor es calculado despus que la expresin es evaluada.
17
18
Operadores Relacionales Los operadores relacionales permiten comparar dos valores entre si y obtener una respuesta de esta comparacin. Esta respuesta es de tipo lgico, es decir, puede ser solamente cierto cuando se cumpla la comparacin y falso cuando no se cumple. Cabe mencionar que el resultado de una operacin de relacin no puede ser asignado a una variable. Esto es el resultado es directamente usado por una estructura de control de programa. Como se ver ms delante. Los operadores relacionales son: > Mayor que < Menor que >= mayor o igual que
19
Operadores Lgicos Los operadores lgicos permiten comparar dos valores lgicos, los cuales como se deducen, pueden provenir de una comparacin relacional (usando operadores relacionales). Dicho de otra manera permiten efectuar dos comparaciones hechas cada una con un operador relacional, en una sola lnea. Como ya mencionamos, una comparacin relacional arroja resultados ciento o falso. El producto de una comparacin lgica da tambin cierto o falso. Los operadores lgicos san: And Or Not y o no (negacin)
Estos operadores se rigen por las siguientes tablas Estos operadores son utilizados en las expresiones lgicas donde el resultado da siempre verdadero o falso. Expresiones (Operadores) Expresiones.- Son conjuntos de constantes, variables, operadores y parntesis. Normalmente se utilizan para definir operaciones matemticas. Consta de operandos y operadores. Expresiones Aritmticas.- Son anlogas a las frmulas matemticas. Las variables y constantes son numricas y las operaciones son las aritmticas. Los operadores ms comunes son: Smbolo () ^ DIV MOD Significado Parntesis Exponenciacin Divisin entera Mdulo * / + = Multiplicacin Divisin Suma Resta Asignacin
Es una coleccin de operandos (nmeros, constantes, variables, etc.) enlazados por ciertos operadores, para construir una formula algebraica qu representa un valor.
20
3.8 Prioridad de operadores, evaluacin de expresiones. Determina el orden en que habrn de realizarse las operaciones en una expresin determinada. Para obtener la prioridad se deben conocer las siguientes reglas: Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (interiores unos a otros), las expresiones ms internas se evalan primero. En caso de coincidir varios operadores de igual prioridad en una expresin o subexpresin encerrada entre parntesis, el orden de prioridad en este caso es de izquierda a derecha. Cuando se desea realizar una operacin con baja prioridad por adelantado, debe agruparse a los operandos involucrados. Los parntesis tienen prioridad sobre el resto de las operaciones. Determina el orden en que habrn de realizarse las operaciones en una expresin determinada. Para obtener la prioridad se deben conocer las siguientes reglas: Las operaciones que estn encerradas entre parntesis se evalan primero. Si
21
22
Se puede crear un archivo que contenga el programa completo, como en los ejemplos que se tienen ms adelante. Se puede usar cualquier editor de textos ordinario con el que se est familiarizado. Un editor disponible en la mayora de los sistemas UNIX es vi, y en Linux se puede usar pico. Por convencin el nombre del archivo debe terminar con ``.c'' por ejemplo: miprograma.c progprueba.c. El contenido del archivo deber obedecer la sintaxis de C. Ejecucin de programa. El siguiente estado es correr el programa ejecutable. Para correr un ejecutable en UNIX, simplemente se escribe el nombre del archivo que lo contiene, en este caso programa (o a.out). Con lo anterior, se ejecuta el programa, mostrando algn resultado en la pantalla. En ste estado, podra haber errores en tiempo de ejecucin (run-time errors), tales como divisin por cero, o bien, podran hacerse evidentes al ver que el programa no produce la salida correcta. Si lo anterior sucede, entonces se debe regresar a editar el archivo del programa, recompilarlo, y ejecutarlo nuevamente. Sin embargo, se da alguna informacin bsica para algunos programas de C. El preprocesador acepta el cdigo fuente como entrada y es responsable de:
quitar los comentarios interpretar las directivas del preprocesador las cuales inician con #.
Por ejemplo:
#include -- incluye el contenido del archivo nombrado. Estos son usualmente llamados archivos de cabecera (header). Por ejemplo: #include <math.h> -- Archivo de la biblioteca estndar de matemticas. #include <stdio.h> -- Archivo de la biblioteca estndar de Entrada/Salida. #define -- define un nombre simblico o constante. Sustitucin de macros. #define TAM_MAX_ARREGLO 100 Compilador de C El compilador de C traduce el cdigo fuente en cdigo de ensamblador. El cdigo fuente es recibido del preprocesador. Ensamblador. El ensamblador crea el cdigo fuentei o los archivos objeto. En los sistemas con UNIX se podrn ver los archivos con el sufijo .o. Ligador
Si algn archivo fuente hace referencia a funciones de una biblioteca o de funciones que estn definidas en otros archivos fuentes, el ligador combina estas funciones (con main()) para crear un archivo ejecutable.
23
5 operandos A,B,C,D,E Pueden ser cualquier variable o constante vlida del lenguaje Los valores de las variables deben ser coherentes con las operaciones que se realicen con ellas 6 operadores /,-,+,*,-,* Describen las operaciones que se realizan entre las variables Pueden ser aritmticos, lgicos, relacionales X=A/B-C+D*E-A*C Orden en el que se deben realizar las operaciones Cada lenguaje debe definir exactamente dicho orden Si A = 4, B = C = 2, D = E = 3 => X=((4/2)-2)+(3*3)-(4*2) =0+9-8 =1 X = ( 4 / (2 - 2 + 3 ) ) * ( 3 - 4 ) * 2 = ( 4 / 3 ) * ( -1 ) * 2
24
4.1 Selectiva simple. Selectivas (Simples): Se utilizan para tomar decisiones lgicas. Se suelen denominar tambin estructuras de decisiones o alternativas. Es estas estructuras se evala una condicin y en funcin del resultado de la misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas. Su representacin en seudocdigo es: Si condicin entonces accin si no otra accin o Donde Si indica el comando de comparacin o Condicin indica la condicin a evaluar o Entonces precede a las acciones a realizar cuando se cumple la condicin o Accin Accin o conjunto de acciones que se realiza cuando se cumple la condicin o Sino precede a las acciones a realizar cuando no se cumple la condicin o Otra accin Accin o conjunto de acciones que se realizan cuando no se cumple la condicin. Dependiendo si la comparacin es cierta o falsa, se puede realizar una o ms acciones. Para realizar ms de una, se puede usar el concepto de bloque (INICIO FINAL) Representacin en diagrama de No condicin si
Ejecuta una determinada condicin y si el resultado es verdadero se ejecuta solo una determinada accin. Si la condicin es falsa el programa sigue con su secuencia normal.
25
Pseudocdigo: Si <condicin> entonces <Accin> fin_si If <condicin> the <Accin> Hendir Simple: ejecuta una determinada condicin y si el resultado es verdadero se ejecuta solo una determinada accin. Si la condicin es falsa el programa sigue con su secuencia normal.
4.2 Selectiva doble. Se utilizan cuando se tienen dos opciones de accin, se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Si la condicin es verdadera, se ejecuta la accin 1, si es falsa, se ejecuta la accin 2. Diagrama de flujo
26
Entonces, si una condicin C es verdadera, se ejecuta la accin S1 y si es falsa, se ejecuta la accin S2.
4.3 Selectiva anidada. La estructura selectiva anidada es una cadena de estructuras selectivas que se conectan de la parte else de la actual con la parte if de la siguiente, es decir cuando despus de una decisin se debe tomar otra, despus otra y as sucesivamente. Diagrama de flujo If <n=0> Then CERO Else If <n>0> Then ENTERO Else DECIMAL
End If
27
Mltiple Estructuras repetitivas: Consiste en repetir una o varias acciones un nmero determinado de veces. A esta accin se le llama bucle o ciclo. Las dos principales preguntas que se realizan en el diseo de un ciclo son o Que contiene el ciclo? o Cuantas veces se debe repetir? Estructura repetitiva Mientras (While... do): Es aquella en que el cuerpo del ciclo se repite mientras se cumple una determinada condicin.
28
Estructura repetitiva repetir (Repeat....until): Es aquel en que el cuerpo del se ejecuta hasta que se cumpla una condicin determinada que se verifica al final del ciclo. La representacin grfica es en seudocdigo
repetir accin 1 accin 2 accin n hasta que condicin Ejemplo: Algoritmo que calcule la suma de 100 nmeros introducidos por el teclado
29
La estructura desde comienza con una valor inicial de la variable ndice y las acciones especficas se ejecutan a menos que el valor inicial sea mayor que el valor final. El incremento de la variable ndice siempre es uno si no se indica lo contrario. Dependiendo del lenguaje es posible que el incremento sea distinto de uno positivo o negativo
30
4.5 Repetir mientras. Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se cumpla una condicin. De igual manera que en los condicionales, la condicin es evaluada y retorna un valor lgico, que puede ser verdadero o falso. En el caso del ciclo mientras las instrucciones contenidas en la estructura de repeticin se ejecutarn solamente si al evaluar la condicin se genera un valor verdadero; es decir, si la condicin se cumple; en caso contrario, se ejecutar la instruccin que aparece despus de Fin mientras. A diferencia de otros ciclos, el ciclo mientras comienza evaluando la expresin condicional, si el resultado es verdadero se ejecutarn las instrucciones que estn entre el mientras y el fin mientras, al encontrarse la lnea fin mientras se volver a evaluar la condicin, si se cumple se ejecutarn nuevamente las instrucciones y as sucesivamente hasta que la condicin deje de cumplirse, en cuyo caso, el control del programa pasa a la lnea que aparece despus de fin mientras. Si en la primera pasada por el ciclo mientras la condicin no se cumple las instrucciones que estn dentro del ciclo no se ejecutarn ni una sola vez. En diagrama de Chapin (N-S), esta estructura tiene la presentacin:
31
Este es un algoritmo muy trivial pero permite revisar la aplicacin de la estructura de repeticin Mientras. Lo primero a tener en cuenta es la declaracin e inicializacin de la variable: num = 1. En este caso no solo se est declarando una variable de tipo entero, sino tambin se est asignando un valor inicial, que ser el primer nmero mostrado. La condicin o expresin relacional con la cual se implementa el ciclo es num <= 10, dado que num inicia en 1, la primera vez que se encuentra la instruccin mientras, la expresin es verdadera, por tanto se ejecutan las instrucciones que aparecen al interior del ciclo. Despus de haber mostrado el contenido de la variable num, ste cambia, se incrementa en 1. 3. o o o Leer n nmeros y encontrar el valor promedio, el mayor y el menor Definicin del problema Encontrar el promedio, el mayor y el menor de varios nmeros Anlisis del problema
Para solucionar este problema, lo primero que hay que plantear es cmo se sabr cuando terminar la lectura de datos, ya que no se especifica la cantidad de nmeros que sern ingresados y en el planteamiento del problema no se da ninguna condicin que permita saber cundo terminar el ciclo. Este tipo de problemas es muy comn. Hay dos formas de abordar este ejercicio, la primera consiste en preguntar al usuario con cuantos nmeros desea trabajar y guardar dicho valor en una variable
32
4.6 Repetir hasta. Esta estructura es caracterstica de lenguajes como PASCAL, y su uso es muy sencillo, se especifica un valor de partida (lgicamente) y un valor de parada(por eso es hasta) que es el valor lmite hasta el cual se realizara cierta instruccin utilizando como base el valor de repeticin. Esta estructura es manejada por PASCAL como una estructura aparte, veamos de que forma: PROGRAM Ciclo_hasta; VAR
33
Realiza la accin o conjunto de acciones, luego evala una condicin, de resultar cierta vuelve a realizar la(s) accin(es). Cuando sea falsa se sale del ciclo. Su sintaxis es: Do { Sentencia, } While (); La diferencia fundamental, entre el ciclo while y do while es que en este ltimo, las sentencias se realizarn por lo menos una vez, en cambio, con while, solo se cumplirn mientras se cumpla la condicin, lo cual puede ser nunca.
34
4.8 Elaboracin de programas. Estructuras repetitivas del software PSeint Dentro del programa PSeint se tienen disponibles a 3 de las estructuras repetitivas, las cuales son Mientras, Repetir-Hasta y la estructura Para, ver figura 4.7. La estructura y sintaxis de uso de cada una se explica a continuacin. * Mientras * Repetir Hasta * Para Figura 4.7: Comandos de PSeint para estructuras repetitivas Sintaxis y uso de la instruccin Mientras
35
La repeticin del bloque de pasos se controla al inicio de la estructura, gracias a evaluar a una condicin lgica CL Expresion_logica, cuyo resultado Verdadero o Falso es aprovechado para determinar si repite o no el bloque!! Al utilizar un lazo Mientras hay que tener cuidado de lo siguiente: a) Para permitir que el lazo Mientras ejecute al menos una vez su ciclo de instrucciones, usted debe de asegurarse que su Condicin Lgica se cumpla (inicialmente), sino PSeint ignora a toda el bloque a repetir dentro de la estructura y continuara con el paso justamente despus del cierre del Mientras. b) Para que el lazo Mientras pueda repetir el Bucle una o ms veces, asegrese que en el interior de los pasos del ciclo se modifique/altere el valor de (por lo menos) una de las variables utilizada en la CL, de manera que al finalizar el ciclo actual, PSeint evalu de nuevo la CL, y decida si repetir el Bucle. c) Segn la aclaracin anterior, si necesita que el lazo finalice (que ya no se repita de nuevo el ciclo), asegrese que al volver a evaluar la CL, est ya no se cumpla.
36
int b[50][50]; Observar que para declarar cada dimensin lleva sus propios parntesis cuadrados. Para acceder los elementos se procede de forma similar al ejemplo del arreglo unidimensional, esto es, b[2][3] = 15; /* Asigna 15 al elemento de la 3 fila y la 4 columna*/
37
} En C se permite la inicializacin de arreglos, debiendo seguir el siguiente formato: tipo nombre_arr[ tam1 ][ tam2 ] ... [ tamN] = {lista-valores}; Por ejemplo: int c[10] = {1,2,3,4,5,6,7,8,9,10}; int num[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
ARREGLOS: Las estructuras de datos que hemos visto hasta ahora (listas, tuplas, diccionarios, conjuntos) permiten manipular datos de manera muy flexible. Combinndolas y anidndolas, es posible organizar informacin de manera estructurada para representar sistemas del mundo real. En muchas aplicaciones de Ingeniera, por otra parte, ms importante que la organizacin de los datos es la capacidad de hacer muchas operaciones a la vez sobre grandes conjuntos de datos numricos de manera eficiente. Algunos ejemplos de problemas que requieren manipular grandes secuencias de nmeros son: la prediccin del clima, la construccin de edificios, y el anlisis de indicadores financieros entre muchos otros. La estructura de datos que sirve para almacenar estas grandes secuencias de nmeros (generalmente de tipo float) es el arreglo. Los arreglos tienen algunas similitudes con las listas:los elementos tienen un orden y se pueden acceder mediante su posicin, los elementos se pueden recorrer usando un ciclo for. Sin embargo, tambin tienen algunas restricciones: todos los elementos del arreglo deben tener el mismo tipo, en general, el tamao del arreglo es fijo
38
39
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional est simultneamente en una fila y en una columna. En matemticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de Ingeniera. En un arreglo bidimensional, cada elemento tiene una posicin que se identifica mediante dos ndices: el de su fila y el de su columna. Crear arreglos bidimensionales Los arreglos bidimensionales tambin son provistos por NumPy, por lo que debemos comenzar importando las funciones de este mdulo:
40
41
42
43
5.3 Archivos. Los archivos son un mecanismo de abstraccin: proporcionan una forma de almacenar informacin en el disco y leerla despus. Cuando un proceso crea un archivo, le asigna un nombre. Cuando el proceso termina, el archivo sigue existiendo y otros procesos pueden acceder a l utilizando su nombre. Las reglas exactas para nombrar archivos varan tanto de un sistema a otro, pero todos los sistemas operativos permiten cadenas de 1 a 8 caracteres como nombres de archivos vlidos. En muchos casos se permite tambin dgitos y caracteres especiales.
Estructura de Archivos Los archivos pueden estructurarse de varias maneras. Tres posibles comunes son: Secuencia de bytes Secuencia de registros rbol
Tipos de Archivos o Archivos Regulares: Son los que contienen informacin del usuario. o Directorios: Son archivos de sistema que sirven para mantener la estructura del sistema de archivos. o Archivos Especiales por Caracteres: Estn relacionados con E/S y
44
45
46
UNIDAD 6: Funciones
6.1 Introduccin. Subalgoritmo. Se le llama as a cada una de las partes de un algoritmo ms general que resuelve cada una de las tareas particulares necesarias para que dicho algoritmo general alcance el objetivo para el que fue diseado, es decir resolver un problema. Las variables locales: se declaran dentro de un mdulo o Subalgoritmo y slo tienen utilidad dentro de ese mdulo, no se podr acceder a ellas desde otros mdulos. Pueden existir variables locales con el mismo nombre siempre que estn en mdulos diferentes. Las variables globales: son declaradas de forma que puedan ser utilizadas (consultada y/o modificada) desde cualquiera de los mdulos que forman el programa. En este caso, no puede haber dos variables globales con el mismo nombre, ya que esto producira una ambigedad que el compilador no podra resolver. Funcin. Tambin conocido como una subrutina o subprograma, como idea general, se presenta como un Subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea especfica. Algunos lenguajes de programacin, como Visual Basic .NET o Fortran, utilizan el nombre funcin para referirse a subrutinas que devuelven un valor. Una subrutina al ser llamada dentro de un programa hace que el cdigo principal se detenga y se dirija a ejecutar el cdigo de la subrutina, en cambio cuando se llama a una macro, el compilador toma el cdigo de la macro y lo implanta donde fue llamado, aumentando as el cdigo fuente y por consiguiente el objeto. Elementos de la declaracin de una subrutina. Las declaraciones de subrutinas generalmente son especificadas por:
47
6.2 Funciones estndar. 1-Cadenas de caracteres. Len: Indica la cantidad de caracteres que tiene una determinada cadena. Lcase y Ucase: Convierte cadenas de texto a minscula y mayscula.
48
FormatPercent: Porcentajes. Ejemplo: FormatPercent(txt2) los datos introducidos en text box 2 se dara en formato de porcentaje
. 4-Presentar mensajes en pantalla Funcin InputBox: Presenta un mensaje al usuario, permitindole ingresar un valor en una caja de texto.
49
La entrada de datos consiste en colocar en la memoria principal datos provenientes desde algn dispositivo de entrada (teclado, disco, etc.) para que la computadora, de acuerdo a un programa, realice una tarea. La salida de datos consiste en enviar datos (que, generalmente, son el resultado de un procesamiento) desde la memoria principal hacia un dispositivo de salida (pantalla, impresora, disco, etc.). La siguiente figura muestra un esquema conceptual del equipo de cmputo. o Esquema conceptual del equipo de cmputo La consola o En los albores de la computacin, el teclado y la pantalla formaban la consola. o En la actualidad, a la combinacin de teclado y pantalla se les sigue considerando como a la antigua consola. o En C#, la entrada y la salida de datos se pueden manejar a travs de los mtodos de la clase Console. o Entrada de datos desde el teclado Para la entrada de datos por medio del teclado se pueden utilizar los mtodos Read( ) y ReadLine( ) de la clase Console. Ejemplos: o System.Console.Read( ) ; // Lee el siguiente carcter desde el flujo de la entrada estndar. o System.Console.ReadLine( ) ; // Lee la siguiente lnea de caracteres desde el flujo de la entrada estndar. Salida de datos hacia la pantalla o La salida de datos hacia la pantalla se puede realizar utilizando los mtodos Write y WriteLine( ) de la clase Console.
50
51
52
6.5 Pase por valor. Pasar por valor implica crear una nueva variable dentro de la funcin y pasarle una copia del valor de la variable externa. Si se modifica el valor de la variable copia, la variable original queda inalterada. Los tipos de valor incluyen lo siguiente: Todos los tipos de datos numricos Boolean, Char y Date Todas las estructuras, incluso si sus miembros son tipos de referencia Las enumeraciones, ya que su tipo subyacente es siempre SByte, Short, Integer, Long, Byte, UShort, UInteger o ULong
53
Pasando datos de tipo bsico Sea la funcin void funcion (int x){ x=5; System.out.println("dentro de la funcin: a="+x); } Sea la variable a que toma inicialmente el valor de 3. Cul ser el valor de a despus de la llamada a la funcin funcion? int a=3; funcion(a); System.out.println("despus de la llamada: a="+a); En primer lugar, recordaremos que la funcin denominada funcion tiene un nico parmetro x, cuyo alcance es desde la llave de apretura hasta la llave de cierre de la funcin. La variable x deja de existir una vez que la funcin retorna. Vamos a ver en este ejemplo el significado de "paso por valor". La variable a toma el valor inicial de 3. Cuando se llama a la funcin se pasa el valor de a en su nico argumento, el valor de a se copia en el parmetro x, la variable x toma el valor de 3. En el curso de la llamada a la funcin, el valor de x cambia a 5, pero cuando la funcin retorna, la variable x ha dejado de existir. La variable a no se ha modificado en el curso de la llamada a la funcin, y sigue valiendo 3. Durante el curso de la llamada a la funcin funcin, existe la variable a y su copia x, pero son dos variables distintas, aunque inicialmente guarden el mismo valor. Pasando objetos Creamos una clase Entero muy sencilla que tiene como miembro dato un nmero entero valor, y un constructor que inicializa dicho miembro pblico al crearse un objeto de la clase Entero. public class Entero { public int valor; public Entero(int valor){ this.valor=valor; } }
54
55
Pasar un argumento por referencia implica que en realidad se pasa a la funcin la variable original, de modo que la funcin puede modificar su valor. Los tipos de referencia incluyen lo siguiente: String Todas las matrices, incluso si sus elementos son tipos de valores Los tipos de clase, como Form Delegados
6.7 Punteros. Un puntero es un tipo simple que siempre est asociado a otro tipo (punteros a enteros, a reales, a registros, etc.) Se pueden ver los punteros como variables que almacenan direcciones de memoria; de aqu se deduce: Un puntero es un medio para acceder al contenido real apuntado por la variable. La declaracin de un puntero no implica que exista contenido apuntado por el misma. Es necesario crear y destruir explcitamente el contenido apuntado por punteros. Se puede establecer una analoga entre los punteros y las direcciones postales: Una direccin postal permite acceder al lugar fsico indicado. El hecho de disponer de una direccin postal no garantiza que el lugar exista. Para declarar variables de tipo puntero en la notacin algortmica se utiliza la sintaxis siguiente: variable puntero a tipo Por ejemplo: puntero a real
Una vez se declara un puntero pueden llevarse a cabo dos acciones bsicas sobre el mismo: Asignarle memoria para almacenar un dato del tipo al que apunta:
56
Cdigo: Private Sub cmdconv_Click() If opt1.Value = True Then txt1 = UCase(txt1) opt1.Value = False End If If opt2.Value = True Then txt1 = LCase(txt1) opt2.Value = False End If End Sub Private Sub cmdend_Click() End End Sub Private Function suma(num1 As Integer, num2 As Integer) As Integer Dim resultado As Integer suma = num1 + num2
57
58
59
Conclusin
60
61