Sei sulla pagina 1di 11

1.- Mtodos de Programacin 1.

1 Tipos de Datos y Caractersticas El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producir un error. La asignacin de tipos a los datos tiene dos objetivos principales: Por un lado, detectar errores en las operaciones Por el otro, determinar cmo ejecutar estas operaciones De Pascal se dice que es un lenguaje fuertemente tipeado. Esto quiere decir que todos los datos deben de tener un tipo declarado explcitamente, y adems que existen ciertas restricciones en las expresiones en cuanto a los tipos de datos que en ellas intervienen. Una ventaja de los lenguajes fuertemente tipeados es que se gasta mucho menos esfuerzo en depurar (corregir) los programas gracias a la gran cantidad de errores que detecta el compilador. Los tipos de datos, como casi todos los objetos de Pascal, se pueden declarar. La declaracin de tipos ya se coment en el tema correspondiente a la estructura de un programa.

Tipos estticos Casi todos los tipos de datos son estticos, la excepcin son los punteros y no se tratarn debido a su complejidad. Que un tipo de datos sea esttico quiere decir que el tamao que ocupa en memoria no puede variar durante la ejecucin del programa. Es decir, una vez declarada una variable de un tipo determinado, a sta se le asigna un trozo de memoria fijo, y este trozo no se podr aumentar ni disminur.

Tipos dinmicos Dentro de esta categora entra slamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestin de memoria en tus programas. Con ellos puedes manejar el tamao de tus variables en tiempo de ejecucin, o sea, cuando el programa se est ejecutando. Los punteros quizs sean el concepto ms complejo a la hora de aprender un lenguaje de programacin, sobre todo si es el primero que aprendes. Debido a esto, no lo trataremos. Adems, lenguajes que estn muy de moda (por ejemplo Java) no permiten al programador trabajar con punteros.

Tipos simples Como su nombre indica son los tipos bsicos en Pascal. Son los ms sencillos y los ms fciles de aprender. Por todo esto, sern en los que nos centremos. Los tipos simples ms bsicos son: entero, lgico, carcter y real. Y la mayora de los lenguajes de programacin los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.

Tipos estructurados Mientras que una variable de un tipo simple slo referencia a un elemento, los estructurados se refieren a colecciones de elementos. Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.

Tipos ordinales Dentro de los tipos simples, los ordinales son los ms abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relacin uno a uno entre sus elementos y el conjunto de los nmeros naturales. Dentro de los tipos simples ordinales, los ms importantes son: El tipo entero (integer) El tipo lgico (boolean) El tipo carcter (char)

Tipos no-ordinales Simplificando, podramos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los nmeros reales. A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relacin uno a uno entre ellos y los nmero naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene que poder calcular la posicin, el anterior elemento y el siguiente de

un elemento cualquiera del conjunto.Cul es el sucesor de 5.12? Ser 5.13, o 5.120, o 5.121,...

Los tipos bsicos que nos interesan: Despus de ver una de las posibles clasificaciones para los tipos de datos, pasemos a ver los que nos interesan: los tipos simples. Realmente de los tipos simples veremos los ms bsicos, que son: integer, boolean, char y real. Adems, tambin hablaremos un poco de las cadenas de caracteres, los llamados strings. nota: a continuacin slo se comentar qu es cada tipo, no se explicar su declaracin, esto puedes verlo si vas a la seccin correspondiente. EL TIPO INTEGER (ENTERO) El tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al declarar una variable de tipo entero, ests creando una variable numrica que puede tomar valores positivos o negativos, y sin parte decimal. Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones, expresiones aritmticas, etc. Algunos de los papeles ms comunes que desarrollan son: Controlar un bucle Usarlas como contador, incrementando su valor cuando sucede algo Realizar operaciones enteras, es decir, sin parte decimal.

EL TIPO BOOLEAN (LGICO) El tipo de datos lgico es el que te permite usar variables que disponen slo de dos posibles valores: cierto o falso. Debido a esto, su utilidad salta a la vista, y no es otra que variables de chequeo. Nos sirven para mantener el estado de un objeto mediante dos valores: si/no cierto/falso funciona/no funciona on/off

EL TIPO REAL (REAL)

Como ya has visto, Pascal soporta el conjunto entero de nmeros. Pero no es el nico, tambin te permite trabajar con nmeros pertenecientes al conjunto real. El tipo de datos real es el que se corresponde con los nmeros reales. Este es un tipo importante para los clculos. Por ejemplo en los estadsticos, ya que se caracterizan por tratar fundamentalmente con valores decimales. nota: Aunque pueda que ests acostumbrado a escribir con coma los decimales, te advierto que en Pascal y en todos los lenguajes de programacin se escribe con un punto. Por ejemplo: 3.1416

LOS TIPOS CHAR Y STRING (CARCTER Y CADENA) Con el tipo carcter puedes tener objetos que representen una letra, un nmero, etc. Es decir, puedes usar variables o constantes que representen un valor alfanumrico. Pero ojo, cada variable slo podr almacenar un carcter. Sin embargo, con las cadenas de caracteres (strings) puedes contener en una sola variable ms de un carcter. Por ejemplo, puedes tener en una variable tu nombre.

2.1 Operaciones: Tipos y Caractersticas En ocasiones en los programas se necesitan realizar comparaciones entre distintos valores, esto se realiza utilizando los operadores relaciones, los cuales se listan a continuacin: Operador Significado < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que = Igual a <> Distinto a, diferente de

OPERADORES ARITMETICOS Y DE ASIGNACION: A continuacin se explican los tipos de operadores (aritmticos y de asignacin) que permiten realizar operaciones matemticas en lenguaje C.

Operadores aritmticos Existen dos tipos de operadores aritmticos Los binarios: + * / % Suma Resta Multiplicacin Divisin Mdulo (resto)

y los unarios: ++ -Incremento (suma 1) Decremento (resta 1) Cambio de signo

Su sintaxis es: binarios: <variable1><operador><variable2 unarios: <variable><operador> y al revs, <operador><variable>. Operadores de asignacin La mayora de los operadores aritmticos binarios explicados anterioridad tienen su correspondiente operador de asignacin: = += -= *= /= %= Asignacin simple Suma Resta Multiplicacin Divisin Mdulo (resto) con

Con estos operadores se pueden escribir, de forma ms breve, expresiones del tipo: n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 Jerarqua de los operadores Ser importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos: () Mayor precedencia

++, - *, /, % +, Menor precendencia

Las operaciones con mayor precedencia se realizan antes que las de menor precedencia. Si en una operacin encontramos signos del mismo nivel de precedencia, dicha operacin se realiza de izquierda a derecha. A continuacin se muestra un ejemplo sobre ello: a*b+c/d-e

1. a*b resultado = x 2. c/d resultado = y 3. x+y resultado = z 4. z-e Fijarse que la multiplicacin se resuelve antes que la divisin ya que est situada ms a la izquierda en la operacin. Lo mismo ocurre con la suma y la resta.

1.3- Algoritmos como mtodos de programacin El computador es una mquina que por s sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u rdenes que le digan lo que tiene que hacer. Un programa es la solucin a un problema inicial, as que todo comienza all: en el Problema. El proceso de programacin es el siguiente: Dado un determinado problema el programador debe idear una solucin y expresarla usando un algoritmo (aqu es donde entra a jugar); luego de esto, debe codificarlo en un

determinado lenguaje de programacin y por ltimo ejecutar el programa en el computador el cual refleja una solucin al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores. La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solucin y expresarla usando un ALGORITMO!. Metodologa para computadora la solucin de problemas por medio de

DEFINICIN DEL PROBLEMA Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

ANLISIS DEL PROBLEMA Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy prctica es el de colocarse en el lugar de la computadora y analizar qu es lo que se necesita que se ordene y en qu secuencia para producir los resultados esperados.

DISEO DEL ALGORITMO Las caractersticas de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin.

Diseo del Algoritmo Prueba de escritorio o Depuracin Se denomina prueba de escritorio a la comprobacin que se hace de un algoritmo para saber si est bien hecho. Esta prueba consiste en tomar datos especficos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el anlisis de estos resultados indicar si el algoritmo est correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

1.4- Diagramas de Flujo Un diagrama de flujo es una representacin grfica de un algoritmo o proceso. Se utiliza en disciplinas como la programacin, la economa, los procesos industriales y la psicologa cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas que conectan los puntos de inicio y de fin de proceso. Un diagrama de flujo siempre tiene un nico punto de inicio y un nico punto de trmino. Adems, todo camino de ejecucin debe permitir llegar desde el inicio hasta el trmino. Las siguientes son acciones previas a la realizacin del diagrama de flujo: Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueo o responsable del proceso, los dueos o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas. Definir qu se espera obtener del diagrama de flujo. Identificar quin lo emplear y cmo. Establecer el nivel de detalle requerido. Determinar los lmites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son: Establecer el alcance del proceso a describir. De esta manera quedar fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.

Identificar y listar las principales actividades/subprocesos que estn incluidos en el proceso a describir y su orden cronolgico. Si el nivel de detalle definido incluye actividades menores, listarlas tambin. Identificar y listar los puntos de decisin. Construir el diagrama respetando la secuencia asignando los correspondientes smbolos. cronolgica y

Asignar un ttulo al diagrama y verificar que est completo y describa con exactitud el proceso elegido.

Tipos de Diagramas de Flujo: Formato vertical: En l el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la informacin que se considere necesaria, segn su propsito. Formato horizontal: En l, el flujo o la secuencia de las operaciones, va de izquierda a derecha. Formato panormico: El proceso entero est representado en una sola carta y puede apreciarse de una sola mirada mucho ms rpido que leyendo el texto, lo que facilita su comprensin, aun para personas no familiarizadas. Registra no solo en lnea vertical, sino tambin horizontal, distintas acciones simultneas y la participacin de ms de un puesto o departamento que el formato vertical no registra. Formato Arquitectnico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectnico del rea de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.

1.5- Procesos interactivos y por lotes Se conoce como sistema por lotes (batch processing), o modo batch, a la ejecucin de un programa sin el control o supervisin directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecucin no precisa ningn tipo de interaccin con el usuario. Generalmente, este tipo de ejecucin se utiliza en tareas repetitivas sobre grandes conjuntos de informacin, ya que sera tedioso y propenso a errores realizarlo manualmente. Un ejemplo sera el renderizado de los fotogramas de una pelcula. Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qu se quiere ejecutar y, posiblemente, qu tipo de recursos necesita reservar. Los sistemas por lotes son el mecanismo ms tradicional y antiguo de ejecutar tareas. Se introdujeron alrededor de 1956 para aumentar la capacidad de proceso de los programas. En la actualidad, los trabajos por lotes son ampliamente utilizados en supercomputadores, como Magerit.Este procesamiento se dio en la segunda generacion de computadoras. El extremo opuesto al procesamiento por lotes es el procesamiento interactivo: programas que precisan la interaccin con el usuario (peticin de datos, eleccin de opciones) para funcionar. Cada tipo de proceso es diferente y ms adecuado en unas situaciones que en otras. En un sistema por lotes existe un gestor de trabajos, encargado de reservar y asignar los recursos de las mquinas a las tareas que hay que ejecutar. De

esta forma, mientras existan trabajos pendientes de procesamiento, los recursos disponibles estarn siempre ocupados ejecutando tareas. Si el sistema est bien planificado, se alcanzan tiempos de ejecucin muy altos, ya que los recursos disponibles estn siendo utilizados casi continuamente. Adems, el Sistema Operativo puede ser muy simple ya que las tareas son completamente secuenciales por lo que se reduce la necesitad de utilizar esquemas Round Robin o similares. Ventajas: Permite compartir mejor los recursos de un ordenador entre muchos usuarios, al no competir por stos de forma inmediata. Realiza el trabajo en el momento en el que los recursos del ordenador estn menos ocupados, dando prioridad a tareas interactivas. Evita desaprovechar los recursos del ordenador sin necesidad de interaccin y supervisin humanas continuas. En ordenadores caros o supercomputadores, ayuda a amortizar el coste manteniendo altos ndices de utilizacin.

Inconvenientes: El principal inconveniente de la ejecucin por lotes frente a la ejecucin interactiva es que hay que conocer y planificar cuidadosamente la tarea a realizar. Al carecer de supervisin por parte del usuario, cualquier tipo de error puede producir resultados intiles o, simplemente, inexistentes...

Potrebbero piacerti anche