miércoles, 14 de mayo de 2014
miércoles, 19 de marzo de 2014
ALGORITMO
¿QUE ES 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í.
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 ++ +- --
'
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.
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.
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
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)
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
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)
CONDICIONALES ANIDADAS
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)

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
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
domingo, 16 de marzo de 2014
BUCLES FOR, WHILE Y DO WHILE
FOR (PARA)
Cualquier problema que requiera una estructura repetitiva se puede resolver empleando la estructura while. Pero hay otra estructura repetitiva cuyo planteo es más sencillo en ciertas situaciones.
En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 números, ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos que el bloque se repita. Veremos, sin embargo, que en el lenguaje Java la estructura for puede usarse en cualquier situación repetitiva, porque en última instancia no es otra cosa que una estructura while generalizada.
En su forma más típica y básica,
esta estructura requiere una variable entera que cumple la función de un
CONTADOR de vueltas. En la sección indicada como "inicialización
contador", se suele colocar el nombre de la variable que hará de contador,
asignándole a dicha variable un valor inicial. En la sección de
"condición" se coloca la condición que deberá ser verdadera para que
el ciclo continúe (en caso de un falso, el ciclo se detendrá). Y finalmente, en
la sección de "incremento contador" se coloca una instrucción que
permite modificar el valor de la variable que hace de contador (para permitir
que alguna vez la condición sea falsa)
Cuando el ciclo comienza, antes
de dar la primera vuelta, la variable del for toma el valor indicado en la
sección de de "inicialización contador". Inmediatamente se verifica,
en forma automática, si la condición es verdadera. En caso de serlo se ejecuta
el bloque de operaciones del ciclo, y al finalizar el mismo se ejecuta la
instrucción que se haya colocado en la tercer sección.
Seguidamente, se vuelve a
controlar el valor de la condición, y así prosigue hasta que dicha condición
entregue un falso.
Si conocemos la cantidad de veces
que se repite el bloque es muy sencillo emplear un for, por ejemplo si queremo
que se repita 50 veces el bloque de instrucciones puede hacerse así:
La variable del for puede tener
cualquier nombre. En este ejemplo se la ha definido con el nombre f.
Analicemos el ejemplo:
- La variable f toma inicialmente el valor 1.
- Se controla automáticamente el
valor de la condición: como f vale 1 y esto es menor
que 50, la condición da
verdadero.
- Como la condición fue
verdadera, se ejecutan la/s operación/es.
- Al finalizar de ejecutarlas, se
retorna a la instrucción f++, por lo que la
variable f se incrementa en uno.
- Se vuelve a controlar
(automáticamente) si f es menor o igual a 50.
Como ahora su valor es 2, se
ejecuta nuevamente el bloque de instrucciones e
incrementa nuevamente la variable
del for al terminar el mismo.
- El proceso se repetirá hasta
que la variable f sea incrementada al valor 51.
En este momento la condición será
falsa, y el ciclo se detendrá.
La variable f PUEDE ser
modificada dentro del bloque de operaciones del for, aunque esto podría causar
problemas de lógica si el programador es inexperto.
La variable f puede ser
inicializada en cualquier valor y finalizar en cualquier valor. Además, no es
obligatorio que la instrucción de modificación sea un incremento del tipo
contador (f++).
Cualquier instrucción que
modifique el valor de la variable es válida. Si por ejemplo se escribe f=f+2 en
lugar de f++, el valor de f será incrementado de a 2 en cada vuelta, y no de a
1. En este caso, esto significará que el ciclo no efectuará las 50 vueltas sino
sólo 25.
PROBLEMA
RELIZE UN PROGRAMA QUE IMPRIMA EN PANTALLA LOS NUMEROS DEL 1 AL 100.
EN PROGRAMA
INCIO
INT N;
FOR(N=1;1<=100;N=N++);
{
IMPRIMA "NUMERO";
}
FIN
DIAGRAMA DE FLUJO (DFD)
Podemos observar y comparar con
el problema realizado con el while. Con la estructura while el CONTADOR x sirve
para contar las vueltas. Con el for el CONTADOR f cumple dicha función.
Inicialmente f vale 1 y como no
es superior a 100 se ejecuta el bloque, imprimimos el contenido de f, al
finalizar el bloque repetitivo se incrementa la variable f en 1, como 2 no es
superior a 100 se repite el bloque de instrucciones.
Cuando la variable del for llega
a 101 sale de la estructura repetitiva y continúa la ejecución del algoritmo
que se indica después del círculo.
La variable f (o como sea que se
decida llamarla) debe estar definida como una variable más.
BUCLE WHILE
Hasta ahora hemos empleado estructuras SECUENCIALES y
CONDICIONALES. Existe otro tipo de estructuras tan importantes como las
anteriores que son las estructuras REPETITIVAS.
Una estructura repetitiva permite ejecutar una instrucción o
un conjunto de instrucciones varias veces.
Una ejecución repetitiva de sentencias se caracteriza por:
- La o las sentencias que se repiten.
- El test o prueba de condición antes de cada repetición,
que motivará que se repitan o no las sentencias.
No debemos confundir la representación gráfica de la
estructura repetitiva while (Mientras) con la estructura condicional if (Si)
Funcionamiento: En primer lugar se verifica la condición, si
la misma resulta verdadera se ejecutan las operaciones que indicamos por la
rama del Verdadero.
A la rama del verdadero la graficamos en la parte inferior
de la condición. Una línea al final del bloque de repetición la conecta con la
parte superior de la estructura repetitiva.
En caso que la condición sea Falsa continúa por la rama del
Falso y sale de la estructura repetitiva para continuar con la ejecución del
algoritmo.
El bloque se repite MIENTRAS la condición sea Verdadera.
Importante: Si la condición siempre retorna verdadero
estamos en presencia de un ciclo repetitivo infinito. Dicha situación es un
error de programación, nunca finalizará el programa.
PROBLEMA
REALIZE UN PROGRAMA QUE IMPRIMA EN PANTALLA LOS NUMEROS DEL 1 AL 100.
EN PROGRAMACION
INICIO
INT X;
X=1;
WHILE (A<=100);
{
IMPRIMA "DIGITE UN #";
LEA X;
X=X+1
}
FIN
DIAGRAMA DE FLUJO (DFD)

Es muy importante analizar este diagrama
La primera operación inicializa la variable x en 1,
seguidamente comienza la estructura repetitiva while y disponemos la siguiente
condición ( x <= 100), se lee MIENTRAS la variable x sea menor o igual a
100.
Al ejecutarse la condición retorna VERDADERO porque el
contenido de x (1) es menor o igual a 100. Al ser la condición verdadera se
ejecuta el bloque de instrucciones que contiene la estructura while. El bloque
de instrucciones contiene una salida y una operación.
Se imprime el contenido de x, y seguidamente se incrementa
la variable x en uno.
La operación x=x + 1 se lee como "en la variable x se
guarda el contenido de x más 1". Es decir, si x contiene 1 luego de
ejecutarse esta operación se almacenará en x un 2.
Al finalizar el bloque de instrucciones que contiene la
estructura repetitiva se verifica nuevamente la condición de la estructura
repetitiva y se repite el proceso explicado anteriormente.
Mientras la condición retorne verdadero se ejecuta el bloque
de instrucciones; al retornar falso la verificación de la condición se sale de
la estructura repetitiva y continua el algoritmo, en este caso finaliza el
programa.
Lo más difícil es la definición de la condición de la
estructura while y qué bloque de instrucciones se van a repetir. Observar que
si, por ejemplo, disponemos la condición x >=100 ( si x es mayor o igual a
100) no provoca ningún error sintáctico pero estamos en presencia de un error
lógico porque al evaluarse por primera vez la condición retorna falso y no se
ejecuta el bloque de instrucciones que queríamos repetir 100 veces.
No existe una RECETA para definir una condición de una
estructura repetitiva, sino que se logra con una práctica continua solucionando
problemas.
Una vez planteado el diagrama debemos verificar si el mismo
es una solución válida al problema (en este caso se debe imprimir los números
del 1 al 100 en pantalla), para ello podemos hacer un seguimiento del flujo del
diagrama y los valores que toman las variables a lo largo de la ejecución:
x
1
2
3
4
.
.
100
101 Cuando x vale 101 la condición de la
estructura repetitiva retorna falso,
en este
caso finaliza el diagrama.
Importante: Podemos observar que el bloque repetitivo puede
no ejecutarse ninguna vez si la condición retorna falso la primera vez.
La variable x debe estar inicializada con algún valor antes
que se ejecute la operación x=x + 1 en caso de no estar inicializada aparece un
error de compilación.
CONDICONAL DO WHILE (HACER MIENTRAS)
La estructura do while es otra
estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a
diferencia del while o del for que podían no ejecutar el bloque.
Esta estructura repetitiva se
utiliza cuando conocemos de antemano que por lo menos una vez se ejecutará el
bloque repetitivo.
La condición de la estructura
está abajo del bloque a repetir, a diferencia del while o del for que está en
la parte superior
El bloque de operaciones se repite MIENTRAS que la condición
sea Verdadera.
Si la condición retorna Falso el ciclo se detiene. En Java,
todos los ciclos repiten por verdadero y cortan por falso.
Es importante analizar y ver que las operaciones se ejecutan
como mínimo una vez.
PROBLEMA
Escribir un programa que solicite
la carga de un número entre 0 y 999, y nos muestre un mensaje de cuántos
dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0.
INICIO
INT VALOR;
DO
{
IMPRIMA "DIGITE UN NUMERO"
IF(VALOR>=100 && <=999)
{
IMPRIMA "TIENE 3 DIGITOS"
}
ELSE
{
IF(VALOR>=10)
{
IMPRIMA "TIENE 2 DIGITOS"
}
ELSE
{
IMPRIMA "TIENE 1 DIGITOS"
}
WHILE(VALOR=!0)
}
FIN
DIAGRAMA DE FLUJO (DFD)

No hay que confundir los rombos
de las estructuras condicionales con los de las estructuras repetitivas do
while.
En este problema por lo menos se
carga un valor. Si se carga un valor mayor o igual a 100 se trata de un número
de tres cifras, si es mayor o igual a 10 se trata de un valor de dos dígitos,
en caso contrario se trata de un valor de un dígito. Este bloque se repite
hasta que se ingresa en la variable valor el número 0 con lo que la condición
de la estructura do while retorna falso y sale del bloque repetitivo
finalizando el programa.
sábado, 15 de marzo de 2014
SENTENCIA SWITCH / CASE
Como las sentencias if, switch...case controla el flujo de
programas permitiendo a los programadores especificar diferentes códigos que
deberían ser ejecutados en función de varias condiciones. En particular, una
sentencia switch compara el valor de una variable con el valor especificado en
las sentencias case. Cuando se encuentra una sentencia case cuyo valor coincide
con dicha variable, el código de esa sentencia se ejecuta.
La palabra clave break sale de la sentencia switch, y es
usada típicamente al final de cada case

Suscribirse a:
Comentarios (Atom)











