Você está na página 1de 18

Introduccin a la programacin

Algoritmos con PSeInt



Facultad de Ingeniera Elctrica y Electrnica

2 FIEE-UNI
Algoritmo

Un algoritmo es un conjunto de pasos a seguir para resolver un problema.

Problema: Tengo un telfono fijo y necesito llamar a alguien Cul es el algoritmo?

Algoritmo expresado en Diagrama de Flujo






















Algoritmo expresado en Pseudocdigo

INICIO
Levante el fono
Espere el tono
Marque el nmero
Espere que contesten
Hable con la persona
Cuelgue el fono
FIN
INICIO
Levante el fono
FIN
Espere el tono Espere el tono
Marque el nmero
Espere que contesten
Hable con la persona
Cuelgue el fono
3 FIEE-UNI
Diagrama de flujo

Un diagrama de flujo es la representacin grfica de un algoritmo.

Problema: Se desea que la computadora sume dos nmeros.




















Describamos los smbolos:

El smbolo significa que all empieza el algoritmo, el inicio del diagrama de
flujo.


El smbolo significa el ingreso o entrada de datos a la computadora,
generalmente desde el teclado.


El smbolo significa asignacin o proceso, es un clculo interno que realiza la
computadora, algo que no podemos ver ya que se realiza dentro del
procesador y en la memoria. La flechita indica que el resultado
de la suma se debe almacenar en la variable S.

El smbolo significa la salida de datos de la computadora, generalmente a la
pantalla. Observe que es el mismo smbolo de la entrada de datos.


INICIO
Leer
A, B
S A + B
Escribir
S
INICIO
S A + B
Leer
A, B
Escribir
S
FIN
4 FIEE-UNI

El smbolo significa que all termina el algoritmo. El final del diagrama de
flujo. Observe que es el mismo smbolo del inicio del algoritmo.

El smbolo ndica la direccin que sigue el algoritmo. Obviamente tambin
existen flechas hacia arriba, derecha e izquierda. Como
convencin, si no dibujamos la punta de la flecha, se
supone que va hacia abajo o a la derecha.

Adems de estos smbolos existen otros. Slo mencionare los que usaremos en este curso.


El smbolo Se usa para decisin, para elegir una de dos opciones.



El smbolo Se usa para repetir un conjunto de pasos un determinado nmero
de veces.


Pseudocdigo

Es la descripcin de los pasos a seguir por el algoritmo, pero no grficamente como en el
diagrama de flujo, si no con palabras claves. Mostremos el pseudocdigo para el ejemplo de la
suma de dos nmeros.

INICIO
Leer A,B
SA+B
Escribir S
FIN

Expliquemos todas esas palabrotas:

INICIO Seala el principio del algoritmo.
Leer A,B Indica que se debe leer los valores de las variables A y B desde el teclado.
S A+B Almacena el resultado de la suma A+B en la variable S.
Escribir S Indica que el valor de la variable S debe escribirse en la pantalla.
FIN Seala el final del algoritmo.

FIN
5 FIEE-UNI
PSeInt

PSeInt (Pseudo Interprete) es un software libre dirigido a estudiantes que se inician en la
programacin. Permite disear el pseudocdigo, el diagrama de flujo y ejecutarlos.

Realicemos el seudocdigo y diagrama de flujo de la suma de dos nmeros S = A + B.

1. Ejecuta el PSeInt
2. En la pantalla ya aparece el pseudocdigo para Inicio (Proceso) y Fin (FinProceso)



3. Debemos darle un nombre al pseudocdigo. En este caso suma.



6 FIEE-UNI
4. Lo primero ser leer el valor del primer sumando A. Clic al botn y
aparece el pseudocdigo escrito en pantalla, complete como se indica.




5. Luego tenemos que sumar los valores de A y B y asignarlos a la variable S. Clic al botn
y aparece el pseudocdigo escrito en pantalla, complete como se indica.




6. Por ltimo tenemos que mostrar el resultado S. Clic al botn y aparece
el pseudocdigo escrito en pantalla, complete como se indica.


7 FIEE-UNI
7. Para ejecutar el pseudocdigo presione la tecla F9.



8. Escriba por ejemplo:
7 y presione Enter
8 y presione Enter
Obtendr el siguiente resultado.



9. Cierre la ventana y ahora veremos el diagrama de flujo. Presione la tecla F7.


* De aqu tambin se puede disear y editar directamente el diagram de flujo y ejecutarlo.

8 FIEE-UNI
* Si deseamos tener una presentacin ms amigable, podemos modificar el pseudocdigo tal
como se muestra a continuacin.









9 FIEE-UNI
Estructuras secuenciales

Una estructura secuencial es aquella donde los pasos a seguir estn en secuencia o sea una
despus de otra.
Ejercicios resueltos
1. Escribe un programa que lea dos nmeros e imprima
su suma, diferencia, producto y cociente.

Diagrama de flujo:
Sean A y B los nmeros ledos.
Sean S, D, P y C su suma, diferencia, producto y
cociente respectivamente.













2. Escriba un programa que lea las tres notas
de un alumno e imprima su promedio. El
promedio debe salir redondeado.

Diagrama de flujo:
Sean N1, N2 y N3 las 3 notas y P el promedio.








INICIO
S A + B
D A B
M A B
C A B
Leer
A, B
Escribir
S, D, M, C
FIN
INICIO
P redondear ((N1+N2+N3) 3)
Leer
N1, N2, N3
Escribir
P
FIN
10 FIEE-UNI
3. Se desea saber qu porcentaje de hombres y mujeres
hay en un grupo de estudiantes. Escriba un programa que
lea cuantos hombres y mujeres hay en el grupo e imprima
su porcentaje.

Diagrama de flujo:
Sea H el nmero de hombres y PH su porcentaje.
Sea M el nmero de mujeres y PM su porcentaje.
Sea T el total de alumnos.











4. Disee un algoritmo que lea cierta cantidad de dlares
y muestre en pantalla la cantidad de soles y euros
equivalentes. (El tipo de cambio es 1 dlar = 2.80 soles
y 1 euro = 3.75 soles)

Diagrama de flujo:
Sea D la cantidad de dlares y S y E las cantidades en soles
y euros respectivamente.











INICIO
T H + M
PH H T
PM M T
Leer
H, M
Escribir
PH 100
PM 100
FIN
INICIO
S D 2.80
E S 3.75
Leer
D
Escribir
S, E
FIN
11 FIEE-UNI
5. Una institucin benfica ha recibido tres
donaciones en soles, dlares y marcos. La
donacin ser repartida en tres rubros: 50%
para la implementacin de un centro de salud,
40% para un comedor de nios y el resto para
gastos administrativos. Escriba un algoritmo
que lea las tres donaciones y determine el
monto en euros que le corresponde a cada
rubro. Considere que el tipo de cambio es: 1
dlar = 2.80 soles, 1 dlar = 1.46 marcos, 1
dlar = 0.75 euros.

Diagrama de flujo:
Sean S, D y M las donaciones en soles, dlares y
marcos respectivamente.
Sean CS, CN, GA las cantidades que
corresponden al centro de salud, comedor de
nios y gastos administrativos respectivamente.
Sea SD la conversin de los soles a dlares, MD
la conversin de los marcos a dlares y sea TD el
total de la donacin en dlares. Sea TE el total
en euros.



6. Disee un algoritmo que determine la cifra de las
unidades de un nmero entero positivo.

Diagrama de flujo:
Para resolver este problema debe saber que existe un
operador llamado Mod que devuelve el resto de una
divisin entera.
Veamos unos ejemplos:
7 Mod 5 devolver 2. Pues 7 5 da 1 y sobra 2
16 Mod 3 devolver 1. Pues 16 3 da 5 y sobra 1
4 Mod 15 devolver 15. Pues 4 15 da 0 y sobra 4

Sea N el nmero entero positivo.
Sea U la cifra de las unidades.

INICIO
SD S 2.80
MD M 1.46
TD SD+D+MD
TE TD 0.75
CS 0.5 TE
CN 0.4 TE
GA 0.1 TE
Leer
S, D, M
Escribir
CS, CN, GA
FIN
INICIO
U N Mod 10
Leer
N
Escribir
U
FIN
12 FIEE-UNI
7. El sueldo neto de un vendedor se calcula como la
suma de un sueldo bsico de S/.250 ms el 12%
del monto total vendido. Disee un algoritmo que
determine el sueldo neto de un vendedor sabiendo
que hizo tres ventas en el mes.

Diagrama de flujo:
Sea V1, V2 y V3 las tres ventas, sea MV el monto
vendido, SB el sueldo bsico y SN el sueldo neto.










8. En pases de habla inglesa es comn dar la estatura
de una persona como la suma de una cantidad entera
de pies ms una cantidad entera de pulgadas. As, la
estatura de una persona podra ser 3' 2" ( 3 pies 2
pulgadas ). Disee un algoritmo que determine la
estatura de una persona en metros, conociendo su
estatura en el formato ingls. Considere que: 1 pie =
12 pulgadas, 1 pulgada = 2.54 cm, 1 m = 100 cm.

Diagrama de flujo:
El plan a seguir ser el siguiente:
Leemos primero los pies (Ps) y lo convertimos a pulgadas
(P1).
Luego leemos las pulgadas (P) y la sumamos a las
obtenidas de los pies, as obtenemos el total (T=P1+P) en
pulgadas.
Luego convertimos el total a centmetros (C) y luego a
metros (M).

INICIO
SB 250
MV V1+V2+V3
SN SB + 0.12 MV
Leer
V1, V2, V3
Escribir
SN
FIN
INICIO
P1 Ps 12
T P+P1
C T 2.54
M C 100
Leer
Ps, P
Escribir
M
FIN
13 FIEE-UNI
Ejercicios propuestos

1. Una tienda que vende panetones regala un panetn por cada 5 panetones que compres.
Escriba un programa que lea la cantidad de panetones que compra un cliente e imprima
cuantos panetones se le regalar y tambin imprima el total de panetones que se llevar.

2. Escriba un programa que almacene en la variable A el nmero 2 y en la variable B el nmero
7 y luego mediante alguna operacin intercambie los valores o sea que al final la variable A
debe tener el valor 7 y la variable B el valor 2. Para verificar imprima los valores de A y B
antes y despus del intercambio.

3. En un negocio Juan invirti 50 dlares, Mara 80 dlares y Timoteo 90 dlares. Si al terminar
el negocio se obtuvo una utilidad de 900 dlares, Cunto le corresponde a cada uno?

Estructuras condicionales

Una estructura condicional es aquella donde es posible elegir una determinada accin de
acuerdo al resultado de una comparacin lgica. Se utiliza para que la computadora tome
decisiones frente a una determinada situacin.

Ejercicio resuelto
1. Escribe un programa que
lea dos nmeros y muestre
cual es el mayor.

Diagrama de flujo:
Sean A y B los nmeros ledos
y M el mayor.











A > B
INICIO
Leer
A, B
FIN
Escribir
M
SI NO
M A M B
14 FIEE-UNI






15 FIEE-UNI
Ejercicios propuestos

1. Escriba un programa que divida dos nmeros y si el denominador es cero, que muestre un
mensaje de error.

2. Escriba un programa que lea dos nmeros y muestre el siguiente men:
1. Hallar el rea de un rectngulo.
2. Hallar el rea de un tringulo.
Luego escoger una opcin con el teclado ingresando el nmero 1 o 2 para elegir qu rea
desea calcular.

3. Escriba un programa que lea las tres notas de un alumno e imprima si aprob o no y con qu
promedio. Si aprob que se muestre adems el mensaje Felicitaciones! En la UNI se
aprueba con 10.

4. Escriba un programa que lea dos nmeros e imprima la diferencia del mayor menos el menor.
El programa debe darse cuenta cual es mayor para restar correctamente.

5. Escriba un programa que lea tres nmeros e imprima el mayor.

6. Un obrero gana 1.2 dlar la hora normal y 1.8 dlar la hora extra, si consideramos que las
horas normales de trabajo son de 8 horas, escriba un programa que lea las horas diarias que
trabaja un obrero e imprima cuanto gan.

Estructuras repetitivas

Una estructura repetitiva es aquella que donde ejecuta un conjunto de acciones un determinado
nmero de veces.
Ejercicio resuelto
1. Escribe un programa que imprima nmeros desde 10 a 100 de 5 en 5.


16 FIEE-UNI


Ejercicios propuestos

1. Escriba un programa que muestre la siguiente serie:
1, 4, 9, 16,, 576, 625 y adems al final muestre su suma.

2. Escriba un programa que muestre la siguiente suma:


3. Escriba un programa que muestre la siguiente suma:


4. Escriba un programa que lea 10 nmeros e imprima el menor.

5. Escriba un programa que imprima los nmeros primos de 1 hasta 1000.

6. Escriba un programa que genere y muestre aleatoriamente 20 enteros entre -10 y 10 e
imprima cuantos son positivos, negativos y ceros. Sugerencia: utilice la funcin AZAR.

7. Escriba un programa que muestre la siguiente suma:


8. Encontrar todos nmeros de tres dgitos que sean iguales a la suma de los cubos de sus
dgitos.

17 FIEE-UNI
9. Escriba un programa que imprima todos los nmeros capicas de 3 dgitos.

10. Escriba un programa que imprima la siguiente serie de nmeros:
1
22
333
4444
55555
666666
7777777
88888888
999999999

11. Escriba un programa que imprima la siguiente serie de nmeros:
999999999
88888888
7777777
666666
55555
4444
333
22
1



Apndice 1: Operadores

Operador Significado Ejemplo
Relacionales
> Mayor que 3>2
< Menor que 'ABC'<'abc'
= Igual que 4=3
<= Menor o igual que 'a'<='b'
>= Mayor o igual que 4>=5
Lgicos
& Y Conjuncin (y). (7>4) & (2=1) //falso
| O Disyuncin (o). (1=1 | 2=1) //verdadero
~ NO Negacin (no). ~(2<5) //falso
Algebraicos
+ Suma total <- cant1 + cant2
- Resta stock <- disp - venta
* Multiplicacin area <- base * altura
/ Divisin porc <- 100 * parte / total
^ Potenciacin sup <- 3.41 * radio ^ 2
% MOD Mdulo (resto de la divisin entera) resto <- num MOD div

La jerarqua de los operadores matemticos es igual a la del lgebra, aunque puede alterarse
mediante el uso de parntesis.

18 FIEE-UNI
Apndice 2: Funciones

Funcin Significado
RC(X) Raz Cuadrada de X
ABS(X) Valor Absoluto de X
LN(X) Logaritmo Natural de X
EXP(X) Funcin Exponencial de X
SEN(X) Seno de X
COS(X) Coseno de X
ATAN(X) Arcotangente de X
TRUNC(X) Parte entera de X
REDON(X) Entero ms cercano a X
AZAR(X) Entero aleatorio entre 0 y X-1

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.

Ntese 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.

Você também pode gostar