Social Icons

Featured Posts

miércoles, 19 de marzo de 2014

ALGORITMO

¿QUE ES UN ALGORITMO?

inicialmente podemos determinar que un ALGORITMO es una secuencia de pasos a seguir con un fin común, mas no es lo que muchas personas piensan cuando les preguntan,lo cual responden que es algo para programar o algo así, tenemos que aprender a diferenciar entre un algoritmo y un pseudocodigo y si podes distinguir estos pasos ya estar haciendo un algoritmo.

PASO 1 
leer detenidamente y con lapsos de 5 minutos por cada párrafo el problema planteado, esto nos ayudara a captar la idea del algoritmo a diseñar. con esto también logramos que nuestra lógica comienza a desarrollarse sin cansarnos tanto ni causar confusiones con los siguientes pasos.

PASO 2
los algoritmos son como traductores de problemas matemáticos para nuestras computadoras que por medio del compilador nos ayuda a interactuar con ellas ya que su idioma es totalmente diferente a de nosotros y de algún modo debemos hablarnos casi en el mismo "IDIOMA" por decirlo así.

  • debe tener un punto particular de inicio
  • debe ser completamente definido y no debe permitir dobles interpretaciones 
  • debe ser general,es decir, soporta la mayoría de las variantes que se puedan presentar en la definicion del problema.
  • debe ser finito en tamaño y tiempo en ejecución.
  • debe ser legible,claro y fácil de interpretar y entender

ESTRUCTURA DE UN ALGORITMO
inicio
leer variables
asignar valores
realizar proceso
imprimir resultado
fin



EJEMPLO 
diseñar un algoritmo que convierta MILLAS a METROS recordando que 1 MIILA SON 1852 MTS.

lo principal es declarar variables con este símbolo INT recuerden que siempre deben poner esto y enseguida las variables las cuales les asignaran. pero ustedes se preguntaran que son la variables pues simplemente son un campo de memoria con un nombre propio (con una letra que el usuario quiera, no interferirá con el proceso) para almacenar un valor de cualquier tipo.
enseguida de esto deben colocar el proceso a seguir segun lo indicado o requerido por el problema y por ultimo imprimir nuestra respuesta.

ALGORITMO  

INICIO

INT     M;  V;  MT;

M=NUMERO INGRESADO POR EL USUARIO;V=1852;

MT= M*V;

IMPRIMIR MT

FIN

OPERADORES

Matematicos + - * / % ^        

Comparacion   <  >  <=  >=  ==  !=

And  Or Not
  &    ||    !=

Incrementales  ++ +- --



DFD

Un diagrama de flujo de datos es una representación gráfica del flujo de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos . Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas.


Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado, puede determinarse a través de un diagrama de flujo de datos. modelo de datos.





















'

lunes, 17 de marzo de 2014

LOS DATOS


TIPOS DE DATOS

Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al 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, etc.
Por ejemplo, por lo general 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 son la suma, la resta, y la multiplicación. Los colores, por su 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 en este caso incluyen la adición y la sustracción, pero no la multiplicación.
Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la matemática y lalógica.
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ías diferentes. 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 específica que el dato interpretado como Persona incluirá, por ejemplo, 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, la 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.




LAS GENERACIONES DE LA COMPUTACION


Historia

El Electronic Numerical Integrator and Computer (ENIAC) se ha considerado a menudo la primera computadora de propósito general, aunque este título pertenece en realidad a la computadora alemana Z1. Era totalmente digital, es decir, ejecutaba sus procesos y operaciones mediante instrucciones en lenguaje máquina, a diferencia de otras máquinas contemporáneas de procesos analógicos. Presentada al público el 15 de febrero de 1946, John W. Mauchly y John P. Eckert de la Universidad de Pensilvania (EEUU) iniciaron su desarrollo en 1943. Esta enorme máquina medía más de 30 metros de largo y pesaba 32 toneladas, estaba compuesta por 17.468 válvulas. El calor de las válvulas elevaba la temperatura de la sala donde se hallaba instalada hasta los 50º C. y para que llevase a cabo las operaciones para las que se había diseñado. Cuando la ENIAC se terminó en 1946, la II Guerra Mundial ya había terminado. El fin de la contienda hizo que los esfuerzos hasta entonces dedicados principalmente a objetivos militares, se destinaran también a otro tipo de investigación científica más relacionada con las necesidades de la empresa privada. Los esfuerzos múltiples dieron resultados en 1945 Mauchly y Eckert comenzaron a trabajar en una sucesora de la ENIAC, el EDVAC (Electronic Discrete Variable Automatic Computer) y Aiken inició el diseño de la Mark II. En 1951, el que está considerado como la primera computadora que se llamó Saly fue ampliamente comercializada, la UNIVAC I, comenzó a funcionar con éxito. En 1952 la computadora UNIVAC se utilizó para realizar el recuento de votos en las elecciones presidenciales de EE.UU. El resultado victoria (Eisenhower sobre Adlai Stevenson) se conoció 45 minutos después de que se cerraran los colegios electorales.
En 1952 entra en funcionamiento la primera de las llamadas IAS machines, diseñadas por John von Neumann y que incorporaban notables mejoras respecto a sus predecesoras y en 1962, Steven Russell creó el primer juego para computadoras, Spacewar.

Primera Generación (1946-1958)

En esta época las computadoras funcionaban con válvulas, usaban tarjetas perforadas para entrar los datos y los programas, utilizaban cilindros magnéticos para almacenar información e instrucciones internas y se utilizaban exclusivamente en el ámbito científico o militar. La programación implicaba la modificación directa de los cartuchos y eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas.

Segunda Generación (1958-1964)

Características de ésta generación: Usaban transistores para procesar información. Los transistores eran más rápidos, pequeños y más confiables que los tubos al vacío. 200 transistores podían acomodarse en la misma cantidad de espacio que un tubo al vacío. Usaban pequeños anillos magnéticos para almacenar información e instrucciones. Producían gran cantidad de calor y eran sumamente lentas. Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generación.
Se desarrollaron nuevos lenguajes de programación como COBOL y FORTRAN, los cuales eran comercialmente accesibles. Se usaban en aplicaciones de sistemas de reservaciones de líneas aéreas, control del tráfico aéreo y simulaciones de propósito general. La marina de los Estados Unidos desarrolla el primer simulador de vuelo, Computadora Whirlwind. Se comenzó a disminuir el tamaño de las computadoras.
Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Mánchester. Algunas computadoras se programaban con cintas perforadas y otras por medio de cableado en un tablero.

Tercera Generación (1964-1971)

Comienza a utilizarse los circuitos integrados, lo cual permitió abaratar costos al tiempo que se aumentaba la capacidad de procesamiento y se reducía el tamaño de las máquinas. La tercera generación de computadoras emergió con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrónicos en una integración en miniatura. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador.

Cuarta Generación (1971-1983)

Fase caracterizada por la integración sobre los componentes electrónicos, lo que propició la aparición del microprocesador, es decir, un único circuito integrado en el que se reúnen los elementos básicos de la máquina. Se desarrolló el microprocesador. Se colocan más circuitos dentro de un "chip". "LSI - Large Scale Integration circuit". "VLSI - Very Large Scale Integration circuit". Cada "chip" puede hacer diferentes tareas. Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmética/lógica. El tercer componente, la memoria primaria, es operado por otros "chips". Se reemplaza la memoria de anillos magnéticos por la memoria de "chips" de silicio. Se desarrollan las microcomputadoras, o sea, computadoras personales o PC. Se desarrollan las supercomputadoras.

Quinta Generación (1984 -1999)

Surge la PC tal cual como la conocemos en la actualidad. IBM presenta su primera computadora personal y revoluciona el sector informativo. En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras.

TOMA DE DECISIONES



en los algoritmos existen algo llamado las CONDICIONALES (IF) que significa SI, esta expresion se utiliza para poder determinar un problema el cual es necesario tomar una decision ya sea un SI o un No, por ejemplo si me piden que realize un programa el cual me diferencie los nmeros primos de los no primos podrias emplear esta expresion acompañada de otros proceso.

Pero estas condicionales se dividen en 3 TIPOS las cuales son :


CONDICIONALES SIMPLES 


No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que tomar una decisión aparecen las estructuras condicionales.
En nuestra vida diaria se nos presentan situaciones donde debemos decidir.
¿Elijo la carrera A o la carrera B?
¿Me pongo este pantalón?
Para ir al trabajo, ¿elijo el camino A o el camino B?
Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?

Por supuesto que en un problema se combinan estructuras secuenciales y condicionales.

ESTRUCTURA

estructura condicional simple
Podemos observar: El rombo representa la condición. Hay dos opciones que se pueden tomar. Si la condición da verdadera se sigue el camino del verdadero, o sea el de la derecha, si la condición da falsa se sigue el camino de la izquierda.
Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del verdadero hay actividades y por el camino del falso no hay actividades.
Por el camino del verdadero pueden existir varias operaciones, entradas y salidas, inclusive ya veremos que puede haber otras estructuras condicionales

PROBLEMA

Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en pantalla indicando que debe abonar impuestos.

EN PROGRAMACIÓN

INICIO
INT SUELDO;
SUELDO=3000
IF(SUELDO>3000)
{
IMPRIMA "ESTA PERSONA DEBE ABANDONAR IMPUESTOS"
}
FIN

DIAGRAMA DE FLUJO (DFD)
problema estructura condicional simple

Podemos observar lo siguiente: Siempre se hace la carga del sueldo, pero si el sueldo que ingresamos supera 3000 pesos se mostrará por pantalla el mensaje "Esta persona debe abonar impuestos", en caso que la persona cobre 3000 o menos no aparece nada por pantalla.



CONDICIONALES COMPUESTAS (IF-ELSE)


Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es decir tenemos actividades por el verdadero y por el falso de la condición. Lo más importante que hay que tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas



ESTRUCTURA

estructura condicional compuesta

En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la rama del verdadero como por la rama del falso

PROBLEMA

Realizar un programa que solicite ingresar dos números distintos y muestre por pantalla el mayor de ellos.

PROGRACION

INICIO
INT N1;N2;

IMPRIMA "INGRESE NUMERO";
LEA NUM 1;
IMPRIMA "INGRESE OTRO NUMERO";
LEA NUM 2;

IF(NUM1>NUM2)
{
IMPRIMA NUM1 "ES MAYOR";
}
ELSE
{
IMPRIMA NUM2 "ES MAYOR";
}
FIN



DIAGRAMA DE FLUJO (DFD)
problema estructura condicional compuesta




CONDICIONALES ANIDADAS
diagrama flujo estructura condicional anidada
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.








El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y está contenida por la rama del falso de la primer estructura.

Es común que se presenten estructuras condicionales anidadas aún más complejas.


PROBLEMA

Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes:
Si el promedio es >=7 mostrar "Promocionado".
Si el promedio es >=4 y <7 mostrar "Regular".
Si el promedio es <4 mostrar "Reprobado".

EN PROGRAMACION
INICIO
INT NOTA1;NOTA2;NOTA3;D;
D=3;
IMPRIMA"INGRESE NOTA";
LEA NOTA1;
IMPRIMA"INGRESE NOTA";
LEA NOTA2;
IMPRIMA"INGRESE NOTA";
LEA NOTA3;
PROMEDIO=(NOTA1+NOTA2+NOTA3)/D;
IF(PROMEDIO>=7)
{
IMPRIMA "PROMOCIONADO"
}
ELSE
{
IF(PROMEDIO >=4 && <=7)
{
IMPRIMA "REGULAR"
}
ELSE
{
IF(PROMEDIO <4)
{
IMPRIMA "REPROBADO"
}
}
FIN



DIAGRAMA DE FLUJO (DFD)

problema estructuras condicionales anidades

EXPRESIONES BOOLEANAS

este tema es un ooco mas complejo por lo que debemos tener en cuenta varios aspectos que veremos mas adelantes, una expresion booleana es quella que hay que evaluar como resultaddo un valor de FALSO o VERDADERO, para ello necesitamos los operadores logicos de relacion o comparecion.

EJEMPLO

3>2 = V     3==2 =  F

3<2=  F    3!=2= V

EN EL ALGORITMO

Incio
int=a;b;
logico S;
a= 10;
b=5;
S=a>b;
imprima S
fin

lo que podemos deducir con el ejemplo anterios es que las expresiones booleanas son pasos logicos de una operacion.

TABLAS DE VERDAD

     AND                                  OR                          NOT

V       V     V                     V    V     V                  V   F
V       F      F                     V    F     V                   F   V
F       V      F                     F    V     V
F       V      F                     F    F      F
F       F      F


TOMA DE DECICIONES 


la toma de dicisiones es el proceso mediante cual se realiza una eleccion entre las opciones o formas para resovler difere nte situaciones del prblema.


INSTRUCCION SI ( IF )

SI CONDICION; 
    MIENTRAS PROCESO;
  FIN SI;

INICIO

INT A,B;
A=3;B=3;
SI A==B
EN
ENTONCES A=A+1;
FIN SI 
IMPRIMA A 
FIN SI
IMPRIMA A 

FIN 


EJEMPLO 

realize un algoritmo, con la instruccion SI podra determinar. SI en la variable a existe un numero multiplo de 5.
en caso de ser verdadero asignele B=1 de lo contrario asignele B=0

 
Blogger Templates