Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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
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
Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es: mientras en
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
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
Ejemplos
Genere un algoritmo que determine cundo una persona puede casarse; es decir, solo si se es mayor
de edad y soltero.
INICIO
2- Leer edad
7- Si no
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
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
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
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.
http://pseint.sourceforge.net/
y la arquitectura respectiva ya sea de 32 o 64 bits segn sea el caso, se procede a descargar e instalar
En el rea
Los comandos pueden digitarse (de conocer bien su sintaxis) o seleccionarse por medio de el panel
de comandos
ciclos de repeticin
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
Las acciones incluyen operaciones de entrada y salida, asignaciones de variables, condicionales si-
Asignacin
Entradas
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
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
La jerarqua de los operadores matemticos es igual a la del lgebra, aunque puede alterarse
Algunas Observaciones
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)
Proceso suma
Leer a;
Leer b;
c<-a+b;
FinProceso
Y su salida sera:
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Realizar
los
Proceso resta
Leer a;
Leer b;
c<-a-b;
FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Proceso
multiplicacion
Leer a;
Leer b;
c<-a*b;
FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Proceso
division
Definir
a,b,c
como
ENTERO;
Leer a;
Leer b;
c<-a/b;
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
es cero o no
Proceso division
Leer a;
Leer b;
Si c<> 0 Entonces
c<-a/b;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
SiNo
FinSi
FinProceso
Aqu usamos la estructura repetitiva if (si) , el cual se ejecuta en funcin de una condicin. Su
Ejercicio
Disee un algoritmo que pregunte la edad de la persona, y si es mayor de 18 aos indique que puede
Algoritmo votar
Leer edad
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
SiNo
Fin Si
FinAlgoritmo
Otra
forma:
Algoritmo
votar
Leer a
Leer proximo
resta<-proximo-a
Si resta>=18 Entonces
SiNo
Fin Si
FinAlgoritmo
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Proceso calculadora
leer a;
Si a=1 Entonces
leer b;
leer c
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
d<-b+c;
Sino
Si a=2 Entonces
leer b;
leer c
d<-b-c;
Sino
Si a=3 Entonces
leer b;
leer c
d<-b*c;
Sino
Si a=4 Entonces
leer b;
leer c
d<-b/c;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Sino
FinSi
FinSi
FinSi
FinSi
FinProceso
Otra manera
Proceso calculadora
Repetir
Escribir "5.Salir";
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
leer j
Segun j Hacer
1:
leer b;
leer c
d<-b+c;
2:
leer b;
leer c
d<-b-c;
3:
leer b;
leer c
d<-b*c;
4:
leer b;
leer c
d<-b/c;
5:
De Otro Modo:
FinSegun
FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Aqu se
usan
dos
ciclos
La primera ejecuta una condicin hasta que se cumpla y luego sale del proceso asi repite el menu
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
Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una
Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de
Proceso mayor_que
//proceso mayor_que
Leer a;
Leer b;
a<-a;
b<-b;
// idem al anterior
Si a>b Entonces
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
Proceso Salario
banco=0.01;
seguro=0.02;
Leer HT;
Leer SH;
tota<-HT*SH;
//operador
td<-(tota*banco)+(tota*seguro);
t<-tota-td;
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
FinProceso
Tarea 1
Crear un
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
Leer A;
Leer B;
Leer C;
Sino
Sino
Sino
FinSi
FinSi
FinSi
Sino
Sino
Sino
FinSi
FinSi
FinSi
FinProceso
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
las operaciones que se realizarn para conseguir la solucin de un problema. Los diagramas de flujo
diagramas de flujo facilitan la comunicacin entre los programadores y la gente del negocio. Estos
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
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
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
1-Crear el algoritmo
2.Disear el pseudocodigo
3.Crear el Diagrama
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
y se descarga
Los comandos pueden digitarse (de conocer bien su sintaxis) o seleccionarse por medio de el panel
de comandos
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.
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
Los usamos cuando queremos saber si un numero es divisible entre otro, cuantas partes enteras tiene
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
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
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.
El pseudocdigo seria:
-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
Se descarga aqu
La versin actual de Dia ha sido probado con xito en Windows 8.1, 8, 7, Windows Vista y
sobre el.
Los objetos pueden ser conectados usando lineas. Solamente arrastra cada
Una vez que los objetos estn conectados, los podemos mover y la linea se
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
gran numero de objetos predefinidos para varios usos. Estos pueden ser
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.
en la Web
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
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
Nombre ,Carnet, y la Nota de 2 examenes y 3 quices sabiendo que los examenes valen 60% y los
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
El funcionamiento es el siguiente:
2. Si expresin toma el valor ( valores) especificados junto a la primera clusula CASE, se ejecuta
3. Se repite el procedimiento anterior, de forma ordenada, para cada una de las clusulas CASE que
siguen.
Obsrvese que se ejecuta, como mximo el conjunto de instrucciones de uno de los casos, es decir,
resto
una determinada condicin: el nmero de veces que se repetir el ciclo no est definido a priori.
Inicio
i=1
IMPRIMIR i
HACER i=i+1
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Fin Mientras
Fin
LEER a , b , S
Elegir caso S
Caso +
Caso -
Caso *
Caso *
Caso /
Si a6 = 0
Si no, si b6 = 0
Si no
Fundamentos de Programacin Prof Vctor H Sanabria Salguero
Fin Si
En otro caso
Tarea programada 2
Crear pseudocdigo y diagrama de flujo para obtener las estadsticas de un campeonato de soccer