UD1: Introducción A La Programación
UD1: Introducción A La Programación
UD1: Introducción A La Programación
programación
Introducción a la programación
●
Programar
– Dar instrucciones de qué tiene que hacer el
ordenador
●
Programa
– Secuencia de instrucciones entendidas por el
ordenador para resolver un problema.
2
Algoritmo
●
Un algoritmo es una lista bien
definida, ordenada y finita de
operaciones que permite hallar la
solución a un problema. Dado un
estado inicial y una entrada, a través
de pasos sucesivos y bien definidos se
llega a un estado final obteniendo una
solución
3
Características
●
Eficiente
– Usar de forma óptima los recursos del ordenador
●
Determinista
– Misma entrada produce misma salida
●
Finito
– Debe acabar en algún momento
●
Preciso
– Cada paso debe tener un orden y ser
especificado de manera no ambigua
4
Elementos de un algoritmo
●
Datos
– Numéricos (enteros, reales), caracteres, booleanos
– Estructuras de datos.
●
Expresiones
– Compuestas por la unión de varios operandos por operadores que
realizan una acción sobre ellos
●
Variables
– Zonas de memoria a la que se le asigna un nombre para poder
referenciarlo
●
Operadores
– Se aplican a uno o varios operandos realizando algún tipo de
operación
●
Instrucciones
5
Clasificación de los lenguajes de
programación
●
Lenguajes de bajo nivel
– Lenguaje máquina
●
Legible directamente por un ordenador
●
0–1
– Lenguaje ensamblador
●
Basado en el uso de nemotécnicos
●
Lenguajes de alto nivel
– Se encuentran más cercanos al programador
– Son independientes de de la arquitectura del
ordenador
– Necesitan ser traducidos
6
Proceso de traducción
7
Fases de elaboración de un
programa
8
Fases de elaboración de un
programa
●
Análisis
– Se establece el producto a desarrollar
●
Diseño
– Desarrollo de la solución
●
Codificación
– Implementación del algoritmo en un lenguaje de
programación
●
Pruebas y depuración
– Comprobación de que el programa es correcto
●
Mantenimiento
9
Formas de plasmar un algoritmo
●
Lenguaje natural
●
Diagramas de flujo
●
Pseudocódigo
●
En algún lenguaje de programación
10
Diagramas de flujo
●
Representaciones gráficas que
muestran la secuencia lógica y
detallada de las operaciones que se
van a realizar en un programa
●
Deben reflejar
– Un inicio
– Secuencia de operaciones (detallada y en
orden)
– Un fin
11
Símbolos usados
https://www.youtube.com/watch?v=HwFPiwWC004
12
Ejemplo
13
Ejemplo
14
Instrucciones primitivas
●
Instrucciones de ●
Instrucciones de
entrada asignación
Leer Variable
Variable = Expresion
●
Instrucciones de
salida
Escribir Exp
Variable ← Expresion
15
Variables y tipos de datos
●
Variable
– Dato que se aloja en la memoria del ordenador
●
Nombre o identificador de variable
– Está asociado a la dirección de memoria
●
Tipos de datos
– Carácter o cadena de caracteres
●
“IES Zaidin-Vergeles”, ‘A’, “P10”, ...
– Entero
●
0, -3, 145, ...
– Real
●
-3.8, 0.55, ...
– Lógico
●
Verdadero o falso
16
Operadores y expresiones
●
Expresión
– Una expresión es una sentencia que se puede evaluar
dando como resultado un valor de un tipo de dato
determinado (Carácter, Entero, Real o Lógico)
●
Operador
– Los operadores permiten realizar una determinada
operación sobre valores, variables u otras expresiones
– Tipos
●
Operadores aritméticos
●
Operadores de comparación o relacionales
●
Operadores lógicos
17
Operadores aritméticos
OPERADO
NOMBRE EJEMPLO DESCRIPCIÓN
R
a+b+c Realiza la suma de los
+ Suma
3+4+edad operandos
b-c
- Resta Resta los operandos
numero-5
a*b
* Multiplicación Multiplica los operandos
3*4
Divide los operandos. Si son
a/b
/ División enteros el resultado es la
numero/10
división entera
Módulo o a%b Obtiene el resto de la división
% o mod
resto b%2 entera de los operandos
El operador % se emplea para saber si un número es divisible por otro.
Ejemplo: Un número es par si es divisible por 2: a % 2 == 0
Ejemplo: Un número es múltiplo de 5: a % 5 == 0
18
Operadores de comparación
●
Comparan los valores de la expresión
e indican si el resultado es verdadero
o falso
Ejemplos:
nota >= 5 5+8 < 3*4
edad < 18 nota+3 == 10
nombre == ”Jose” (3+4)*(5+6)+edad > 18
19
Operadores lógicos
●
Los operadores lógicos se emplean para
determinar la veracidad o falsedad de un
conjunto de expresiones de comparación
●
Los operadores lógicos se pueden utilizar
para formar expresiones más complejas
– Cada letra puede ser a su vez una expresión
– Ejemplo
●
A > B && C < D && E < F || G == H
Tabla de verdad
21
Precedencia de operadores
Operador Nota
() Paréntesis
* / % Multiplicativos
+ - Sumativos
< > <= >= Relacionales
== != Igualdad
&& And lógico
|| Or lógico
22
Ejercicios (I)
●
Evalúa las siguientes expresiones,
siendo a=1, b=2, c=3, d=4
– a+b–c+d
– a*b/c
– 1+a*b%c
– a+d%b–c
– d+c/b-a
23
Ejercicios (II)
●
Evalúa las siguientes expresiones,
siendo a=1, b=2, c=3
– a<c – (a + b) >= c
– b <= c – (a + b) == c
– c <= a – a != b
– a>b – (a+b) != c
– b >= c
24
Ejercicios (III)
●
Evalúa las siguientes expresiones,
siendo a=5, b=7, c=17
– c / b == 2
– c % b <= a % b
– b + c / a != c - a
– (b < c) && (c == 7)
– (c + 1 – b == 0) || (b == 5)
25
Ejercicios (IV)
●
Escribe las expresiones para cada una
de las fórmulas siguientes
26
Ejercicios (V)
●
Escribe las expresiones que representen
cada uno de los enunciados siguientes
– El promedio de tres calificaciones, c1, c2 y c3,
mayor que 0 y menor o igual a 10.
– El número n debe ser par y mayor que 10 o impar y
menor que 5.
– El doble de la edad de una persona debe ser mayor
que 100 y su nacionalidad debe ser española.
– El valor de la variable k debe ser igual a cero, igual
a 3 o el doble de la misma debe ser mayor que 9.
27
Ejercicios (VI)
●
Determina si los siguientes pares de expresiones
son equivalentes (para los mismos valores de
entrada deben dar el mismo resultado)
28
Instrucciones de control
●
Instrucciones alternativas
– Alternativa simple
– Alternativa doble o compuesta
– Alternativa múltiple
●
Instrucciones repetitivas
– Mientras
– Repetir-Mientras
– Para
29
Alternativa simple
●
Se evalúa si se cumple la condición, si es
cierta se ejecuta el bloque de instrucciones
sino se continúa por el flujo normal del
programa
30
Ejercicio. Condicional simple
●
Utilizando un condicional simple,
Diseña un algoritmo que calcule el
área de un triángulo dada la base y la
altura. Pero sólo realizará los cálculos
si los datos de entrada son válidos
31
Solución
32
Alternativa doble
●
Se evalúa si se cumple la condición, si es
cierta se ejecuta el bloque de instrucciones
1 sino se ejecuta el bloque de instrucciones
2, finalmente se continúa por el flujo
normal del programa
33
Ejemplo
34
Ejemplo
35
Ejercicio
●
Utilizando un condicional doble,
modifica el algoritmo que calcula el
área de un triángulo para que solo se
realicen operaciones si los datos de
entrada son válidos y en caso
contrario muestre un mensaje de
error al usuario
36
Solución
37
Alternativa múltiple
●
Se ejecuta la rama de instrucciones que
coincide con la evaluación de la expresión
38
Ejemplo
39
Ejercicios
●
Relación de ejercicios de
condicionales
40
Instrucciones repetitivas
●
Se utilizan para realizar un proceso repetidas
veces (repetir bloques de código)
●
Es necesario una condición de parada
– Sino se producirían bucles infinitos
●
Estructuras
– Mientras
●
Primero pregunta y después se ejecuta
– Hacer mientras
●
Primero se ejecuta y después pregunta
– Para
●
Bucle controlado por contador
41
Diagrama de flujo bucles
42
Ejemplo estructuras repetitivas
●
Programa que muestra los números del 1 al 10
●
Validar un dato de
entrada con un bucle
hacer-mientras
44
Ejemplo bucle mientras
45
Ejemplo bucle hacer … mientras
46
Ejemplo bucle para
47
Ejercicios
●
Relación ejercicios bucles
48
Pseudocódigo
algoritmo <nombre_del_algoritmo>
[ constantes <declaraciones_de_constantes> ]
[ variables <declaraciones_de_variables> ]
inicio
<bloque_de_instrucciones>
fin
49
Ejemplo
algoritmo area_de_circunferencia
constantes
PI = 3.141592
variables
real area, radio
inicio
escribir( "Introduzca radio: " )
leer( radio )
area ← PI * radio ** 2
escribir( "Resultado area: ", area )
fin
50
Alternativa doble
si ( <expresión_lógica> )
<bloque_de_instrucciones_1>
sino
<bloque_de_instrucciones_2>
fin_si
51
Alternativa múltiple
segun_sea ( <expresión> )
<lista_de_valores_1> : <bloque_de_instrucciones_1>
<lista_de_valores_2> : <bloque_de_instrucciones_2>
...
<lista_de_valores_n> : <bloque_de_instrucciones_n>
[ sino : <bloque_de_instrucciones_n+1> ]
fin_segun_sea
52
Ejemplo Alternativa múltiple
segun_sea ( dia )
1 : escribir( "Lunes" )
2 : escribir( "Martes" )
3 : escribir( "Miércoles" )
4 : escribir( "Jueves" )
5 : escribir( "Viernes" )
6 : escribir( "Sábado" )
7 : escribir( "Domingo" )
sino : escribir( "ERROR: Día incorrecto." )
fin_segun_sea
53
Bucles
54
Bucles
Hacer …
Mientras hacer
(Do While) <bloque_de_instrucciones>
mientras ( <expresión_lógica> )
55
Bucles
56
Introducción:
JAVA
57
Estructura de un programa en java
58
Variables
●
Una variable es un nombre que contiene
un valor que puede cambiar a lo largo del
programa
– Tipos primitivos
●
char, byte, short, int, long, float, double, boolean
– Nombres de variables
●
Cualquier conjunto de caracteres numéricos o
alfanuméricos
– Empezar por una letra
– No usar caracteres especiales (, . + - / etc)
●
Distingue mayúsculas y minúsculas
– Variable variable VariaBle variabLe …. Son nombres distintos
59
Tipos primitivos de variables
60
Palabras reservadas
●
Hay una serie de palabras que tienen un significado especial
y por tanto no se pueden usar como nombres de variables
61
Definición e inicialización de
variables
●
Definición
– Especificación de tipo y nombre de variable
●
tipo nombre
62
Constantes
●
Se le asignan un valor y no se puede cambiar
●
Se definen al principio de la clase con las
palabras reservadas static y final
63
Operadores
●
Operadores aritméticos
– Suma +
– Resta -
– División /
– Multiplicación *
– Resto de la división %
64
Operadores de asignación
●
Operador igual =
– Variable = expresion;
●
a = 3 * 7 + 14;
●
Otros operadores de asignación
65
Operadores relacionales
66
Operadores lógicos
67
Operadores incrementales ++ y --
●
El operador ++ incrementa en una
unidad la variable
●
El operador -- decrementa en una
unidad la variable
●
Se pueden colocar precediendo o
siguiendo a la variable
– v++ siguiendo a la variable (primero se usa y
luego se incrementa)
– ++v precediendo a la variable (primero se
incrementa y luego se usa)
68
Ejemplo
69
Operador condicional
●
Es un operador ternario
●
expresion_booleana ? valor1 : valor2
70
Operadores cadenas
●
Concatenar cadenas +
●
Obtención del carácter
– charAt(n)
●
Longitud de cadena
– Length
●
Comparación de cadenas
– Equals
●
Convertir tipos numéricos a cadenas
– Valueof
71
Ejemplos
72
Precedencia de operadores
73
Comentarios
●
Comentario de una línea
– //
●
Comentario de varias líneas
– /* …………. */
74
Clase Scanner
●
Leer datos de teclado
– import java.utils.Scanner;
●
Siempre que se lea una cadena después de un
número hay que limpiar el buffer de entrada
– nextLine() sin asignarlo a ninguna variable
75
76