Curso de Introducción a la Programación de Ordenadores para alumnos de primer curso sin conocimientos previos de programación
Centro:
Escuela Politécnica Superior de Algeciras
Docente:
Isidro Lloret Galiana (
[email protected])
Área (Dpto.):
Lenguajes y Sistemas Informáticos (Ingeniería Informática)
Asignatura de primer curso Fundamentos de Informática a la que se vincula:
Breve resumen del curso
La finalidad del curso es dotar al alumno de unos conocimientos mínimos en programación de ordenadores que le permitan seguir con éxito la asignatura “Fundamentos de Informática” de los diferentes títulos impartidos en la EPS de Algeciras. En las clases se utilizará la herramienta PSeInt, de ayuda a la escritura y prueba de los programas realizados, así como para la explicación de los conceptos tratados. Contenidos del curso: 1. 2. 3. 4. 5. 6.
Conceptos básicos de programación Introducción a PSeInt Operadores y funciones matemáticas para números Operadores relacionales y operadores lógicos Estructura de control selectiva Estructura de control repetitiva
Evaluación: Se realizará un examen final de programación que servirá para calificar el c urso, en el que el alumno tendrá que diseñar uno o varios algoritmos que resuelvan los problemas planteados. Se podrán realizar otro tipo de pruebas que servirán exclusivamente como diagnóstico del proceso de enseñanza-aprendizaje, y por tanto, no se tendrán en cuenta en la calificación final del curso.
Control de conocimientos iniciales Nombre:
Apellidos:
Email:
Titulación:
¿Qué es un algoritmo?
¿Qué es un programa?
¿Qué es una instrucción de asignación?
¿Qué es un operador relacional?
¿Qué es una expresión lógica?
¿Qué es una estructura de control?
Escribe un programa que utilice una estructura de control selectiva y otra repetitiva. Explica qué función realiza el programa.
1. Conceptos básicos de programación Algoritmo Es una secuencia de acciones que sirven resolver un problema. Por ejemplo
Algoritmo para cocinar un determinado plato de cocina. Algoritmo para resolver un sistema de dos ecuaciones lineales con dos incógnitas.
Programa informático Es la representación (codificación) de un algoritmo en un lenguaje de programación de ordenadores. En el contexto del diseño de un algoritmo, como siempre lo vamos a representar mediante un programa, ambos términos serán sinónimos. También utilizaremos el término proceso con el
mismo significado, ya que se puede ver la ejecución de un algoritmo como una sucesión de estados desde el comienzo hasta el fin f in (algoritmo=programa=proceso). Para referirnos a la representación escrita del programa se suele utilizar el término código. Como usuarios de los ordenadores, los programas nos hacen la vida más fácil ya que permiten sacarles partido. Ejemplos de programas muy conocidos: Word, WhatsApp, AutoCAD, Chrome, etc... A este tipo de programas se les llama también aplicaciones (en ordenadores personales) o APP (en pequeños dispositivos).
Tipos de instrucciones de un lenguaje de programación Los ordenadores son capaces de ejecutar tres tipos de instrucciones:
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.
Asignación. Se realizan las operaciones descritas mediante una expresión, y el resultado se almacena (asigna) en una variable. A continuación de muestro un ejemplo de programa muy sencillo que resuelve el problema del cálculo del área de un triángulo:
Declaración de variables: todas de tipo número
Instrucción de asignación: la expresión a evaluar contiene 2 operadores, 2 variables y una constante
En azul: palabras reservadas del lenguaje de programación. En negro: las variables y los operadores. El nombre de las variables debe comenzar por una letra, y puede contener letras, números y guion bajo (_). En rojo: las constantes de tipo cadena de caracteres. En marrón: las constantes de tipo número.
Herramientas para la programación Editor de texto Es un programa que permite escribir los los programas y almacenarlos almacenarlos en disco como archivos de texto sin formato. Se almacenan solo los caracteres que lo componen.
Traductor Debemos entender que un programa como el anterior no puede ser directamente ejecutable en un ordenador (máquina electrónica); primero debemos transformarlo en símbolos 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.
Código fuente Escrito en un lenguaje de alto nivel
Traductor
Código máquina = Código ejecutable Escrito en un lenguaje binario de bajo nivel
2. Introducción a PSeInt Para la escritura y prueba de programas utilizaremos la aplicación PSeInt (acrónimo de las palabras pseudolenguaje e interprete). Este software dispone de un editor de textos para escribir y guardar programas en el lenguaje de programación de PSeInt, llamado pseudolenguaje; y de un tipo de traductor, llamado intérprete, que permite traducir y probar
los programas en el ordenador en su versión ejecutable. Escribir y ejecutar programas es posible desde la ventana de la aplicación. Por este motivo, decimos que PSeInt es un entorno de desarrollo integrado (IDE , integrated development ). environment ). Gracias a la sencillez del lenguaje de programación de PSeInt, es posible centrar la atención en los conceptos fundamentales de la programación.
Instalación de PSeInt El enlace para la descarga es http://pseint.sourceforge.net/
La instalación es muy sencilla.
Una vez finalizada la instalación, cuando se ejecute por primera vez el IDE, se nos pedirá seleccionar un perfil, entonces deberemos elegir la opción “Flexible”.
Utilización de PSeInt El manejo de PSeInt es muy sencillo (con numerosas ayudas y recursos didácticos) 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 programación utilizado.
3. Operadores y funciones matemáticas para números
Operadores aritméticos Operador
Significado
Ejemplo
+
Suma
suma <- a + b
–
Resta
dif <- cant1 – cant2
*
Multiplicación
areaRect <- base * altura
/
División
media <- total/contador
^
Potencia
cY <- cX^2
%
Resto de la división entera
resto <- a%b
Opuesto
-x
–
(unario)
Funciones matemáticas Función
Significado
raiz(x)
Raíz cuadrada de x
abs(x)
Valor absoluto de x
ln(x)
Logaritmo natural de x
exp(x)
Función exponencial de x
sen(x)
Seno de x
cos(x)
Coseno de x
tan(x)
Tangente de x
asen(x)
Arcoseno de x
acos(x)
Arcocoseno de x
atan(x)
Arcotangente de x
trunc(x)
Parte entera de x
redon(x)
Entero más cercano a x
azar(x)
Entero aleatorio en el rango [0, x-1]
aleatorio(a, b)
Entero aleatorio en el rango [a, b]
4. Operadores relacionales y operadores lógicos Operadores relacionales Se utilizan para comparar números, dando como resultado un dato de tipo lógico, con valor verdadero o falso. Las expresiones cuyo resultado sea de tipo lógico se llaman condiciones.
Operador
Significado
Ejemplo (y resultado)
>
Mayor
1>2 (falso)
>=
Mayor o igual
2>=2 (verdadero)
<
Menor
1<2 (verdadero)
<=
Menor o igual
a<=b (depende)
=
Igual
a=b (depende)
<>
Distinto
2<>b (depende)
Operadores lógicos Operador
Significado
Ejemplo (y resultado)
Y
Conjunción (y)
cX=0 Y cY=0 (verdadero si el punto está en el origen)
O
Disyunción (o)
cX=0 O cY=0 (verdadero si el punto está en los ejes u origen)
NO
Negación (no)
NO (cX=0 O cY=0) (verdadero si el punto está en los cuadrantes)
Jerarquía (precedencia) de operadores Operador
Precedencia
()
+
-(unario) ^ *, /, % +, <, <=, >, >= =, <> NO Y O
-
5. Estructura de control selectiva A veces es necesario alterar la ejecución secuencial de las instrucciones de un programa. Para ello se utiliza un tipo especial de instrucción llamada estructura de control o o instrucción de control.
La estructura de control selectiva (o condicional)
si..sino..finsi evalúa
una condición, si
esta es verdadera se ejecutan unas instrucciones, y si no lo es, se ejecutan otras. Veamos un programa ejemplo que es capaz averiguar si una ecuación de segundo grado tiene solución real o no, mostrando la solución o un mensaje indicativo.
Para comprender mejor la forma cómo se ejecutan las instrucciones, PSeInt ofrece la posibilidad de mostrar un diagrama del flujo de ejecución 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, además es necesario que solo se ejecute una de las dos ramas, y para ello las dos condiciones deberán ser también excluyentes. Y su correspondiente diagrama de flujo:
También se puede anidar una estructura selectiva dentro de otra. Usaremos el mismo ejemplo, pero teniendo en cuenta que primero se debe comprobar si la ecuación es verdaderamente de segundo grado, o sea, la variable a debe ser distinta de cero.
Y su correspondiente diagrama de flujo: