Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Software
Índice
• Introducción.
• Programas e instrucciones.
• Tipos y estructuras de datos.
• Algoritmos.
• Proceso de creación de un programa.
• Desarrollo de aplicaciones en un lenguaje de
programación concreto: Java.
Traductores
HW
Editores
Sw de Aplicación
Curso 2011/2012 Javier Carmona Murillo
Programas e instrucciones
• Instrucción: Conjunto de símbolos que representa una
orden de operación o tratamiento para el ordenador.
Las operaciones suelen realizarse con datos.
• Programa: Conjunto ordenado de instrucciones que se
dan al computador indicándole las operaciones o
tareas que se desea que realice.
• Las instrucciones se forman con elementos o símbolos
tomados de un determinado repertorio y se
construyen siguiendo unas reglas precisas.
• Todo lo relativo a los símbolos y reglas para construir o
redactar con ellos un programa se denomina
lenguaje de programación.
Realiza un programa (sin seguir reglas estrictas) que sume la edad de tus
compañeros de fila
Curso 2011/2012 Javier Carmona Murillo
Programas e instrucciones
s
-25
0,4
a verdadero
75
p
n
-578,3
falso
-567 89
a b a ^ b (a y b) a v b (a ó b)
Falso Falso
Falso Verdadero
Verdadero Falso
Verdadero Verdadero
Curso 2011/2012 Javier Carmona Murillo
Algoritmos.
Algoritmos.
Forma 1:
Si el número se puede obtener sumando doses, es par. Si para construirlo
hay que sumar a uno cualquier secuencia de doses es impar.
NO ES UN ALGORITMO
Algoritmos.
Forma 2:
1. Leer N
2. Si N = 2 entonces Escribe «es par»
3. Si N = 1 entonces Escribe «es impar»
4. N = N – 2
5. Si N > 0 ir a 2
6. Fin
SÍ ES UN ALGORITMO
Algoritmos.
Forma 3:
El problema planteado se puede resolver de forma más simple,
observando que los números pares son iguales al doble de la parte
entera de su mitad.
1. Leer N
2. M = 2 * int(N / 2) (*int es la función parte entera*)
3. Si M = N entonces Escribe «es par»
4. Si_no Escribe «es impar»
SÍ ES UN ALGORITMO
Algoritmos.
Pseudocódigo
• El objetivo es la descripción de algoritmos mediante secuencias de
instrucciones, pero en ningún caso escribir un programa para que
sea ejecutado por un ordenador.
• Ventajas:
• Compacto.
• Fácil de escribir.
• Fácil de transcribir a un lenguaje de programación.
Leer N
Mientras N > 2 Repetir N = N – 2
Si N = 2 Entonces Escribe «es par»
Si no Escribe «es impar»
Fin
Organigramas
• Son herramientas gráficas para representar algoritmos. Están
compuestos por una serie de símbolos unidos por flechas.
• Los símbolos representan acciones, y las flechas el orden de
realización de las acciones.
• Cada símbolo, tendrá al menos una flecha que conduzca a él y otra
que parta de él.
• Cada símbolo usado representa una acción distinta.
• Hay símbolos específicos para representar las siguientes acciones:
• Asignación.
• Lectura/escritura.
• Llamada a subrutina.
• Ciclo
• Decisión.
• Comienzo y fin.
Curso 2011/2012 Javier Carmona Murillo
Algoritmos.
Ejemplo de organigrama:
No Sí
N=2
Escribe
No Sí
N=1 «Par»
N=N-2 Escribe
«Impar»
X=X+4 No Sí Leer x
I=K+1
ASIGNACIONES (Acción)
• Una asignación consiste en la evaluación de una expresión y en el
almacenamiento de su valor en una variable. Se ejecutan siempre
secuencialmente. Siempre implica una transferencia (movimiento)
de datos en memoria. A veces, pueden incluir operaciones
aritméticas, lógicas.
ENTRADAS/SALIDAS (Acción)
• Estas operaciones se utilizan para que el algoritmo intercambie
información con un medio externo.
• Operación entrada o lectura: El algoritmo asigna a una
variable un valor almacenado en una memoria auxiliar o
generado por un periférico.
• Operación salida o escritura: El algoritmo transfiere a un
dispositivo o memoria auxiliar, o a un periférico, el valor de
una variable.
• Se ejecutan secuencialmente.
Ejercicios de pseudocódigo.
Ejercicio 1: Imprimir los números del 100 al 0.
c = 100
Mientras c <= 0 Repetir
Escribir c
c=c–1
FinMientras
c =2
Mientras c <= 100 Repetir
Escribir c
c=c+2
FinMientras
c=1
suma = 0
Mientras c<= 100 Repetir
suma = suma + c
c=c+1
FinMientras
Escribir «La suma de los 100 primeros números es: », suma
i=1
n=0
Escribir «Introduce un número: »
Leer n
Mientras i<n Repetir
i=i+1
Escribir i
FinMientras
num = 0
Escribir «Introduce un número: »
Leer num
Si num >=0 Entonces
Escribir «Es positivo»
Si No
Escribir «Es negativo»
i=1
SumaPar = 0
SumaImpar = 0
Mientras i<=100 Repetir
Si i = int(i/2)*2 Entonces
SumaPar = SumaPar + i
Si No
SumaImpar = SumaImpar + i
FinSi
i=i+1
FinMientras
Escribir «La suma de los pares es: », SumaPar
Escribir «La suma de los impares es: », SumaImpar
DISEÑO DESCENDENTE
• Es una técnica natural de desarrollo de algoritmos.
• Consiste en descomponer el problema en otros más simples.
• Estos problemas simples se vuelven a descomponer hasta llegar a
problemas suficientemente pequeños como para ser resueltos
directamente.
PROGRAMA: NUMERO_PAR_IMPAR
INICIO
Variables
N, M: Números enteros
Algoritmo
Escribir «Introducir un número: «
Leer N
M = 2 * int(N / 2)
Si M = N entonces Escribe «es par»
Si_no Escribe «es impar»
FIN
PROGRAMA: Imprimir_Números
INICIO
Variables
c: Número entero
Algoritmo
c = 100
Mientras c <= 0 Repetir
Escribir c
c=c–1
FinMientras
FIN
PROGRAMA: IMPRIMIR_NUMEROS_PARES
INICIO
Variables
c: Número entero
Algoritmo
c=0
Mientras c <= 100 Repetir
Escribir c
c=c+2
FinMientras
FIN
PROGRAMA: PORCENTAJE_DESCONTADO
INICIO
Variables
tarifa, precio: Números enteros
Algoritmo
Escribir «Introducir la tarifa: «
Leer tarifa
Escribir «Introducir el precio pagado: «
Leer precio
dto = tarifa - precio
Porcentaje_dto = dto * 100 / tarifa
Escribir porcentaje_dto
FIN
PROGRAMA: OPERACIONES_ARITMETICAS
INICIO
Variables
num1, num2: Números enteros
Algoritmo
Escribir «Introduce número 1: «
Leer num1
Escribir «Introduce número 2: «
Leer num2
Escribir “n1 + n2 = “, num1+num2
Escribir “n1 - n2 = “, num1-num2
Escribir “n1 * n2 = “, num1*num2
Escribir “n1 / n2 = “, num1/num2
FIN
PROGRAMA: SUMAR_100_NUMEROS
INICIO
Variables
c, suma: Números enteros
Algoritmo
c=1
suma = 0
Mientras c<= 100 Repetir
suma = suma + c
c=c+1
FinMientras
Escribir «La suma de los 100 primeros números es: », suma
FIN
PROGRAMA: NUMEROS_NATURALES
INICIO
Variables
i, n: Números enteros
Algoritmo
i=1
n=0
Escribir «Introduce un número: »
Leer n
Mientras i<n Repetir
i=i+1
Escribir i
FinMientras
FIN
PROGRAMA: POSITIVO_NEGATIVO
INICIO
Variables
num: Número entero
Algoritmo
num = 0
Escribir «Introduce un número: »
Leer num
Si num >=0 Entonces
Escribir «Es positivo»
Si No
Escribir «Es negativo»
FIN
Ejercicio 10: Suponiendo que una paella se puede cocinar exclusivamente con
arroz y gambas, y que para cada cuatro personas se utiliza medio kilo de arroz y
un cuarto de kilo de gambas, escribir un algoritmo que pida por pantalla el
número de comensales para la paella, el precio por kilo de los ingredientes y
1 muestre las cantidades de los ingredientes necesarios y el coste de la misma.
PROGRAMA: PAELLA
INICIO
Variables
comensales: Número entero
precio_arroz, precio_gambas, cant_arroz, cant_gambas: Números reales
coste_arroz, coste_gambas : Números reales
Algoritmo
Escribir «Introducir el número de comensales: «
Leer comensales
Escribir «Introducir el precio del kilo de arroz: «
Leer precio_arroz
Escribir «Introducir el precio del kilo de gambas: «
Leer precio_gambas
cant_arroz = comensales * 0.5/4
cant_gambas = comensales * 0.25/4
coste_arroz = cant_arroz * precio_arroz
coste_gambas = cant_gambas * precio_gambas
coste_total = coste_arroz + coste_gambas
Escribir «La cantidad de arroz necesaria es: «, cant_arroz
Escribir «La cantidad de gambas necesaria es: «, cant_gambas
Escribir «El coste del arroz es: «, coste_arroz
Escribir «El coste de las gambas es: «, coste_gambas
Escribir «El coste total de la paella es: «, coste_total
FIN
Curso 2011/2012 Javier Carmona Murillo