BIENVENIDAS/OS

Que tal panas de blogger siga adelante. Aquí esta los ejercicios de lógica de progamaciòn pero esta compilado y modificado.

martes, 8 de mayo de 2012

Bucle DO...WHILE


El bucle do...while es la última de las estructuras para implementar repeticiones de las que dispone en Javascript y es una variación del bucle while visto anteriormente. Se utiliza generalmente cuando no sabemos cuantas veces se habrá de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutará una vez.

Este tipo de bucle se introdujo en Javascript 1.2, por lo que no todos los navegadores los soportan, sólo los de versión 4 o superior. En cualquiuer caso, cualquier código que quieras escribir con DO...WHILE se puede escribir también utilizando un bucle WHILE, con lo que en navegadores antiguos deberás traducir tu bucle DO...WHILE por un bucle WHILE.

La sintaxis es la siguiente.

do {
    //sentencias del bucle
} while (condición)

El bucle se ejecuta siempre una vez y al final se evalúa la condición para decir si se ejecuta otra vez el bucle o se termina su ejecución.

Veamos el ejemplo que escribimos para un bucle WHILE en este otro tipo de bucle.

var color
do {
    color = prompt("dame un color (escribe rojo para salir)","")
} while (color != "rojo")

Este ejemplo funciona exactamente igual que el anterior, excepto que no tuvimos que inicializar la variable color antes de introducirnos en el bucle. Pide un color mientras que el color introducido es distinto que "rojo".

  ejemplos


#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
void main()
{
int op, a, b, c;
float d, e, f;
do{
clrscr();
printf("menu operaciones \n");
printf(" 1.- suma \n ");
printf(" 2.- resta \n ");
printf(" 3.- multiplicacion \n ");
printf(" 4.- divicion \n ");
printf(" 5.- salir \n ");
scanf ("%d", &op);
switch (op)
{
case 1:
clrscr();
printf ("operacion de la suma \n");
printf ("ingrese el primer valor \n");
scanf ("%d",&a);
printf ("ingrese el segundo valor \n");
scanf ("%d",&b);
c=a+b;
printf ("el resultado es %d + %d es = %d \n", a, b, c);
printf ("presione enter para continuar \n");
getch ();
break;
case 2:
clrscr();
printf ("operacion de la resta \n");
printf ("operacion de la resta \n");
printf ("ingrese el primer valor \n");
scanf ("%d",&a);
printf ("ingrese el segundo valor \n");
scanf ("%d",&b);
c=a-b;
printf ("el resultado es %d - %d es = %d \n", a, b, c);
printf ("presione enter para continuar \n");
getch ();
break;
case 3:
clrscr();
printf ("operacion de la multiplicacion \n");
printf ("ingrese el primer valor \n");
scanf ("%d",&a);
printf ("ingrese el segundo valor \n");
scanf ("%d",&b);
c=a*b;
printf ("el resultado es %d * %d es = %d \n", a, b, c);
printf ("el resultado es %d - %d es = %d \n", a, b, c);
printf ("presione enter para continuar \n");
getch ();
break;
case 4:
clrscr();
printf ("operacion de divicion \n");
printf ("ingrese el primer valor \n");
scanf ("%f",&d);
printf ("ingrese el segundo valor \n");
scanf ("%f",&e);
f=d/e;
printf ("el resultado es %.2f / %.2f es = %.1f \n", d, e, f);
printf ("presione enter para continuar \n");
getch ();
break;
case 5:
clrscr();
printf ( "presione enter para salir \n");
getch ();
break ;
}
} while (op !=5 );
}

mas referencias 

http://www.desarrolloweb.com/articulos/567.php
 http://www.javaya.com.ar/detalleconcepto.php?codigo=85&inicio=

martes, 24 de abril de 2012

QUE ES UN ALGORITMO


Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le damos solución a un problema determinado. 
LAS CARACTERÍSTICAS DE LOS ALGORITMOS
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. 
Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez.  
Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún momento, o sea debe tener un número finito de pasos. 

visita ésta pagina  okkkk
http://ayura.udea.edu.co/~jlsanche/index.htm

Ventajas, Desventajas

Ventajas

  • Permite visualizar gráficamente el camino que sigue la solución a un problema.
  • Por ser tan simplificado es muy entendible.
  • No se necesitan muchos conocimientos técnicos para utilizar esta técnica.

Desventajas

  • Dado que los flujos (representados con flechas) pueden ir de cualquier lugar a cualquier lugar da espacio para que el diagrama llegue a ser casi inentendible
  • Deben conocerse bien los símbolos que se van a utilizar
  • No todos los símbolos están estandarizados
  • Los ciclos deben ser reinterpretados para poder ser diagramados en esta técnica
  • No siempre es muy entendible
  • Algunas veces la analogía entre el diagrama y la codificación en el Lenguaje de Programacion resulta ser compleja.

Diagramas de Flujo


Diagramas de Flujo

Los Diagramas de Flujo parten de unos símbolos que permiten decir lo mismo que en los algoritmos pero de una manera gráfica y, por supuesto, un poco mas entendible. Los siguientes son algunos de los símbolos (y el significado de ellos) que se han acordado utilizar dentro de los Diagramas de Flujo o Flujogramas:





 Representa un proceso que no es más que una acción o una orden a ejecutarse de manera clara y concreta. Un ejemplo típico de proceso es la asignación de un valor a una variable.

Permite representar una Decisión. En su interior puede escribirse la condición de la cual depende la decisión y por sus extremos derecho (o izquierdo) e inferior se pueden colocar las salidas para los casos en que la condición sea Falsa o Verdadera.
Permite expresar un proceso de entrada o salida.
- Entrada: proceso a través del cual se recibe información
- Salida: proceso a través del cual se entrega información. 

Permite representar la escritura de un resultado o lo que técnicamente se conoce como una salida.


Permite representar la escritura de un resultado o lo que técnicamente se conoce como una salida. 


Permite colocar en él los parámetros de inicio de un ciclo cuando se ajusta a una de las formas establecidas por las normas de programación.

Representa una entrada de datos utilizando el teclado de la computadora. Debe escribirse en su interior el nombre de la variable (o las variables) en donde se almacenará el dato que entra por el teclado.

Conectores lógicos. Permiten representar la continuación de un Diagrama de Flujo cuando éste es tan largo que no cabe en una sola hoja.


Permite representar una lectura de datos. Representa una Tarjeta Perforada pues esta técnica fue establecida cuando aún se leían los datos a través de tarjetas perforadas. Actualmente este símbolo representa sencillamente una lectura.

Permite representar una lectura de datos. Representa una Tarjeta Perforada pues esta técnica fue establecida cuando aún se leían los datos a través de tarjetas perforadas. Actualmente este símbolo representa sencillamente una lectura.



las referencias
http://es.wikipedia.org/wiki/Diagrama_de_flujo




jueves, 19 de abril de 2012

PROBLEMAS RESUELTOS

Crear un algoritmo mediante pseudocódigo que permita solicitar el ingreso por parte del usuario de 4 notas y muestre por pantalla el promedio de estas.


  1. Proceso cuatro notas
  2. Escribir 'Ingresar nota 1';
  3. Leer n1;
  4. Escribir 'Ingresar nota 2';
  5. Leer n2;
  6. Escribir 'Ingresar nota 3';
  7. Leer n3;
  8. Escribir 'Ingresar nota 4';
  9. Leer n4;
  10. p<-(n1+n2+n3+n4)/4;
  11. Escribir 'El promedio es:' ,p;
  12. Fin Proceso

suma de los números primos


  1. Crear un algoritmo que permita obtener y mostrar la suma de los números primos entre 50 y 100.
  1. Proceso suma_primo
  2. cont<-0;
  3. s<-0;
  4. Para i<-50 Hasta 100 Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
Si (i mod j)=0 Entonces
cont<-cont+1;
Sino
FinSi
FinPara
Si cont=2 Entonces
Escribir 'el numero primo es: ',i;
s<-s+i;
Sino
FinSi
cont<-0;
FinPara
  1. Escribir 'La suma de primos es: ',s;
  2. FinProceso


ingrese el nombre, su contraseña

#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
void main()
{
char num[10];
int clave;
clrscr();
printf ("ingrese el nombre");
scanf("%s",num);
printf(" ingrese su contraseña:\n ");
scanf("%d",&clave);
if (clave == 12345)
{
    printf("mensaje acceso permitido %d", clave);
    printf("bien venido %s",num);
}
getch();

}

d=n^(2+1)

#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
void main()
{
int i, num1, num2, s=0;
double m, r, resp;
clrscr();
textcolor(3);
cprintf("ingrese el tope inicial: ");
cscanf("%d",&num1);
textcolor(15);
cprintf(" \n ingrese el tope final:  ");
cscanf("%d",&num2);
r=(2+1);
textcolor(10);
for (i=num1; i<=num2; i++)
{
s=s+1;
m=i;
resp=pow(m, r);
gotoxy(3,s+2);cprintf(" \n a%d=n^(2+1) %.0lf",i,resp);
}
getch();
getch();
}

solamente los números positivos


    Crear un algoritmo que permita leer 10 números e imprimir solamente los números positivos.
  1. Proceso positivos
  2. Escribir 'ingrese numeros';
  3. Para i<-1 Hasta 10 Con Paso 1 Hacer
Leer Num;
Si num>0 Entonces
Escribir num,' positivo';
Sino
FinSi
  1. FinPara
  2. FinProceso








martes, 17 de abril de 2012

programación lógica


Programación lógica
 
La programación lógica gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.

VIDEO


Objetivos de la programación


Objetivos de la programación

La programación debe perseguir la obtención de programas de calidad. 


Corrección. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo.

Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento.

Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza.

Portabilidad. Un programa es portadle cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se elaboró.

FACTORIAL

Calcular el factorial de un numero X, que corresponde a la formula: N!=N*(N-1)*(N-2)*……*(N-(N-1)).

  1. Proceso factorial
  2. Escribir 'ingrese un numero';
  3. Leer f;
  4. fac<-1;
  5. Para i<-f Hasta 1 Con Paso -1 Hacer
  6. fac<-fac*i;
  7. FinPara
  8. Escribir 'el factorial es: ',fac;
  9. FinProceso

PRIMOS

Crear un algoritmo que permita obtener y mostrar los 20 primeros números primos, (Numero primo divisible para la unidad y para sí mismo).

  1. Proceso primos
  2. cont<-0;
  3. Para i<-1 Hasta 20 Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
Si (i mod j)=0 Entonces
cont<-cont+1;
Sino
FinSi
FinPara
Si cont=2 Entonces
Escribir 'el numero primo es: ',i;
Sino
FinSi
cont<-0;
FinPara
  1. FinProceso

TIEMDA

En una tienda efectúa un descuento a los clientes dependiendo del monto de compra. El descuento se efectúa con base en el siguiente criterio:
  • Si el descuento es menor que 500$ -> no hay descuento.
  • Si el monto está comprendido entre $500 y $1000 inclusive -> 5% de descuento.
  • Si el monto está comprendido entre $1000 y $7000 inclusive -> 11% de descuento.
  • Si el monto está comprendido entre $700 y $15000 inclusive -> 18% de descuento.
  • Si el monto es mayor a $15000 -> 25% de descuento.
  1. Proceso tienda
  2. Escribir 'Ingrese monto de compra';
  3. Leer M;
  4. Si (M<500) Entonces
Escribir 'No hay descuento';
Sino
Si ((M>=500) Y (M<100)) Entonces
M_P<-M-(M*0.05);
Escribir 'El monto a pagar es ',M_P;
Sino
Si ((M>=1000) Y (M<700)) Entonces
M_P<-M-(M*0.11);
Escribir 'El monto a pagar es ',M_P;
Sino
Si ((M>=7000) Y (M<1500)) Entonces
M_P<-M-(M*0.18);
Escribir 'El monto a pagar es ',M_P;
Sino
Si (M>=1500) Entonces
M_P<-M-(M*0.25);
Escribir 'El monto a pagar es ',M_P;
Sino
FinSi
FinSi
FinSi
FinSi
FinSi
  1. FinProceso



nombre del alumno


    Crear un algoritmo que ingrese el nombre del alumno y calcule el promedio del mismo sabiendo que tiene 6 calificaciones en la materia de lógica, además no se sabe la cantidad de alumno que se irán a ingresar en el programa, se pide mostrar:
Nombre del alumno:
Promedio:
  1. Proceso alumno
  2. Escribir 'ingrese el nombre del alumno';
  3. Leer N;
  4. s<-0;
  5. Para i<-1 Hasta 6 Con Paso 1 Hacer
Escribir 'ingrese calfiacion';
Leer cal;
s<-s+cal;
FinPara
  1. P_A<-s/6;
  2. Escribir 'El promedio es ', P_A;
  3. FinProceso


martes, 20 de marzo de 2012

imprimir solamente los números positivos


    Crear un algoritmo que permita leer 10 números e imprimir solamente los números positivos.

  1. Proceso positivos
  2. Escribir 'ingrese numeros';
  3. Para i<-1 Hasta 10 Con Paso 1 Hacer
Leer Num;
Si num>0 Entonces
Escribir num,' positivo';
Sino
FinSi
  1. FinPara