lunes, 21 de abril de 2014

Datos y Entidades Primitivas

Concepto de Datos.

Es una representación simbólica numérica, alfabética, algorítmica, un atributo o característica de una entidad. Los datos describen hechos empíricos, sucesos y entidades. Pueden consistir en números, estadísticas o proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la información humanamente relevante que se pueden utilizar en la toma de decisiones, la reducción de la incertidumbre o la realización de cálculos. Los datos aisladamente pueden no contener información humanamente relevante.

Tipos de Datos.

  • Datos Simples (sin estructura). Numéricos, Lógicos, Caracteres.
  • Datos Compuestos (con estructura).
  • Datos Numéricos Enteros: Es un subconjunto finito de los números enteros. Los enteros son números complejos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos. Ejemplos de números enteros son: 5, 6, -15, -4, 20, 17, 1340, 26.
  • Datos Numéricos Reales: Consiste en un subconjunto de los números reales. Los números reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real consta de un entero y una parte decimal. Ejemplos de números reales son: 0.08.1 3739.41.
  • Datos Alfanumérico: Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombre de personas, direcciones, entre otras. Es posible representar números como alfanuméricos, pero esto pierde su propiedad matemática, es decir no es posible hacer operaciones con ellos.
  • Datos Alfanuméricos Caracteres: Es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carácter contiene un solo carácter. Caracteres alfabéticos (A, B,C, . . . , Z) (a, b, c, . . . , z), Caracteres numéricos (1, 2, . . . , 9, 0), Caracteres especiales (+ , -, * , / , ^ , . , ; . < , >, $ , . . . ).
  • Datos Alfanuméricos Cadena de Caracteres: Es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofo) o dobles comillas, según el tipo de lenguaje de programación. ´Hola Mundo´ ´24 de Junio de 2010´ ´Esto es un mensaje´.
  • Datos Lógicos: Es aquel dato que solo puede tomar uno de dos valores: cierto o verdadero (true) y falso (false). Este tipo de datos se utiliza para representar las alternativas (si/no) a determinadas condiciones.
concepto de Información.

Es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje.
La información es el sistema de control, en tanto que es la propagación de consignas que deberíamos de creer o hacer que creemos. En tal sentido la información es un conjunto organizado de datos capaz de cambiar el estado de conocimiento en el sentido de las consignas trasmitidas.

Diferencia entre Datos e Información.
 
La información a diferencia de los datos, tienen estructura útil que modifica las sucesivas interacciones del ente que posee dicha información con su entorno.
La información se compone de datos que ya han sido procesados de algún modo para que tengan un sentido y un objetivo al momento de tomar decisiones.
Los datos se caracterizan por no contener ninguna información.
Pueden asociarse dentro de un contexto para convertirse en información.
Los datos no tienen capacidad de comunicar un significado.

Concepto de Operadores.

Son elementos que relacionan de forma diferente, los valores de una o mas variables o constantes. Es decir, los operadores nos permiten manipular valores.

También se puede decir que es un símbolo que indica al copilador que realice manipulaciones lógicas o matemáticas especificas. Los operadores del mismo nivel de procedencia son evaluados por el compilador de izquierda a derecha; por supuesto se puede utilizar paréntesis ( ) para ordenar la evaluación. También conviene utilizar paréntesis para hacer mas claros el orden en que se produce las evaluaciones.

Tipos de Operadores.

  • Operadores Aritméticos: Permiten la realización de operaciones matemáticas con los valores (variables y constantes). Pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operadores Aritméticos:
+ Suma, - Resta, * Multiplicación, / División, Mod Modulo (residuo de la división entera).
Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
  • Operadores Lógicos: Se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.
Operadores Lógicos: And Y, Or O, Not Negación.

Concepto de Expresión.

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Toda expresión tiene asociada un tipo que se corresponde con el tipo del valor que devuelve la expresión cuando se evalúa.

Tipos de Expresiones:

Pueden ser simples o compuestas:

  • Simples: Son asignaciones directas a una variable o constante de un valor numérico o carácter.
  • Compuestas: Es la asignación a una variable o constante que surge de la unión de los valores numéricos. operadores aritméticos, de comparación o lógicas.
Evaluación de Expresiones:

Escribir la fórmula con un número arriba de cada operador que indique su jerarquía. Se escriben los enteros positivos en orden, donde el número 1 corresponde al operador de mayor jerarquía. Cuando dos operadores tengan la misma jerarquía, se le asigna el número menor al de la izquierda.

Construir el árbol sintáctico empezando con la fórmula en la raíz y utilizando en cada caso el operador de menor jerarquía. O sea, del número mayor al menor.


Concepto de Indicadores.

Es una serie de caracteres formados por letras y dígitos.
 
Reglas de Escritura.

  • Prohibido usar más de 10 emotiones.
  • Prohibido usar letras grandes a no ser que sea para resaltar algo MUY IMPORTANTE (Como máximo 1 línea).
  • Prohibido usar centrado en todo el post, o cambiar cada línea de posición.
  • Prohibido cambiar el color si no es para resaltar algo importante.
  • Prohibido usar Subrayado en todo el post, si no es para resaltar algo.
  • Prohibido usar borrador (ej: Hola) en todo el post.
  • Prohibido usar el método chat.
  • Prohibido poner el post con muchos tipos de fuentes, solo se permite el uso de otra fuente para resaltar algo.
  • Se prohibe crear un post o una respuesta que solo contenga palabras como: =O, lol, omfg, fuck.
  • Se prohibe escribir mal, todos sabemos escribir, aun con un mínimo, nada de.
Vusco Serber rakes 10x

Concepto de Variables.

El valor puede cambiar durante la ejecución del algoritmo, pero nunca varía su nombre y su tipo.

Antes de usar una variable hay que definirla o declararla, al hacerlo hay que dar su nombre y su tipo. El nombre que le damos tiene que ser un nombre significativo, va a ser un conjunto de caracteres que dependiendo del lenguaje hay restricciones. Tiene que empezar por una letra, y el tamaño depende del lenguaje.

Clasificación de Variables:

Según su contenido (Numérica, Lógica, Alfanumérica).

  • Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.
  • Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
  • Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).
Por su uso (Trabajos de Contador y Acumulador).

  • Variables de Trabajo: Reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.
  • Variable de Contador: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno (1) en uno (1).
  • Variable de Acumuladores: 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.
Constante: Representa a un valor o dato almacenado en memoria que no puede cambiar durante la ejecución de un programa.

sábado, 19 de abril de 2014

Algoritmo y Programas

Algoritmo
Un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.




Programa
Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.


Definición de Lenguajes Algorítmicos.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera :
  • Lenguaje Natural.
  • Lenguaje de Diagrama de Flujo.
  • Lenguaje Natural de Programación.
  • Lenguaje de Programación de Algoritmos.
Lenguaje Natural.
Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jergacuando se utilizan términos especializados de una determinada ciencia,
profesión o grupo.
Lenguaje de Diagrama de Flujo.
Es aquél que se vale de diversos símbolos para representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cómputo.
Lenguaje Natural de Programación.
Son aquéllos que están orientados a la solución de problemas que se definen de una manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos científicos.
El lenguaje natural tiene las siguientes características :
  • Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
  • Son precisos y bien definidos.
  • Utilizan términos familiares al sentido común.
  • Elimina instrucciones innecesarias.
Lenguaje de Programación de Algoritmos.
Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también como Lenguaje de Programación.
Lenguaje de Programación :
Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.
Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.
Los principales tipos de lenguajes utilizados son tres :
  • Lenguaje Máquina.
  • Lenguaje de bajo Nivel (ensamblador).
  • Lenguajes de Alto Nivel.
Lenguaje Máquina.
Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquinaEl código máquina es el conocido código binario.
Ventajas del Lenguaje Máquina
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.
Desventajas del Lenguaje Máquina
  • Dificultad y lentitud en la codificación.
  • Poca fiabilidad.
  • Gran dificultad para verificar y poner a punto los programas.
  • Los programas solo son ejecutables en el mismo procesador (CPU).
  • En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquinas.
Lenguajes de Bajo Nivel.
Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son : en inglés : ADD, SUB, DIV, etc. ; en español : SUM, RES, DIV, etc.
Una instrucción típica de suma sería :
ADD M, N, P
Esta instrucción significa "sumar el contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P" . Evidentemente es más sencillo recordar la instrucción anterior con un nemotécnico que su equivalente en código máquina.
0110 1001 1010 1011
Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.
El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.

Ventajas del lenguaje ensamblador frente al lenguaje máquina.
Mayor facilidad de codificación y, en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador.
Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.
La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel.

Estos lenguajes son los más utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño del hardware o de una computadora en particular), por lo que estos programas son portables o transportablesLos programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de computadoras.

Ventajas de los lenguajes de alto nivel.

  • El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes.
  • La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
  • Las modificaciones y puestas a punto de los programas son más fáciles.
  • Reducción del costo de los programas.
  • Transportabilidad.
Desventajas de los lenguajes de alto nivel.
  • Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
  • No se aprovechan los recursos internos de la máquina que se explotan.
  • mucho mejor en lenguajes máquina y ensambladores.
  • Aumento de la ocupación de memoria.
  • El tiempo de ejecución de los programas es mucho mayor.
  • Partes de un algoritmo:
    El algoritmo, es un sistema la cual consiste en un conjunto de partes interconectadas entre si que forman un todo. El algoritmo sigue el principio básico de un sistema, esta compuesta por tres elementos o componentes básicos que son : entrada, proceso y salida.

    Entrada:
    La entrada de los datos, corresponde a los insumos o datos necesarios para ofrecer los resultados esperados.

    Proceso:
    Son los pasos necesarios para obtener la solución al problema o la situación planteada.

    Salida
    Son los resultados arrojadas por el proceso como la solución.
  • Pasos:
    Pasos
    Etapa
    Descripción
    1
    Análisis del problema
    Conducen al diseño detallado por medio un código escrito en forma de un algoritmo
    2
    Diseño de algoritmo
    3
    Codificación
    Se implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño
    4
    Compilación y ejecución
    Traduce el programa fuente a programa en código de maquina y lo ejecuta.
    5
    Verificación
    Busca errores en las etapas anteriores y los elimina.
    6
    Depuración
    7
    Documentación
    Son comentarios, etiquetas de texto, que facilitan la comprensión del programa

  • Corrida de un Algoritmo (Corrida en Frio)
  • Proceso Promedio
    Masculino<-0
    Femenino<-0
    Escribir "Introdusca 10 estaturas con su respectivo Nombre, Apellido, edad y Sexo";
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombrea;
    Escribir "Introdusca Estatura Nº1";
    Leer Campoa;
    Escribir "Introdusca La edad";
    Leer Campob;
    Escribir "Introdusca Sexo Nº1 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombreb;
    Escribir "Introducir Estatura Nº2";
    Leer Campoc;
    Escribir "Introdusca La edad";
    Leer Campod;
    Escribir "Introdusca Sexo Nº2 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombrec;
    Escribir "Introducir Estatura Nº3";
    Leer Campoe;
    Escribir "Introdusca La edad";
    Leer Campof;
    Escribir "Introdusca Sexo Nº3 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombred;
    Escribir "Introducir Estatura Nº4";
    Leer Campog;
    Escribir "Introdusca La edad";
    Leer Campoh;
    Escribir "Introdusca Sexo Nº4 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombree;
    Escribir "Introducir Estatura Nº5";
    Leer Campoi;
    Escribir "Introdusca La edad";
    Leer Campoj;
    Escribir "Introdusca Sexo Nº5 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombref;
    Escribir "Introducir Estatura Nº6";
    Leer Campok;
    Escribir "Introdusca La edad";
    Leer Campol;
    Escribir "Introdusca Sexo Nº6 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombreg;
    Escribir "Introducir Estatura Nº7";
    Leer Campom;
    Escribir "Introdusca La edad";
    Leer Campon;
    Escribir "Introdusca Sexo Nº7 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombreh;
    Escribir "Introducir Estatura Nº8";
    Leer Campoo;
    Escribir "Introdusca La edad";
    leer Campop;
    Escribir "Introdusca Sexo Nº8 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombrei;
    Escribir "Introducir Estatura Nº9";
    Leer Campoq;
    Escribir "Introdusca La edad";
    Leer Campor;
    Escribir "Introdusca Sexo Nº9 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Escribir "Introdusca El Nombre y Apellido";
    Leer Nombrej;
    Escribir "Introducir Estatura Nº10";
    Leer Campos;
    Escribir "Introdusca La edad";
    Leer Campot;
    Escribir "Introdusca Sexo Nº10 Masculino=1 y Femenino=2";
    Leer Sexo
    Si Sexo=1 Entonces
    Masculino <- Masculino+Sexo 
    Sino
    Femenino <- Femenino+1
    FinSi
    Edad<-(Campob+Campod+Campof+Campoh+Campoj+Campol+Campon+Campop+Campor+Campot)/10;
    Estatura<-(Campoa+Campoc+Campoe+Campog+Campoi+Campok+Campom+Campoo+Campoq+Campos)/10;
    Escribir "El promedio de Estatura es:", Estatura
    Escribir "El promedio de edad es:", Edad
    Escribir "La cantidad de Sexo Masculino es:", Masculino
    Escribir "La cantidad de Sexo Femenino es:", Femenino
    FinProceso