sábado, 3 de enero de 2009

Variables y Constantes de los algoritmos

ELEMENTOS DE UN ALGORITMO
VARIABLE: es un elemento del algoritmo que posee un valor, conocido por un nombre o identificador y que pertenece a un tipo de dato definido al inicio del algoritmo. Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.
CONSTANTE: Son los elementos del algoritmo que no cambian de valor a lo largo del algoritmo. Las constantes deben ser inicializadas de acuerdo con el tipo de dato al que pertenecen. Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.
EXPRESIÓN: es una combinación de variables, constantes, valores constantes, operadores y funciones especiales que, en cada momento, al evaluarla tiene un valor concreto. Las expresiones más representativas son las numéricas y las lógicas.

DATOS
Datos son los hechos que describen sucesos y entidades."Datos" es una palabra en plural que se refiere a más de un hecho. A un hecho simple se le denomina "data-ítem" o elemento de dato.
Los datos son comunicados por varios tipos de símbolos tales como las letras del alfabeto, números, movimientos de labios
Puntos y rayas, señales con la mano, dibujos, etc. Estos símbolos se pueden ordenar y reordenar de forma utilizable y se les denomina información.
Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los datos se caracterizan por no contener ninguna información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información para ofrecer un significado, conocimiento, ideas o conclusiones.
TIPOS DE DATOS
En lenguajes de programación un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o el programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en Java, el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación.
En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.[1] Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminología diferente. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá un nombre y una fecha de nacimiento.
Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.
//
TIPOS DE DATOS MÁQUINA
Artículo principal: Tipos de datos máquina
Todos los datos en los ordenadores basados en la electrónica digital se representan como bits (valores 0 y 1) en el nivel más bajo. La más pequeña unidad direccionable de datos es un grupo de bits llamado un byte (normalmente un octeto, que son 8 bits). La unidad procesada por las instrucciones del código máquina se le llama una palabra (en 2006, normalmente 32 o 64 bits). La mayor parte de las instrucciones interpretan la palabra como un número binario, como por ejemplo una palabra de 32 bits puede representar valores enteros sin signo desde el 0 al 232 − 1 o valores enteros con signo desde − 231 al 231 − 1. Por medio del complemento a dos, la mayor parte del tiempo, el lenguaje máquina y la propia máquina no necesitan distinguir entre tipos de datos con o sin signo.
Existe un específico conjunto de instrucciones aritméticas que usa una diferente interpretación de los bits de una palabra como número en coma flotante.
TIPOS SIMPLES
Artículo principal: Tipos simples
Tipo Ordinal
Tipos predefinidos
Tipo de dato entero
Tipo de dato carácter
Tipo de dato lógico
Tipos definidos por el usuario
Tipo de dato enumerado
Tipo de dato subrango
Tipo No Ordinal
Tipo de dato real
Tipo de dato cronológico
TIPO DE DATO PUNTERO
En lenguajes de programación un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o el programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en Java, el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación.
En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.[1] Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminología diferente. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá un nombre y una fecha de nacimiento.
Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.
ALGORITMO CUALITATIVO
Son aquellos que resolver un problema no ejecuta operaciones matemática en el desarrollo de algoritmo.

ALGORITMO CUANTITATIVO
Son aquellos algoritmos que ejecutan operaciones numéricas durante su ejecución.
Algoritmos Cualitativos: Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la solución de un problema.
Algoritmos Cuantitativos: Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio.

METODO DE REFINAMIENTO POR PASOS
El diseño de un algoritmo involucra dos Métodos, seguidamente se resume el resultado de la investigación al respecto:
Método de Diseño Descendente: algunos autores se refieren a como "Top-Down" y otros como "Divide y Vencerás". La esencia de este método radica en que se toma un problema general y se va dividiendo en problemas más sencillos, estos a su vez se pueden dividir y así sucesivamente. Este proceso se repite hasta lograr tener definidos procesos que realicen tareas únicas. Estas sucesivas divisiones generan lo que se conoce como "Niveles de Abstracción", o sea, son como diferentes puntos de vista del problema, como visiones de él. Claramente se observa que se esta realizando análisis, pues se va de lo general a lo especifico, del todo a las partes. Es muy importante resaltar que cada proceso definido puede ser independiente y tener un comportamiento específico, sin embargo, cada uno por si solo no resuelve el problema total por lo cual necesita relacionarse con los demás, ya sea a través de las E/S para resolver el problema. Es una visión externa de los procesos.
Refinamiento de Algoritmos: una vez definidos los procesos estos deben ser refinados en términos de cómo realizar la tarea en cuestión, se deben definir las instrucciones o secuencia de pasos para lograr el objetivo del proceso en particular, se deben detallar los pasos, esto implica definir el comportamiento del proceso, es una síntesis, proceso creativo, es definir como lo hace, conlleva a una visión hacia dentro del proceso. Este método es también conocido como "Refinamiento por Pasos" (RPP) o "Stepwise" por otros autores.
PSEUDOLENGUAJE
Pseudo = falso. El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo
DIAGRAMA DE FLUJO
Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.
Para su elaboración se siguen ciertas reglas:
· Se escribe de arriba hacia abajo y de izquierda a derecha.
· Siempre se usan flechas verticales u horizontales, jamás curvas.
· Evitar cruce de flujos.
· En cada paso expresar una acción concreta.
· Secuencia de flujo normal en una solución de problema
TIENE UN INICIO
· Una lectura o entrada de datos.
· El proceso de datos.
· Una salida de información.
UNIDAD II
ESTRUCTURAS SECUENCIALES
PROGRAMACIÓN ESTRUCTURADA
La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de forma clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.
//
Orígenes de la programación estructurada
A finales de los años 1960 surgió una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su comprensión posterior.
El teorema del programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:
Secuencia
Instrucción condicional.
Iteración (bucle de instrucciones) con condición al principio.
Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, éstas pueden ser construidas mediante las tres básicas.
Por ejemplo, en Visual Basic la secuencia de instrucciones consiste en la escritura de una instrucción debajo de otra (también se pueden poner en la misma línea separadas por el símbolo de dos puntos ":" aunque no es recomendable). La instrucción condicional es la instrucción If y la iteración con condición al inicio sería la instrucción do-while-loop o while-wend.


DECLARACION DE DATOS: CONSTANTES Y VARIABLES
1. fundamentos de programación variables, constantes y tipos de datos en c
2. ¿Qué es una Variable?
3. posiciones de memoria.nEs solo un nombre para identificar identificador válido.nEste nombre de la variable debe ser un se guardan los datos usados por el nEn las variables (posiciones de memoria) nprograma durante su ejecución.
toda variable debe ser declarada antes de poder ser utilizada.
4. Un identificador es simplemente el nombre que le vamos a dar a la variable, constante o función Para que un identificador sea válido debe:
Iniciar con una letra del alfabeto inglés, o con el signo (_) •No debe contener caracteres especiales, tales como @, $, #.
Después de la primera letra puede contener más letras del alfabeto inglés, números, o el carácter (_).
No debe haber espacios en blanco en los identificadores •C diferencia mayúsculas de minúsculas, entonces no es lo mismo declarar la variable numero que Numero o Numero.
Existen palabras propias del lenguaje (palabras reservadas) que no pueden ser usadas como identificadores.
5. Ejemplos de identificadores válidos y no válidos No Válidos numero @hola _hola Peso neto Peso _ neto 1radio radio1 No Válidos
6. Tipos de variables
7. declaran después del llamado a las Variables globales: son las que se cabeceras, pero antes de cualquier función, y son útiles para cualquier parte del programa.
8. Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.
9. Tipos de datos
10. almacenamientos disponibles para Los tipos de datos definen los métodos de representar información, junto con la manera en que dicha información ha de ser interpretada.
LA ESTRUCTURA DE LOS PROGRAMAS
PROGRAMAS Y SENTENCIAS
Un programa de computadora es un sistema con componentes e interrelaciones. Intentaremos determinar cuales son dichos componentes y como se relacionan.
En primer lugar definiremos los conceptos de programa y programa de computadora.
Un programa puede ser definido como "una secuencia precisa y ordenada de instrucciones y grupos de instrucciones, las cuales, en su total, definen, describen, o caracterizan la realización de alguna tarea".
Un programa de computadora es simplemente un programa el cual, posiblemente a trevés de una transformación, indica a la computadora como realizar una tarea.
En el nivel más elemental, observamos que un programa de computadora está compuesto de sentencias o instrucciones. Estas instrucciones están ordenadas en una secuencia. Podemos por lo tanto identificar a las instrucciones como componentes y a la secuencia como un relación. Esta es la visión clásica o "algoritmica" de un programa.
De esta visión tenemos como consecuencia, que el esfuerzo en el desarrollo de un programa se enfatiza en encontrar un método de solución y su transcripción sentencia a sentencia.
Para los propósitos de nuestro estudio, consideraremos que una sentencia es una línea de código que el programador escribe.
LAS INSTRUCCIONES DE ENTRADA Y SALIDA
Este grupo de instrucciones forma un caso especial dentro de las instrucciones privilegiadas, principalmente porque accesan a dispositivos que están compartidos --por ejemplo puertos y discos duros, por mencionar algunos dispositivos--. Existen dos métodos generales para manejar este tipo de instrucciones. Dependiendo del tipo de MMV que se implante es la estrategia que se sigue para manejar las instrucciones privilegiadas de entrada y salida. El primer método consiste en dejar que se ejecuten las instrucciones y utilicen los dispositivos físicos que requieran (esta opción es muy adecuada para los MMV de tipo I). El segundo método es simular su comportamiento con los recursos del sistema operativo anfitrión (esta técnica la utilizan los demás tipos de MMV y CSIM).
Para implantar la primera técnica se requiere que el MMV corra en el mayor nivel de privilegio (que proporcione el procesador) y así ejecute las instrucciones privilegiadas. Para implantar la segunda técnica, Rosenblum y Varadarajan [14] proponen atacar estas instrucciones planteando que un sistema operativo es, a final de cuentas, un programa con estradas y salidas (como se muestra en la figura 1.4).
Figure 1.4: Interacciones de Entrada y Salida de un Sistema Operativo.


PROCEDIMIENTOS Y FUNCIONES
Los procedimientos y funciones son la base principal en la programación modular, estudiaremos aqui su funcionamiento y su sintaxis, aunque debo recordarles que es solamente pseudocodigo. : )
PROCEDIMIENTOS
Un procedimiento es un subprograma que realiza una tarea especifica. Puede recibir cero o mas valores del programa que llama y devolver cero o mas valores a dicho programa.
Un procedimiento esta compuesto de un grupo de sentencias a las que se asigna un nombre (identificador) y constituye una unidad de programa. La tarea determinada al procedimiento se ejecuta siempre que se encuentra el nombre del procedimiento.
La declaración indica las instrucciones a ejecutar. Su sintaxis es:
Procedimiento nombreproc (lista de par)
Declaraciones locales
Inicio
Cuerpo del procedimiento (instrucciones)
Fin.
Un procedimiento es llamado en un programa o dentro de otro procedimiento directamente por su nombre en cualquiera de las dos formas:nombreproc

nombreproc (lista par. actuales)
FUNCIONES
Una función es un subprograma que recibe como argumentos o parámetros, datos de tipos numérico o no numérico, y devuelve un único resultado. Esta característica le diferencia esencialmente de un procedimiento
LA INSTRUCCIÓN DE ASIGNACIÓN
• La instrucción de asignación se usa para asignar valores a variables.
• Los valores asignados a las variables son sustituidos en lugar de las variables en cualquier subexpresión que contenga dichas variables.
• Las variables están indefinidas hasta que sus valores se espefican explícitamente mediante una instrucción de asignaciíon (o una de las otras instrucciones que definiremos más adelante).3.4
INSTRUCCIÓN DE ASIGNACIÓN
Sintaxis:
Variable:= expresión;
Donde:
• Variable es un identificador Pascal válido.
• Expresión puede ser una constante, otra variable a la que se le ha asignado previamente un valor, o una fórmula a ser evaluada.


OBJETIVO:
Asigna el valor de expresión a variable.
En toda instrucción de asignación:
• La variable a la que se asigna un valor debe aparecer en el lado izquierdo del operador de asignación, y a la derecha debe aparecer una expresión valida;
• La variable y la expresión deben ser del mismo tipo. Sin embargo, es válido asigna un valor entero a una variable real (el valor entero será convertido al valor real correspondiente), pero no es legal asigna un valor real a una variable entera.

No hay comentarios:

Publicar un comentario en la entrada