Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

Pseudocódigo: Operadores y Comparaciones

Operadores basicos de aritmetica:
Operador
Significado
+
suma
-
resta
*
multiplicacion
/
division
\
obtiene la parte entera de la división, sin decimales
%
Obtiene el resto de la división
++
Suma 1 unidad
--
Resta 1 unidad

Ejemplo
r=4 , para añadir 1 unidad le podemos poner r=4+1 ó r++

Operadores relacionales:
Son las posibles comparaciones que puede hacer el ordenador
Operador
Significado
>
Mayor que
<
Menor que
>=
Mayor o igual que
<=
Menor o igual que
= =
igual
!=
distinto

Nota: “hola” es mayor que “adios”, ya que en el alfabeto la “h” esta mas adelante que la “a”

Para sumar dos cadenas, se usa el signo +.
Por ejemplo:
Escribe “hola”+”adios”, escribiria “holaadios”
Si no le ponemos comillas, le estariamos diciendo que sumara la variable hola y la variable adios.

Verdadero y Falso
VERDADERO
True
Cualquier numero menos el 0
FALSO
false
0


Operaciones Lógicas:
Palabra clave
simbolo
significado
and
&
y
or
||
o
not
!
No (lo contrario)
Tablas de la verdad:
Y
V
F

O
V
F

NO


V
V
F

V
V
V

V
F

F
F
F

F
V
F

F
V


También se puede anidar operaciones lógicas (unas dentro de otras):
Ejemplo de anidamiento de operaciones lógicas
  • ((7>3) y (4<15) )
  • Verdad y Verdad
  • Resultado: Verdad

  • ((V o F) y V)
  • (V y V)
  • V

  • V o (F y V)
  • V o F
  • V

Orden: Si....sino ….finsi
Si accion
acciones
sino
acciones
finsi


Ejemplo:
Pedir un número por teclado y tenemos que indicar si es mayor que 50.
<inicio>
num=0
Escribir “introduce un numero”
leer num
si num>50
escribe “es mayor de 50”
fin si
<fin>

Explicación
Si es mayor que 50 → ejecuta escribe “es mayor de 50”,

También se podría haber echo:
<inicio>
num=0
Escribir “introduce un numero”
leer num
si !(num>50)
escribe “menor que 50”
sino
escribe “es mayor que 50”
fin si
<fin>


Ejercicio:
Pedir un numero por teclado y tenemos que indicar si el número es mayor de 50, o que es igual a 50 o que es menor de 50

<inicio>
num=0
escribir “introduce un numero”
leer num
si num>50
escribe “El numero es mayor de 50”
sino
si num<50
escribir “El numero es menor de 50”
sino
escribir “El numero es igual a 50”
finsi
finsi
<fin>

Pedir 2 numeros y vamos a mostrar cual es el más pequeño:
<inicio>
num1=0
num2=0
Escribir “Introduce nº1=”
Leer num1
Escriber “Introduce nº2=”
Leer num2
si num1<num2
escribe num1
sino
escribe num2
finsi
<fin>

Pedir 3 numeros y mostra el menor:
<inicio>
num1=0
num2=0
num3=0
Escribir “Introduce nº1=”
Leer num1
Escriber “Introduce nº2=”
Leer num2
Escriber “Introduce nº3=”
Leer num3
si num1<num2 y num1<num3
escribe num1
sino
si num2<num1 y num2<num3
escribe num2
sino
escribe num3
finsi
finsi
<fin>

Ejemplo:
Introducir 3 numeros y vamos a mostrarlo ordenados de menor a mayor
<inicio>
n1=0
n2=0
n3=0
Escribir “Introduce nº1=”
Leer n1
Escriber “Introduce nº2=”
Leer n2
Escriber “Introduce nº3=”
Leer n3

si n1<n2 y n2<n3
escribe n1+ n2 + n3
sino
si n3<n2 y n2<n1
escribe n3+n2+n1
sino
si n2<n3 y n3<n1
escribe n2+n3+n1
sino
escribe n2+n1+n3
finsi
finsi
finsi
<fin>

Ahora vamos a hacerlo con una variable auxiliar
<inicio>
n1=0
n2=0
n3=0
aux=0
Escribir “Introduce nº1=”
Leer n1
Escriber “Introduce nº2=”
Leer n2
Escriber “Introduce nº3=”
Leer n3
si n1>n2
aux=n1
n1=n2
n2=aux
finsi
si n2>n3
aux=n2
n2=n3
n3=aux
fin si
si n1>n2
aux=n1
n1=n2
n2=aux
finsi
escribir n1,n2,n3
<fin>

Explicación:
Con la 1º pregunta me garantiza que el n1 sea mas pequeño que el n2
Con la 2º pregunta me garantiza que el 2 es mas pequeño que el 3
Y como cambio n3 con n2, en vez de preguntar n1 >n3, pregunto n1>n2 (que en n2 es donde esta n3 original)

No hay comentarios:

Publicar un comentario en la entrada