lunes, 28 de julio de 2014

Unidad 1 diagramas de flujo, Unidad 2 conceptos fundamentales de programación

UNIDAD : 1  DIAGRAMAS DE FLUJO





















































UNIDAD: 2 Conceptos fundamentales de Programación en visual Basic.

                                                     DEFINICIÓN DE PROGRAMA

Un programa es una serie de órdenes o instrucciones que están basadas en un lenguaje de programación que pueden ser interpretados por un ordenador para la realización de alguna función o la resolución de algún problema.






                                                        TIPOS DE PROGRAMAS

Programas de contabilidad
Estos les facilitan al usuario el análisis y la compilación de información financiera, ya sea para el ámbito doméstico o para alguna empresa.
 Los primeros generalmente cuentan con una base de datos para actualizar los gastos realizados y también utilidades para las chequeras, que sirven para conciliar-las e imprimir cheques. 
También se utilizan para planear balances, saber cuáles son los impuestos que faltan pagar y cuáles no, también pueden incluir calculadora y utilidades para la tarjeta de crédito. 
Los programas de contabilidad destinados a las empresas cuentan con todas las funciones mencionadas y además con un módulo para realizar nómina, facturación e inventarios.
Programas financieros
Estos contienen utilidades financieras que no incluyen los anteriores. Por medio de estos programas se pueden generar estrategias financieras ya que educan a sus usuarios sobre consideraciones prácticas, regulaciones y leyes. 
Además, pueden utilizarse para realizar préstamos o analizarlos, y para hacer seguimientos contables.
Programas educativos
Estos cuentan con paquetes que enseñan, por medio de guías, sobre una técnica o tópico. Estos pueden estar orientados a adultos, que abarcan temáticas como física, química, astronomía o que  enseñen a tipear o a hablar algún idioma, entre otras.
 Por otro lado hay programas orientados a niños, que, por ejemplo, enseñan sobre gramática, historia o matemáticas.
Programas de juegos
 Estos programas siempre vienen incluidos en la computadora y son de las más diversas temáticas. Existen con fines educativos o bien, como mero entretenimiento y los hay para adultos y niños.
Programas de producción: estos son destinados a las compañías, para que sus usuarios puedan adquirir información integrada. 
Los programas de este tipo contienen aplicaciones para la recolección de información estratégica de mercado, del perfil de los usuarios y consumidores. 
También se los utiliza para manejar agendas y correo, realizar presentaciones e informes así como también directorio de compañías y manuales de seguro.
Programas procesadores de texto
 Por medio de estos los usuarios logran manipular y producir textos de cualquier índole. Los procesadores de texto permiten modificar el formato de un documento, ya sea sus márgenes, la forma de la página, los espacios, el color y tamaño de fuente, alineación, etcétera.
 Además de esto, la mayoría permite realizar notas al pie, búsquedas, reemplazos y también cuentan con diccionario, correctores ortográficos y gramaticales. 
Bases de datos
Estas son paquetes de programas por medio de los cuales los usuarios logran almacenar, retirar y manipular enormes volúmenes de información. 
En la mayoría de los casos, la información se guarda en registros y se la ordena y busca por medio de palabras claves. 
Las bases de datos permiten la realización de reportes utilizando distintos criterios y la manipulación de listas simples. 
Además, permiten realizar cruces de información y la automatización de diversas funciones.
Programas de publicación
 En estos se combinan diseñadores gráficos con procesadores de texto que permiten la confección de revistas, catálogos, pancartas, folletos y demás. 
Para esto incluye funciones que permiten alterar imágenes, modificar las fuentes, gráficos para incluir en el archivo y opciones de impresión.
Programas gráfico
 Por medio de ellos se pueden transferir, manipular e incluso crear imágenes. Existen gráficos de dos tipos: de mapas de bits y por vector. 
Estos últimos guardan la imagen en cajas, líneas u otros objetos. Cada una de estas posee propiedades como tamaño, color y relleno. 
Además, permiten manipular a cada objeto individualmente. Por otro lado, los gráficos de mapas de bits utilizan recortes de píxel de la imagen.
Programas de sistemas operativos
 Es por medio de ellos que el usuario logra utilizar la computadora ya que es el nexo entre el hardware de la PC y el usuario.
Programas de utilidad
 Estos permiten al usuario realizar un mantenimiento de su computadora y pueden incluir análisis de problemas, copia de seguridad, protector de virus, soporte de periféricos, administrador de memoria y muchas otras funciones.
Programas de redes y comunicación
 Estos permiten conectar distintas computadoras entre sí, por medio de conexión de redes o un módem, para buscar o trasferir información. 
Estos programas permiten el uso de impresoras o bases de datos remotas, transferencia de archivos, envío de e-mails, entre otras cosas.
Lenguaje de programación
Estos ofrecen herramientas que permiten la creación de diversos programas para computadoras. Algunos de los lenguajes más utilizados son: Visual Basic, FoxPro, C, Pascal, etcétera.
Programas de hoja de cálculo
Estos programas facilitan la manipulación e introducción de información numérica. Los formatos de las hojas de cálculo son de celdas que almacenan números, texto e incluso información computacional. 
Ofrecen numerosas fórmulas que permiten relacionar y manipular la información de diversas maneras.

                                                 
                                                          
                                                        PARTES DE UN PROGRAMA

Los elementos básicos constitutivos de un programa o algoritmo son:
- Palabras reservadas (INICIO, FIN, SI-ENTONCES-THEN…)
- Identificadores (nombres de variables, funciones, procedimientos, etc.)
- Caracteres especiales (coma, apóstrofos, etc.)
- Constantes
- Variables
- Expresiones
- Instrucciones
Además de estos elementos básicos, existen otros cuya comprensión y funcionamiento es esencial para el diseño correcto de algoritmos y programas.

Estos elementos son:
Bucles, contadores, acumuladores, estructuras de control (1-Secuencia, 2-Selección, 3- Repetitivas).
                                                         INSTRUCCIONES DE CONTROL 

Clasificación de las Instrucciones. Una instrucción se caracteriza por un estado inicial y final del entorno. El estado final de una instrucción coincide con el inicial de la siguiente.

No siempre una instrucción modifica el entorno, pues su cometido puede limitarse a una mera observación del mismo o a un cambio en el orden de ejecución de otras. Las instrucciones pueden ser: Instrucciones de declaración

Se utilizan en aquellos lenguajes de programación que no tienen declaración explícita de los objetos. Su misión consiste en indicar al procesador que reserve espacio en la memoria para un objeto del programa, 
Indicando asimismo su nombre, tipo y características.

Instrucciones primitivas

Son aquellas que ejecuta el procesador de modo inmediato. Las principales son asignación, entrada y salida.
Instrucción de asignación

Consiste en calcular el valor de una expresión y almacenarlo en una variable. En algún lenguaje es preciso calcular previamente el resultado de la expresión, pues la instrucción de asignación sólo permite el movimiento de un valor simple.
Instrucción de entrada

Toma un dato de un dispositivo de entrada y lo almacena en un objeto. En algún lenguaje, los datos de entrada no provienen de un dispositivo externo, sino que han sido colocados previamente en el mismo programa.
Instrucción de salida

Toma el valor de una expresión u objeto y lo lleva a un dispositivo externo.
Instrucciones compuestas

Son aquellas que el procesador no puede ejecutar directamente, sino que realiza una llamada a un subprograma, subrutina o párrafo.
Instrucciones de control

Son aquellas de controlar la ejecución de otras instrucciones.
Instrucción alternativa

Controla la ejecución de unas u otras instrucciones según una condición. Puede ser simple o doble (SI y SINO).
Instrucción de salto incondicional

Altera la secuencia normal de ejecución de un programa, continuando la misma en la línea indicada en la propia instrucción (IR A).
Instrucción de salto condicional

Altera la secuencia normal de ejecución de un programa únicamente en el caso de cumplimiento de una condición asociada a la propia instrucción (SI ... IR A).
Instrucción repetitiva

Hace que se repitan una o varias instrucciones un número determinado o indeterminado de veces (PARA, MIENTRAS, HASTA )


                                                   INSTRUCCIONES EJECUTABLES
Las instrucciones ejecutables son aquellas expresiones en las que se calcula o realiza algo, es decir son aquellas que implican hacer algo y no simplemente declarar características de variables o dar información. Las instrucciones ejecutables más empleadas son por ejemplo calculo de expresiones de las instrucciones de reemplazo, las instrucciones de control de flujo o ramificaciones, los ciclos iterativos, etc. 

Es toda instrucción que implica un cambio u orden a ejecutar.

   CONSTANTES Y VARIABLES

Las constantes son datos que no cambian durante la ejecución del programa y que se definen durante el tiempo de compilación.

Sintaxis: CONST Nombre_Constante = Expresión_1;
Nombre_Constante_2 = Expresión_2;
Datos 23
Nombre_Constante_3 = Expresión_3;...
Si se declaran varias constantes en un programa podrán incluirse en una única sentencia CONST separando cada declaración de las demás con caracteres de punto y coma, aunque también puede haber varias sentencias CONST en la sección de declaraciones de un programa.



 Una variable es un espacio de la memoria reservado durante la ejecución del programa a
la que se le asocia un nombre o identificador y en la que se puede almacenar un valor que puede cambiar dicha ejecución.

 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.


 tres partes fundamentales en la vida de una variable:

Declaración de variables

Esta es la primera fase en la vida de cualquier variable. La declaración se realiza en la sección que comienza con la palabra var


Si quieres más información, puedes ir al apartado que trata sobre la declaración de variablesen el tema Estructura de un programa.
Nota: Toda variable que vaya a ser utilizada en Pascal tiene que ser previamente declarada.

Iniciación de variables

Esto no es más que darle un valor inicial a una variable. Así como lo primero que se hace con una variable es declararla, lo siguiente tiene que ser iniciarla. 


Esto se hace para evitar posibles errores en tiempo de ejecución, pues una variable tiene un valor indeterminado después de declararla. Principalmente, existen dos maneras de otorgar valores iniciales a variables:
  • Mediante una sentencia de asignación
  • Mediante uno de los procedimientos de entrada de datos (read o readln)

Veamos un ejemplo que reúne los dos casos:

   begin
      ...
     i:=1;
     readln(n);
     while i < n do begin
        (* cuerpo del bucle *)
        i := i + 1
     end;
      ...
   end.
         

Utilización de variables

Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es la parte que presenta un mayor abanico de posibilidades. A continuación tienes unas cuantas:

  • Incrementar su valor:
    i := i + 1
  • Controlar un bucle:
    for i:=1 to 10 do ...
  • Chequear una condición:
    if i<10 then ...
  • Participar en una expresión:
    n := (Max - Min) div i
  • Y otras que ya irás descubriendo


EXPRESIONES ARITMÉTICOS,OPERADORES ARITMÉTICOS DE RELACIÓN Y LÓGICOS 

Una expresión es una combinación de valores y operaciones que, al ser evaluados, entregan un valor.
Algunos elementos que pueden formar parte de una expresión son: valores literales (como 2"hola" o5.7), variablesoperadores y llamadas a funciones.
Por ejemplo, la expresión 4 * 3 - 2 entrega el valor 10 al ser evaluada por el intérprete:
>>> 4 * 3 - 2
10
El valor de la siguiente expresión depende del valor que tiene la variable n en el momento de la evaluación:
>>> n / 7 + 5
Una expresión está compuesta de otras expresiones, que son evaluadas recursivamente hasta llegar a sus componentes más simples, que son los literales y las variables.

Operadores

Un operador es un símbolo en una expresión que representa una operación aplicada a los valores sobre los que actúa.
Los valores sobre los que actúa un operador se llaman operandos. Un operador binario es el que tiene dos operandos, mientras que un operador unario es el que tiene sólo uno.
Por ejemplo, en la expresión 2.0 + x el operador + es un operador binario que en este contexto representa la operación de adición. Sus operandos son 2.0 y x.
Las operaciones más comunes se pueden clasificar en: aritméticas, relacionales, lógicas y de texto.

Operadores aritméticos

Las operaciones aritméticas son las que operan sobre valores numéricos y entregan otro valor numérico como resultado. Los valores numéricos son los que tienen tipo entero, real o complejo.

Las siguientes son algunas operaciones aritméticas básicas, junto con el operador que las representa en Python:
  • la suma +;
  • la resta -;
  • la multiplicación *;
  • la división /;
  • el módulo % (resto de la división);
  • la potencia ** («elevado a»).
En general, si los operandos son de tipo entero, el resultado también será de tipo entero. Pero basta que uno de los operandos sea real para que el resultado también lo sea:
>>> 8 - 5
3
>>> 8 - 5.0
3.0
>>> 8.0 - 5
3.0
>>> 8.0 - 5.0
3.0
Esta regla suele causar confusión en el caso de la división. Al dividir números enteros, el resultado siempre es entero, y es igual al resultado real truncado, es decir, sin su parte decimal:
>>> 5 / 2
2
>>> 5 / -2
-3
Si uno de los operandos es complejo, el resultado también será complejo:
>>> 3 + 4
7
>>> 3 + (4+0j)
(7+0j)
El operador de módulo entrega el resto de la división entre sus operandos:
>>> 7 % 3
1
Un uso bastante común del operador de módulo es usarlo para determinar si un número es divisible por otro:
>>> 17 % 5   # 17 no es divisible por 5
2
>>> 20 % 5   # 20 si es divisible por 5
0
Una relación entre / y % que siempre se cumple para los números enteros es:
(a / b) * b + (a % b) == a
Hay dos operadores aritméticos unarios:
  • el positivo +, y
  • el negativo -.
El positivo entrega el mismo valor que su operando, y el negativo también pero con el signo cambiado:
>>> n = -4
>>> +n
-4
>>> -n
4

Operaciones relacionales

Las operaciones relacionales sirven para comparar valores. Sus operandos son cualquier cosa que pueda ser comparada, y sus resultados siempre son valores lógicos.
Algunas operaciones relacionales son:
  • el igual a == (no confundir con el = de las asignaciones);
  • el distinto a !=;
  • el mayor que >;
  • el mayor o igual que >=;
  • el menor que <;
  • el menor o igual que <=;
Algunos ejemplos en la consola interactiva:
>>> a = 5
>>> b = 9
>>> c = 14
>>> a < b
True
>>> a + b != c
False
>>> 2.0 == 2
True
>>> 'amarillo' < 'negro'
True
Los operadores relacionales pueden ser encadenados, como se usa en matemáticas, de la siguiente manera:
>>> x = 4
>>> 0 < x <= 10
True
>>> 5 <= x <= 20
False
La expresión 0 < x <= 10 es equivalente a (0 < x) and (x <= 10)

Operaciones lógicas

Los operadores lógicos son los que tienen operandos y resultado de tipo lógico.
En Python, hay tres operaciones lógicas:
  • la conjunción lógica and (en español: «y»),
  • la disyunción lógica or (en español: «o»), y
  • la negación lógica not (en español: «no»).
Los operadores and y or son binarios, mientras que not es unario:
>>> True and False
False
>>> not True
False
La siguiente tabla muestra todos los resultados posibles de las operaciones lógicas. Las primeras dos columnas representan los valores de los operandos, y las siguientes tres, los resultados de las operaciones.
pqp and qp or qnot p
TrueTrueTrueTrueFalse
TrueFalseFalseTrue
FalseTrueFalseTrueTrue
FalseFalseFalseFalse


 En las expresiones aritméticas se pueden utilizar los siguientes operadores aritméticos:
Operadores Aritméticos en Pseudocódigo CEE
Figura - Clasificación de los operadores aritméticos en pseudocódigo.
Ejemplo 1: El operador multiplicación (*) realiza la multiplicación de dos operandos numéricos.5 * 2
3.1 * 2.5


Los resultados son:

10 (valor entero)
7.75 (valor real)
Ejemplo 2: El operador potencia (**) eleva el operando de la izquierda (número base) al operando de la derecha (potencia o exponente).5 ** 2
3.1 ** 2.5


De estas expresiones, se obtienen los valores:

25 (valor entero)
16.920151 (valor real)
Ejemplo 3: El operador división real (/) realiza la división real entre dos operandos numéricos.5 / 2
3.1 / 2.5


Sus resultados son:

2.5 (valor real)
1.24 (valor real)
Ejemplo 4: El operador división entera (div) realiza la división entera entre dos operandos numéricos enteros.5 div 2
3.1 div 2.5


El operador división entera (div) no puede operar con operandos numéricos reales. Por tanto, al evaluar las expresiones de este ejemplo se obtienen los valores:

2 (valor entero)
ERROR (no se puede evaluar; ambos operandos deben ser valores enteros)
Ejemplo 5: El operador módulo (mod) realiza la división entera entre dos operandos numéricos enteros, devolviendo el resto de la misma.5 mod 2
3.1 mod 2.5


Al igual que el operador división entera (div), el operador módulo (mod) tampoco puede operar con operandos numéricos reales. De modo que, en este caso, los resultados son:

1 (valor entero)
ERROR (no se puede evaluar; ambos operandos deben ser valores enteros)
Ejemplo 6: El operador signo menos (-) cambia el signo de un operando numérico. Así, de las expresiones-11
-( 3.1 )
-( -2.5 )


se obtienen los valores:

-11 (valor entero)
-3.1 (valor real)
2.5 (valor real)

                       INGRESO DE DATOS Y GENRACION DE REPORTE. SUB RUTINA

En un programa, los datos de entrada son los que la computadora va a procesar. Los datos de salida son datos derivados, es decir, obtenidos a partir de los datos de entrada. 

Por esta razón, a los datos de salida se les considera más significativos que a los datos de entrada. 

Ambos tipos de datos son información (textos, imágenes, sonidos, vídeos,...) que maneja la computadora. 

Sin embargo, en un sentido más filosófico, a los datos de entrada se les considera la materia prima de los datos de salida, considerados estos como la verdadera información.











Conversación de chat finaliza