Está en la página 1de 76

UD1: Introducción a la

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.

Entrada Programa Salida

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

Ejemplo. Determinar si un número no está entre 1 y 100


n < 1 || n > 100
Ejemplo. Determinar si un número está entre 1 y 100
n >= 1 && n <= 100
20
Operadores lógicos


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

Mientras Hacer … Para


(While) Mientras (For)
(Do While)

42
Ejemplo estructuras repetitivas


Programa que muestra los números del 1 al 10

Ejercicio: Realiza la solución de este ejemplo con un bucle hacer-mientras


43
Ejemplo


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

Mientras mientras ( <expresión_lógica> )


(While)
<bloque_de_instrucciones>
fin_mientras

   contador ← 1   /* Inicialización del contador */


   mientras ( contador <= 10 )     /* Condición */
      escribir( contador )         /* Salida */
      contador ← contador + 1      /* Incremento */
   fin_mientras

54
Bucles

Hacer …
Mientras hacer
(Do While) <bloque_de_instrucciones>
mientras ( <expresión_lógica> )

contador ← 1 /* Inicialización del contador */


hacer
escribir( contador ) /* Salida */
contador ← contador + 1 /* Incremento */
mientras ( contador <= 10 ) /* Condición */

55
Bucles

Para para <var> ← <valor_ini> hasta <valor_fin>


(For)
[ incremento <valor_incremento> ]
hacer
<bloque_de_instrucciones>
fin_para

para contador ← 1 hasta 10 incremento 1


hacer
escribir( contador )
fin_para

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

También podría gustarte