Académique Documents
Professionnel Documents
Culture Documents
Programacin de Ordenadores
para alumnos de primer curso
sin conocimientos previos de programacin
Centro:
Docente:
rea (Dpto.):
Evaluacin:
Se realizar un examen final de programacin que servir para calificar el curso, en el que el alumno
tendr que disear uno o varios algoritmos que resuelvan los problemas planteados.
Se podrn realizar otro tipo de pruebas que servirn exclusivamente como diagnstico del proceso de
enseanza-aprendizaje, y por tanto, no se tendrn en cuenta en la calificacin final del curso.
Apellidos:
Email:
Titulacin:
Qu es un algoritmo?
Qu es un programa?
Qu es un operador relacional?
Escribe un programa que utilice una estructura de control selectiva y otra repetitiva. Explica qu funcin realiza el
programa.
Programa informtico
Es la representacin (codificacin) de un algoritmo en un lenguaje de programacin de
ordenadores.
En el contexto del diseo de un algoritmo, como siempre lo vamos a representar mediante un
programa, ambos trminos sern sinnimos. Tambin utilizaremos el trmino proceso con el
mismo significado, ya que se puede ver la ejecucin de un algoritmo como una sucesin de
estados desde el comienzo hasta el fin (algoritmo=programa=proceso).
Para referirnos a la representacin escrita del programa se suele utilizar el trmino cdigo.
Como usuarios de los ordenadores, los programas nos hacen la vida ms fcil ya que permiten
sacarles partido. Ejemplos de programas muy conocidos: Word, WhatsApp, AutoCAD, Chrome,
etc... A este tipo de programas se les llama tambin aplicaciones (en ordenadores personales)
o APP (en pequeos dispositivos).
Lectura. Espera a que el usuario introduzca mediante el teclado uno o varios datos y se
almacena cada uno en una variable para su uso posterior.
Escritura. Muestra en pantalla uno o varios datos, ya sean constantes o datos almacenados en
variables.
Traductor
Debemos entender que un programa como el anterior no puede ser directamente ejecutable
en un ordenador (mquina electrnica); primero debemos transformarlo en smbolos
reconocibles para el ordenador. Esta tarea se hace mediante un programa llamado traductor.
El traductor lee el programa fuente escrito en un lenguaje de alto nivel (completo o solo una
parte), lo convierte a instrucciones de bajo nivel en binario, y finalmente, genera como
resultado el programa ejecutable.
Cdigo fuente
Escrito en un lenguaje de alto nivel
Traductor
2. Introduccin a PSeInt
Para la escritura y prueba de programas utilizaremos la aplicacin PSeInt (acrnimo de las
palabras pseudolenguaje e interprete). Este software dispone de un editor de textos para
escribir y guardar programas en el lenguaje de programacin de PSeInt, llamado
pseudolenguaje; y de un tipo de traductor, llamado intrprete, que permite traducir y probar
los programas en el ordenador en su versin ejecutable.
Escribir y ejecutar programas es posible desde la ventana de la aplicacin. Por este motivo,
decimos que PSeInt es un entorno de desarrollo integrado (IDE, integrated development
environment).
Gracias a la sencillez del lenguaje de programacin de PSeInt, es posible centrar la atencin en
los conceptos fundamentales de la programacin.
Instalacin de PSeInt
El enlace para la descarga es http://pseint.sourceforge.net/
Una vez finalizada la instalacin, cuando se ejecute por primera vez el IDE, se nos pedir
seleccionar un perfil, entonces deberemos elegir la opcin Flexible.
Utilizacin de PSeInt
El manejo de PSeInt es muy sencillo (con numerosas ayudas y recursos didcticos) y se
explicar en las sesiones de clase. En cualquier caso, el programa dispone de una ayuda en la
que se puede consultar cualquier duda sobre su manejo y sobre el lenguaje de programacin
utilizado.
Operadores aritmticos
Operador
+
*
/
^
%
(unario)
Significado
Ejemplo
Suma
Resta
Multiplicacin
Divisin
Potencia
Resto de la divisin entera
Opuesto
suma <- a + b
dif <- cant1 cant2
areaRect <- base * altura
media <- total/contador
cY <- cX^2
resto <- a%b
-x
Funciones matemticas
Funcin
Significado
raiz(x)
abs(x)
ln(x)
exp(x)
sen(x)
cos(x)
tan(x)
asen(x)
acos(x)
atan(x)
trunc(x)
redon(x)
azar(x)
aleatorio(a, b)
Raz cuadrada de x
Valor absoluto de x
Logaritmo natural de x
Funcin exponencial de x
Seno de x
Coseno de x
Tangente de x
Arcoseno de x
Arcocoseno de x
Arcotangente de x
Parte entera de x
Entero ms cercano a x
Entero aleatorio en el rango [0, x-1]
Entero aleatorio en el rango [a, b]
Operador
Significado
Ejemplo (y resultado)
>
>=
<
<=
=
<>
Mayor
Mayor o igual
Menor
Menor o igual
Igual
Distinto
1>2 (falso)
2>=2 (verdadero)
1<2 (verdadero)
a<=b (depende)
a=b (depende)
2<>b (depende)
Operadores lgicos
Operador
Significado
Ejemplo (y resultado)
Conjuncin (y)
Disyuncin (o)
NO
Negacin (no)
cX=0 Y cY=0
(verdadero si el punto est en el origen)
cX=0 O cY=0
(verdadero si el punto est en los ejes u origen)
NO (cX=0 O cY=0)
(verdadero si el punto est en los cuadrantes)
Precedencia
()
-(unario)
^
*, /, %
+, <, <=, >, >=
=, <>
NO
Y
O
Para comprender mejor la forma cmo se ejecutan las instrucciones, PSeInt ofrece la
posibilidad de mostrar un diagrama del flujo de ejecucin del programa
La rama sino es opcional, lo que permite resolver este mismo problema de otra forma:
En este algoritmo hay que tener cuidado de que las dos condiciones cubran todos los casos
posibles para los valores de las variables involucradas, y de esta forma asegurarnos de que se
va a entrar y ejecutar alguna rama. Pero esto no es suficiente, adems es necesario que solo se
ejecute una de las dos ramas, y para ello las dos condiciones debern ser tambin excluyentes.
Y su correspondiente diagrama de flujo:
Tambin se puede anidar una estructura selectiva dentro de otra. Usaremos el mismo ejemplo,
pero teniendo en cuenta que primero se debe comprobar si la ecuacin es verdaderamente de
segundo grado, o sea, la variable a debe ser distinta de cero.