Vous êtes sur la page 1sur 49

Fundamentos de Programacin Prof Vctor H Sanabria Salguero

1Que es programacin?

Es el proceso de disear, codificar, depurar y mantener el cdigo fuente (es un conjunto de lneas de

texto con los pasos que debe seguir la computadora para ejecutar dicho programa.). El cdigo

fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear

programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere

frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar,

algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales

como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar

fusionadas en el desarrollo de pequeas aplicaciones.

La programacin se rige por reglas y un conjunto ms o menos reducido de rdenes, expresiones,

instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en ingls); y que

adems tienen la particularidad de una reducida ambigedad. Cuanto menos ambiguo es un lenguaje

de programacin, se dice, es ms potente. Bajo esta premisa, y en el extremo, el lenguaje ms

potente existente es el binario, con ambigedad nula (lo cual lleva a pensar as del lenguaje

ensamblador).[cita requerida]

En los lenguajes de programacin se distinguen diversos elementos entre los que se incluyen el

lxico propio del lenguaje y las reglas semnticas y sintcticas, pero tambien existen esquemas para

diseo de los sistemas llamados algoritmos ,los cuales son o es una secuencia no ambigua, finita y

ordenada de instrucciones que han de seguirse para resolver un problema manera general, el cual

luego se traduce sl lenguaje de programacin respectivo, en nuestro caso visual basic.

Tenemos varios tipos , dentro de los que analizaremos


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Orientacin a eventos
Es una propuesta tecnolgica en el que tanto la estructura como la ejecucin de los programas van

dete Es una propuesta tecnolgica rminados por los sucesos que ocurran en el sistema, definidos

por el usuario o que ellos mismos provoquen.

Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es: mientras en

la programacin secuencial (o estructurada) es el programador el que define cul va a ser el flujo

del programa, en la programacin dirigida por eventos ser el propio usuario o lo que sea que est

accionando el programa el que dirija el flujo del programa. Aunque en la programacin secuencial

puede haber intervencin de un agente externo al programa, estas intervenciones ocurrirn cuando

el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la

programacin dirigida por eventos.

Programacin orientada a objetos

Es una propuesta tecnolgica viene a innovar la forma de obtener resultados. Los objetos

manipulan los datos de entrada para la obtencin de datos de salida especficos, donde cada

objeto ofrece una funcionalidad especial.

Muchos de los objetos pre-diseados de los lenguajes de programacin actuales permiten la


agrupacin en bibliotecas o libreras, sin embargo, muchos de estos lenguajes permiten al usuario la
creacin de sus propias bibliotecas.
Est basada en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo,
acoplamiento y encapsulamiento.
En el caso de visual basic , la versin 6 esta basada en eventos y la .net que utiliza el framewok net
en objetos
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

2 Otros conceptos bsicos


Algoritmos
Es una secuencia de pasos lgicos que permiten solucionar un problema.

Ejemplos
Genere un algoritmo que determine cundo una persona puede casarse; es decir, solo si se es mayor

de edad y soltero.

Datos: Edad, estado civil

INICIO

1- Escribir Cul es su edad?

2- Leer edad

3- Escribir Cul es su estado civil?

4- Leer estado civil


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

5- Si (edad >= 18 y estado civil= soltero) entonces

6- Escribir Puede casarse

7- Si no

8- Escribir No puede casarse

9- Fin (del si)

FIN

A partir de los siguientes datos, desarrolla un algoritmo para llenar un vaso de agua

Un vaso

Un grifo

INICIO

1- Tomar el vaso

2- Abrir el grifo

3- Colocar el vaso bajo el grifo

4- Esperar que el vaso se llene

5- Retirar el vaso

6- Cerrar el grifo

FIn

Pseudocdigo

Es una descripcin en un sistema que expresar los algoritmos(secuencia de pasos lgicos que

permiten solucionar un problema.) de una manera adecuada a la capacidad comprensiva humana, en

lugar de la capacidad que se la ejecuta de las mquinas. compacta e informal del principio operativo

de un algoritmo.

Ventajas
Genera un cdigo ms sencillo y comprensible.
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Escribir un cdigo vlido para diversas mquinas o sistemas operativos.

Permite utilizar paradigmas de programacin.

Permite crear programas complejos en relativamente menos lneas de cdigo.

Inconvenientes
Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina.

Es la primera fase de diseo de la aplicacin , y para este caso se usara la herramienta conocida

como pseint , la cual es un software libre diseado para tales fines y otros que se analizaran mas

adelante.

Para descargarlo se accede al vinculo:

http://pseint.sourceforge.net/

Se accede desde aqu

Y nos da acceso a la pantalla de seleccin del sistema operativo en donde se va a usar


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

y la arquitectura respectiva ya sea de 32 o 64 bits segn sea el caso, se procede a descargar e instalar

ejecutando el archivo pseint.exe, y se muestra la pantalla principal del sistema:

En el rea

de trabajo se disean las estructuras de pseudocdigo y en el area de informacin se muestran los

resultados y mensajes de error.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Los comandos pueden digitarse (de conocer bien su sintaxis) o seleccionarse por medio de el panel

de comandos

Mensajes en pantalla o captura de informacin en RaM

Almacenar informacin en RAM

Para realizar algn tipo de operacin

ciclos de repeticin

Todo algoritmo en pseudocgido tiene la siguiente estructura genera

Proceso SinTitulo

accin 1;

accin 2;

accin n;

Fin Proceso

Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una

secuencia de instrucciones y finaliza con la palabra FinProceso. Una secuencia de instrucciones es

una lista de una o ms instrucciones, cada una terminada en punto y coma.

Las acciones incluyen operaciones de entrada y salida, asignaciones de variables, condicionales si-

entonces o de seleccin mltiple y/o lazos mientras, repetir o para.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Asignacin

La instruccin de asignacin permite almacenar una valor en una variable.

<variable> <- <expresin> ;

Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el


resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben coincidir.

Entradas

La instruccin Leer permite ingresar informacin desde el ambiente.

Leer <variablel> , <variable2> , ... ,


<variableN> ;

Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N
variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando leer uno o
ms valores.

Salidas

La instruccin Escribir permite mostrar valores al ambiente.

Escribir <exprl> , <expr2> , ... , <exprN> ;

Esta instruccin imprime al ambiente (en este caso en la pantalla) los valores obtenidos de evaluar
N expresiones. Dado que puede incluir una o ms expresiones, mostrar uno o ms valores.
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Operadores y Funciones

Este pseudolenguaje dispone de un conjunto bsico de operadores y funciones que pueden ser

utilizados para la construccin de expresiones ms o menos complejas.

Las siguientes tablas exhiben la totalidad de los operadores de este lenguaje


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

La jerarqua de los operadores matemticos es igual a la del lgebra, aunque puede alterarse

mediante el uso de parntesis.

A continuacin se listan las funciones integradas disponibles:

Algunas Observaciones

Se pueden introducir comentarios luego de una instruccin, o en lneas separadas, mediante


el uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la lnea, no ser
tomado en cuenta al interpretar el algoritmo.
Notese que no puede haber instrucciones fuera del programa, aunque si comentarios.
Las estructuras no secuenciales pueden anidarse. Es decir, pueden contener otras adentro,
pero la estructura contenida debe comenzar y finalizar dentro de la contenedora.
Los identificadores, o nombres de variables, deben constar slo de letras y nmeros,
comenzando siempre con una letra, y no pueden ser palabras reservadas (como para,
mientras, y, no, etc...)
Las constantes de tipo carcter se escriben entre comillas ( " ).
En las constantes numricas, el punto ( . ) es el separador decimal.
Las constantes lgicas son Verdadero y Falso.
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Procederemos a analizar el uso de la aplicacin mediante algunos ejemplos

Ejemplo 1

Realizar la suma de dos nmeros y mostrar el resultado en pantalla, para esto los datos se

almacenan en una estructura llama variable ,puesto que los datos cambian cada vez que se ejecuta la

solucin, los tipos de datos que se manejan son enteros, rel (con decimales), logicos y

alfanumricos (carcter)

El cdigo en Pseint seria

Proceso suma

Definir a,b,c como ENTERO;

Escribir "Digite un valor";

Leer a;

Escribir "Digite un valor";

Leer b;

c<-a+b;

Escribir "El resultado de la suma es", c;

FinProceso

Y su salida sera:
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Realizar

los

procesos para las operaciones resta,multiplicacin y divisin

Proceso resta

Definir a,b,c como ENTERO;

Escribir "Digite un valor";

Leer a;

Escribir "Digite un valor";

Leer b;

c<-a-b;

Escribir "El resultado de la resta es", c;

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Proceso

multiplicacion

Definir a,b,c como ENTERO;

Escribir "Digite un valor";

Leer a;

Escribir "Digite un valor";

Leer b;

c<-a*b;

Escribir "El resultado de la multiplicacion es", c;

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Proceso

division

Definir

a,b,c

como

ENTERO;

Escribir "Digite un valor";

Leer a;

Escribir "Digite un valor";

Leer b;

c<-a/b;

Escribir "El resultado de la division es", c;

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Que

pasa si

el

divisor

es cero

Se da el

error

divisin

por cero,

como

solventar

esto?

Para esto hay que usar una estructura decisional ,conocida como si (IF) que permite tomar una

decisin dependiendo de si se cumple o no una condicin a evaluar , en este caso si el denominador

es cero o no

Proceso division

Definir a,b,c como ENTERO;

Escribir "Digite un valor";

Leer a;

Escribir "Digite un valor";

Leer b;

Si c<> 0 Entonces

c<-a/b;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Escribir "El resultado de la division es", c;

SiNo

Escribir "el denominador debe ser mayor que 0";

FinSi

FinProceso

Aqu usamos la estructura repetitiva if (si) , el cual se ejecuta en funcin de una condicin. Su

estructura se mantiene en casi todos los lenguajes de la programacin de la siguiente manera

Ejercicio

Disee un algoritmo que pregunte la edad de la persona, y si es mayor de 18 aos indique que puede

votar, de lo contrario que indique que no.

Algoritmo votar

definir edad Como Entero

Escribir "digite su edad"

Leer edad
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Si edad >=18 Entonces

Escribir "Puede votar"

SiNo

Escribir "No Puede votar"

Fin Si

FinAlgoritmo

Otra

forma:

Algoritmo

votar

definir a,p,resta Como Entero

Escribir "digite su ao de nacimiento formato de 4 digitos"

Leer a

Escribir "En que ao son las proximas elecciones"

Leer proximo

resta<-proximo-a

Si resta>=18 Entonces

Escribir " Puede votar pues tiene ", resta," aos"

SiNo

Escribir "No Puede votar pues tiene ", resta," aos"

Fin Si

FinAlgoritmo
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Creacin de una calculadora usando ciclos anidados(un ciclo dentro de otro)

Proceso calculadora

escribir "Que quieres hacer?";

escribir "1: Sumar";

escribir "2: Restar";

escribir "3: Multiplicar";

escribir "4: Dividir";

leer a;

Si a=1 Entonces

escribir "digita un valor";

leer b;

escribir "digita un segundo valor:";

leer c
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

d<-b+c;

escribir " La Suma de ", b, " + ", c, " = ", d

Sino

Si a=2 Entonces

escribir "digita tu valor";

leer b;

escribir "digita tu segundo valor:";

leer c

d<-b-c;

escribir " La Resta de " , b, " - ", c, " = ", d

Sino

Si a=3 Entonces

escribir "digita tu valor";

leer b;

escribir "digita tu segundo valor:";

leer c

d<-b*c;

escribir " La Multiplicacion de " , b, " * ", c," = " , d

Sino

Si a=4 Entonces

escribir "digita tu valor";

leer b;

escribir "digita tu segundo valor:";

leer c

d<-b/c;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

escribir " La Division de " , b, " / ", c, " = ", d

Sino

FinSi

FinSi

FinSi

FinSi

FinProceso

Otra manera

Proceso calculadora

definir j como entero;

Repetir

escribir "Menu de operaciones";

escribir "1: Sumar";

escribir "2: Restar";

escribir "3: Multiplicar";

escribir "4: Dividir";

Escribir "5.Salir";
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Escribir "escoge una opcion"

leer j

Segun j Hacer

1:

Eescribir "digita un valor";

leer b;

escribir "digita un segundo valor:";

leer c

d<-b+c;

escribir " La suma de ", b, " + ", c, " = ", d

2:

escribir "digita un valor";

leer b;

escribir "digita un segundo valor:";

leer c

d<-b-c;

escribir " La Resta de ", b, " - ", c, " = ", d

3:

escribir "digita un valor";

leer b;

escribir "digita un segundo valor:";

leer c

d<-b*c;

escribir " La multiplicacion de ", b, " * ", c, " = ", d


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

4:

escribir "digita un valor";

leer b;

escribir "digita un segundo valor:";

leer c

d<-b/c;

escribir " La divisionde ", b, " / ", c, " = ", d

5:

Escribir "Opcion no valida"

De Otro Modo:

Escribir "opcion invalida"

FinSegun

Hasta Que j=5

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Aqu se

usan

dos

ciclos

repetitivos nuevos. Repetir y segn

La primera ejecuta una condicin hasta que se cumpla y luego sale del proceso asi repite el menu

hasta que la condicin sea diferente de 5 segn este ejemplo

La condicin permite Esta instruccin permite ejecutar opcionalmente varias acciones posibles,

dependiendo del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el

contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor.

Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una

secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de instrucciones

asociada se debe ejecutar cuando el valor de la variable es uno de esos nmeros.

Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de

instrucciones asociada se ejecutar slo si el valor almacenado en la variable no coincide con

ninguna de las opciones anteriores.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Determinar el mayor de dos nmeros

Proceso mayor_que

//proceso mayor_que

Escribir "Algoritmo para calcular cual numero de a y b es mayor";

Escribir "Introduzca el valor de a: "

//muestra en pantalla la instruccin

Leer a;

//ingresa por teclado el valor de 'a'

Escribir "Introduzca el valor de b: "

Leer b;

a<-a;

// a=a; si escribieramos a=0, la comparacin sera entre ceros (error)

b<-b;

// idem al anterior

Si a>b Entonces

//Condicional Si (If) a>b Entonces que?

Escribir "El nmero ", " ", a, "es mayor que ", " ", b

sino

Escribir "El nmero ", " ", a, "es menor que ", " ", b;

FinSi

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Calcular

el

salario

quincenal de un empleado ,calculando las deducciones sociales ccss1% bp2%

Proceso Salario

DEfinir ht,sh,tota,t como real;

Definir banco,seguro como real;

banco=0.01;

seguro=0.02;

Definir td Como Real;

Escribir "Ingresar horas trabajadas por quincena";

Leer HT;

//ingresa por teclado las horas_trabajadas_semana

Escribir "Ingresar el salario /hora";

Leer SH;

//ingresa por teclado el salario /hora

tota<-HT*SH;

//operador

td<-(tota*banco)+(tota*seguro);

t<-tota-td;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Escribir " El Salario bruto quincenal es ", tota;

Escribir " Las deducciones son ",td

Escribir " El salario Neto es ",t

FinProceso

Tarea 1

Crear un

algoritmo que pida al usuario un nmero y le diga si es positivo, negativo o cero.

Crear un algoritmo que pida al usuario un numero y le diga si es positivo, negativo o cero.

Proceso Resuelto02
Escribir "Dime un numero";
Leer x;
Si x > 0 Entonces
Escribir "Es positivo";
Sino
Si x < 0 Entonces
Escribir "Es negativo";
Sino
Escribir "Es cero";
FinSi
FinSi
FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Crear

un

algoritmo que pida al usuario 3 datos y diga cual es el mayor de los tres.

Proceso mayormenorigual

Escribir "dame numero";

Leer A;

Escribir "dame numero";

Leer B;

Escribir "dame numero";

Leer C;

Si A>B Y A>C Entonces

Escribir "el mayor es:", A

Sino

Si B>A Y B>C Entonces

Escribir "el mayor es:", B

Sino

Si C>A Y C>B Entonces

Escribir "el mayor es:", C


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Sino

Escribir "son iguales";

FinSi

FinSi

FinSi

Si A<B Y A<C Entonces

Escribir "el menor es:", A

Sino

Si B<A Y B<C Entonces

Escribir "el menor es:", B

Sino

Si C<A Y C<B Entonces

Escribir "el menor es:", C

Sino

Escribir "Son iguales";

FinSi

FinSi

FinSi

FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

3.Que es un diagrama de flujo?


Es una representacin por medio de un diagrama para ilustrar la secuencia de

las operaciones que se realizarn para conseguir la solucin de un problema. Los diagramas de flujo

se dibujan generalmente antes de comenzar a programar el cdigo frente a la computadora. Los

diagramas de flujo facilitan la comunicacin entre los programadores y la gente del negocio. Estos

diagramas de flujo desempean un papel vital en la programacin de un problema y facilitan la

comprensin de problemas complicados y sobre todo muy largos. Una vez que se dibuja el

diagrama de flujo, llega a ser fcil escribr el programa en cualquier idima de alto nivel. Vemos a

menudo cmo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros.

Por lo tanto, est correcto decir que un diagrama de flujo es una necesidad para la documentacin

mejor de un programa complejo.

Las siguientes son acciones previas a la realizacin del diagrama de flujo:

Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar presentes el

autor o responsable del proceso, los autores o responsables del proceso anterior y posterior y de

otros procesos anidados, as como las terceras partes interesadas.

Definir qu se espera obtener del diagrama de flujo.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Identificar quin lo emplear y cmo.

Establecer el nivel de detalle requerido.

Determinar los lmites del proceso a describir

Reglas para dibujar un diagramas de flujo.

Los Diagramas de flujo se dibujan generalmente usando algunos smbolos estndares; sin embargo,

algunos smbolos especiales pueden tambin ser desarrollados cuando sean requeridos.
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Por lo que el proceso a seguir sera:

1-Crear el algoritmo

2.Disear el pseudocodigo

3.Crear el Diagrama

4.Traducirlo a visual basic

Reglas su creacin
1Deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
2. Los smbolos se unen con lneas, las cuales tienen en la punta una flecha que indica la
direccin que fluye la informacin procesos, se deben de utilizar solamente lneas de flujo
horizontal o verticales (nunca diagonales).
3. Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo del diagrama a un
sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo
se vana utilizar conectores cuando sea estrictamente necesario.
4. No deben quedar lneas de flujo sin conectar
5. Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de muchas
palabras.
6. Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del smbolo final.
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Pseint
Para los primeros 2 de los pasos a seguir usaremos la herrmienta gratuita Pseint,la cual se descarga

de Pseint.sourceforge.net

Se escoge el sistema operativo


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

y se descarga

Una vez instalado se muestra la pantalla principal

Y se configura el modo de trabajo(perfil)


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

En el rea de trabajo se disean las estructuras de pseudocdigo y en el area de informacin se

muestran los resultados y mensajes de error.

Los comandos pueden digitarse (de conocer bien su sintaxis) o seleccionarse por medio de el panel

de comandos

De los primeros ejercicios


Hacer el diagrama de flujo para sumar dos nmeros ledos por teclado y escribir el resultado.

Crear un diagrama de flujo de procesos en el que se almacenen 3 nmeros en 3 variables A, B y C.

El diagrama debe decidir cual es el mayor y cual es el menor


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Un ao es bisiesto si es mltiplo de 4, exceptuando los mltiplos de 100, que slo son bisiestos cuao

son mltiplos adems de 400, por ejemplo el ao 1900 no fue bisiesto, pero el ao 2000 si lo fue.

Hacer un organigrama que dado un ao A nos diga si es o no bisiesto.

Aqu se usa la instruccin mod la cual es el residuo de la divisin, por ejemplo si dividimos 79 entre

8 el resultado ser 7.

Tambin es importante conocer la instruccin div la cual es la parte entera de la divisin, por

ejemplo si dividimos 79 entre 8 el resultado ser 9.

El siguiente grfico te mostrar de mejor forma estos operadores.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Cuando utilizamos estos operadores?

Los usamos cuando queremos saber si un numero es divisible entre otro, cuantas partes enteras tiene

una divisin,tambin cuando queremos saber si un numero es mltiploo submltiplo de otros;

cuando queremos descomponer un numero en unidades , decenas, centenas y otros casos ms.

EJEMPLO:

(1)

Hacer un programa que capture un numero de tres cifras y lo descomponga en unidades, decenas y

centenas. El programa debe indicarnos cuantas unidades hay, cuantas decenas y cuantas centenas.

(Por ahora no preocuparse si el que usa el programa ingresa otro tipo de numeros que no sean de

tres cifras, eso lo veremos ms adelante).

Anlisis

Supogamos que el nmero es 785, por lo tanto el programa tiene de devolvernos 7 centenas, 8

decenas y 5 unidades como resultado. Si aplicamos DIV y MOD entonces podremos hacer los

siguiente:

785 MOD 10 da como resultado 5, por lo tanto ya tenemos la cantidad de unidades (compruevalo

haciendo la divisin manual).


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

785 DIV 10 da como resultado 78, ahora podemos aplicar (785 DIV 10) MOD 10 que es como decir

78 MOD 10, que resulta ser 8 por lo tanto ya tenemos las decenas.

785 DIV100 da como resultado 7, por ello ya tenemos las centenas.Esta es la forma de utilizar el

DIV y el MOD. Para entender mejor has las operaciones de numeros manualmente en papel.

(1) Publicado por Maria Camila Camargo Velasquez

Realizar el diagrama de flujo que simule una caja registradora.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

El pseudocdigo seria:

Ahora, como se disean estas estructuras:

-Usando una plantilla y papel.

-Por medio de aplicaciones que realizan esta funcin, para esto usaremos la aplicacin gratuita Dia,

la cual se obtiene en

http://dia-installer.de/index.html.es

El cual funciona tanto en Windows como Linux


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Se descarga aqu

Sus requerimientos son:

La versin actual de Dia ha sido probado con xito en Windows 8.1, 8, 7, Windows Vista y

Windows XP, Linux y Mac OS X.

Se descarga y se ejecuta , apareciendo la pantalla principal de la aplicacin:


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Usar DIA para crear un diagrama es muy fcil. La barra de herramientas

contiene una paleta de objetos predefinidos,incluyendo formas simples,

lineas y objetos especializados. Para agregar un objeto al lienzo,

simplemente hacemos clic sobre el icono del objeto deseado en la caja de

herramientas y luego hacemos clic sobre el lienzo en el lugar donde

queremos colocar el objeto. El objeto aparecer sobre el lienzo al hacer clic

sobre el.

Un objeto puede ser movido haciendo clic sobre el y arrastrndolo con el

mouse. El objeto puede ser redimensionado al hacer clic sobre el y arrastrar

los puntos de control rojo o verde del objeto.

Los objetos pueden ser conectados usando lineas. Solamente arrastra cada

final de una linea a un punto de conexin (pequea x azul) sobre un objeto.

Una vez que los objetos estn conectados, los podemos mover y la linea se

mantendr conectado a ellos.

En la barra de herramientas, podemos hacer doble clic sobre algn icono de

un objeto, para ver y editar las propiedades por defecto del objeto. Esto nos

permite personalizar las propiedades por defecto de los objetos. Para los

objetos que contienen texto, podemos personalizar el alineamiento y las

propiedades de los tipos de letras. Para formas estndares podemos

personalizar la transparencia, la forma de la esquina, y el aspecto.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

DIA incluye un grupo de formas estndares y objetos lineales. DIA incluye un

gran numero de objetos predefinidos para varios usos. Estos pueden ser

para diagramas de flujo, diagramas UML, diagramas de red y muchos otros.

Muchas tareas comunes en DIA requieren seleccionar uno o mas objetos.

DIA incluye varias formas para seleccionar objetos rpidamente.

DIA puede ser personalizado de varias formas.

Capas (Layers) crean imgenes mltiples en una sola imagen. Al hacer esto,

un usuario puede editar una capa sin preocuparse de afectar cualquier otra

capa.

DIA soporta exportar a numerosos formatos excelentes para su publicacin

en la Web

Algunos de ellos son:

Computer Graphics Metafile (.cgm)

Encapsulated Postscript (.eps)

Native Dia format (.dia)

Portable Network Graphics (.png)

Scalable Vector Graphics (.svg)

Computer Graphics Metafile (.cgm)

Encapsulated Postscript (.eps)

Native Dia format (.dia)


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Portable Network Graphics (.png)

Scalable Vector Graphics (.svg)

Realizaremos el siguiente diagrama con dia:

Abrimos la aplicacin y en las opciones del lado izquierdo de la pantalla, seleccionamos diagrmas

de flujo
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Seleccionamos cada figura y la colocamos en el rea de trabajo al lado derecho de la

pantalla. Procedemos de nuevo hasta terminar de colocar los elementos

Para colocar el texto en cada elemento se usa la herramienta en la

barra de herramientas,luego debe conectarse cada elemento con la herramienta linea

quedando la

grfica
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Tarea 2
1-Disear el diagrama de flujo para obtener el mayor de 2 nmeros

2-Disear e diagrama de flujo que reciba los datos de estudiantes:

Nombre ,Carnet, y la Nota de 2 examenes y 3 quices sabiendo que los examenes valen 60% y los

quices 40& y obtenga el promedio final

Tenemos la estructura de casos que utilizamos para la calcularora, su diagrama seria


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

En el caso de la instruccin para , la cual ermite implementar la repeticin de un cierto conjunto de

instrucciones un nmero pre-determinado de veces.

Para ello se utiliza una variable de control del bucle, llamada tambin ndice, que va recorriendo

un conjunto pre-fijado de valores en un orden determinado. Para cada valor del bendice en dicho

conjunto, se ejecuta una vez el mismo conjunto de instrucciones.

El funcionamiento es el siguiente:

1. Al comienzo se evala la expresin.

2. Si expresin toma el valor ( valores) especificados junto a la primera clusula CASE, se ejecuta

el conjunto de instrucciones de este caso y despus se abandona la estructura SWITCH,

continuando por la instruccin siguiente al END.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

3. Se repite el procedimiento anterior, de forma ordenada, para cada una de las clusulas CASE que

siguen.

4. Si la clusula OTHERWISE est presente y la expresin no ha tomado ninguno de los valores

anteriormente especificados, se ejecuta el conjunto de instrucciones correspondiente.

Obsrvese que se ejecuta, como mximo el conjunto de instrucciones de uno de los casos, es decir,

una vez que se ha verificado un caso y se ha ejecutado su conjunto de instrucciones, no se testea el

resto

de casos, ya que se abandona la estructura. Obviamente, si la clusula OTHERWISE no est

presente,puede ocurrir que no se d ninguno de los casos.


Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Dado un entero, n, calcular la suma de los n primeros nmeros impares

Ciclo Mientras (while)

Permite implementar la repeticin de un mismo conjunto de instrucciones mientras que se verifique

una determinada condicin: el nmero de veces que se repetir el ciclo no est definido a priori.

Imprimir de forma ascendente los 100 primeros nmeros naturales.

Inicio

i=1

Mientras que i 100

IMPRIMIR i

HACER i=i+1
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

Fin Mientras

Fin

Dados dos nmeros reales, a y b, y el smbolo, S (carcter), de un oper-

ador aritmtico (+, -, *, /), imprimir el resultado de la operacin a S b

LEER a , b , S

Elegir caso S

Caso +

IMPRIMIR El resultado es =, a+b

Caso -

IMPRIMIR El resultado es =, a-b

Caso *

IMPRIMIR El resultado es =, a*b

Caso *

IMPRIMIR El resultado es =, a*b

Caso /

Si a6 = 0

IMPRIMIR El resultado es =, a/b

Si no, si b6 = 0

IMPRIMIR El resultado es =, Inf (infinito)

Si no
Fundamentos de Programacin Prof Vctor H Sanabria Salguero

IMPRIMIR El resultado es =, NaN (indeterminacin)

Fin Si

En otro caso

IMPRIMIR El operador no se reconoce

Fin Elegir caso

Tarea programada 2

Crear pseudocdigo y diagrama de flujo para obtener las estadsticas de un campeonato de soccer

con 5 equipos ,eq1,eq2,eq3,eq4 y eq5

SE obtienen 4 puntos por cada partido ganado

se obtienen 2.5 puntos por cada partido empatado

Se da un partido en casa y oro de visita (2) por cada equipo

El Campen es el que obtenga mas puntos.