Documentos de Académico
Documentos de Profesional
Documentos de Cultura
q 2: Programación
g
Programación modular
Módulos: Programa principal y Submódulos
Raíz
Módulo 1
1.1
1 Módulo 2
2.1
1 Módulo 2
2.2
2
Módulo 2
2.2.1
21 Módulo 2
2.2.2
22
1 Conceptos generales de algorítmica
1.
Programación estructurada
Recursos abstractos
Diseño descendente
Estructuras de control
Secuencial
Alternativa
Repetitiva
1 Conceptos generales de algorítmica
1.
Acción 1
Acción 2
Acción 3
…
Acción N
1 Conceptos generales de algorítmica
1.
Acción 1
Acción 2
Acción 3
Acción N
1 Conceptos generales de algorítmica
1.
P
Pseudocódigo
d ódi Di
Diagrama d
de Fl
Flujo
j
F V
si condición entonces Condición
Acción
finsi Acción
1 Conceptos generales de algorítmica
1.
P
Pseudocódigo
d ódi Di
Diagrama d
de Fl
Flujo
j
V F
si condición entonces Condición
Acción 1
sino
Acción 1 Acción 2
Acción 2
finsi
1 Conceptos generales de algorítmica
1.
P
Pseudocódigo
d ódi Di
Diagrama d
de Fl
Flujo
j
F V
mientras condición hacer Condición
A ió
Acción
finmientras Acción
1 Conceptos generales de algorítmica
1.
Algoritmo Nombre
variables reales a, a b
leer(a, b)
si a < 0 entonces
escribir (‘Error’)
sino
c Åa*b
escribir (c)
( )
finsi
finalgoritmo
1 Conceptos generales de algorítmica
1.
P
Proceso Inicio/Fin
Proceso
Condición definido
Línea de
Entrada/Salida
fl j
flujo
1 Conceptos generales de algorítmica
1.
Leer
a,b
V a< F
0
CÅa*b
Escribir
‘Error’
Escribir c
Fin
1 Conceptos generales de algorítmica
1.
Definición Algoritmo:
Conjunto ordenado y finito de operaciones que permite
hallar la solución de un problema (RAE)
Descripción general y no-ambigua de los pasos que
deben realizarse p para resolver un p
problema de una
clase en un tiempo finito
Origen:
Mohammed al-Khowârizmî
Matemático Persa
Siglo IX
1 Conceptos generales de algorítmica
1.
Ejemplos de algoritmos:
1. Algoritmo para lavar la ropa blanca
Algoritmo LavarRopaBlanca
Separar ropa blanca
Meter ropa en la lavadora
Est.
Colocar el detergente en la cubeta
Secuencial
Seleccionar programa de lavado
Encender la lavadora
finalgoritmo
1 Conceptos generales de algorítmica
1.
Ejemplos de algoritmos:
2. Algoritmo para decidir si coger el paraguas
Algoritmo
g CogerParaguas
g g
Observar el tiempo
Est. si está lloviendo o muy nublado entonces
Secuen
Secuen. Est.
Est Coger Paraguas
Altern.
finsi
finalgoritmo
1 Conceptos generales de algorítmica
1.
Ejemplos de algoritmos:
3. Algoritmo para clasificar libros
Algoritmo ClasificarLibros
mientras queden libros hacer
Coger el primer libro
Est.
Est Rellenar ficha papel
Est.
Est
Repetit. Pegar ficha al libro
Secuen.
Rellenar ficha de ordenador
C l
Colocar ell lib
libro en pila
il clasificados
l ifi d
finmientras
finalgoritmo
2 Estructura general de un programa
2.
Elementos de un lenguaje:
Palabras reservadas: si – entonces,
Algoritmo – finalgoritmo, mientras
Identificadores
Caracteres especiales: ‘=‘, ‘;’, ‘{‘
Constantes
Variables
Expresiones: a = b * 5 - c
3 Datos y tipos de datos
3.
DDatos
t simples
i l y estructurados
t t d
Tipos de datos:
Numéricos
Lógicos
Carácter
Datos numéricos:
Enteros: -10, 6, 291
Reales: 1.5, -0.63, 54.4E-10
3 Datos y tipos de datos
3.
Datos lógicos:
Booleano
Verdadero / Falso
Datos de tipo carácter
Carácter: ‘a’, …‘z’, ‘A’, …’Z’, ‘0’, …’9’,’+’,’-’,’*’
Ristra o cadena: ‘Ejemplo
Ejemplo de ristra
ristra.’
4 Constantes y variables
4.
Constantes: valores que no cambian
Numéricas: 1.234, -10, 8
Carácter:
C á t ‘B’ ‘B’, ‘ñ’
‘ñ’, ‘4’
Ristra: ‘Mesa’
Lógicas: verdadero
verdadero, falso
Variable: datos cuyo valor puede cambiar
Posee un nombre y un tipo
Enteras, reales, carácter, lógicas, ristras
Ejemplos: A124
A124, kk, Nombre
5 Expresiones
5.
Combinaciones de constantes, variables,
operaciones, funciones y paréntesis
Tipos de expresiones:
Aritméticas: +,, -,, *,, /,, div,, mod,, ^
(4 + A) * 7 / B
Lógicas: no, y, o, =,, <,, >,, <=,, >=,, ≠
no (A > B) o (B ≠ 10)
Funciones: raíz_cuadrada,
raíz cuadrada cos,
cos sen
5 Expresiones
5.
Operación de asignación: Å
Ejemplos
Leer (idFichero,
(idFichero aa, b
b, c) {Lectura de fichero}
6 Entrada y salida de información
6.
Ejemplos
Algoritmo AreaRectangulo
{Algoritmo para calcular el área del rectángulo}
variables reales base, altura, A
leer(base,altura)
si base < 0 o altura < 0 entonces
escribir(‘Error:
escribir( Error: base o altura < 0’)
0)
sino
A Å base * altura
escribir(‘Area = ‘, A)
finsi
finalgoritmo
Problemas
Algoritmo para calcular el área de un círculo
r
A = π ⋅r2
h V = π ⋅r ⋅h
2
Problemas
Algoritmo para calcular la siguiente función
4 x − 3xy + 2 y
2 2
5( x 2 + y 2 )
Resumen
Fases del desarrollo (Análisis, diseño,…)
Programación
g modular
Programación estructurada
Pseudocódigo
Diagramas de flujo
Estructuras de control
Tipos de datos
Resumen
Constantes y variables
Expresiones
p
Entrada y salida de información
Escritura de algoritmos
Tema 6: Estructuras de control
1. Estructura secuencial
2. Estructuras de control condicional
3. Estructuras de control repetitiva
4 Anidamiento de estructuras
4.
Introducción
Flujo de control: Orden en que se ejecutan
las sentencias de un programa
Estructuras de control
Secuencial
Alternativa
Repetitiva
Cualquier algoritmo se puede realizar con
estas estructuras
1 Estructura secuencial
1.
Acción 1; Acción 2; Acción 3; …; Acción N
Acción 1
A ió 2
Acción
Acción 3
…
Acción N
1 Estructura secuencial
1.
Diagrama de Flujo
Acción 1
Acción 2
Acción 3
Acción N
1 Estructura secuencial
1.
F V
si condición entonces Condición
Acción
finsi Acción
2 Estructuras de control condicional
2.
V F
si condición entonces Condición
Acción 1
sino
Acción 1 Acción 2
Acción 2
finsi
2 Estructuras de control condicional
2.
g expresión
según p hacer
caso 1: Acción 1
caso 2: Acción 2
…
caso N: Acción N
en otro caso: Acción defecto
finsegún
2 Estructuras de control condicional
2.
1 Otro caso
Condición
2 N
P
Pseudocódigo
d ódi Di
Diagrama d
de Fl
Flujo
j
Acción
hacer
Acción
mientras
i t condición
di ió Condición
V
F
3 Estructuras de control repetitiva
3.
Estructura repetir – hastaque
Acción
repetir
Acción
q condición
hastque Condición
F
V
3 Estructuras de control repetitiva
3.
Estructura para – hacer
Pseudocódigo
Var ≤ F
ValorFinal
V
Acción
Var Å Var + P
3 Estructuras de control repetitiva
3.
Relación entre el mientras y el para
…
… iÅ1
para i Å 1 hasta N hacer mientras i ≤ N hacer
Acción Acción
Finpara iÅi+1
… finmientras
…
3 Estructuras de control repetitiva
3.
Ejemplo: Calcular la siguiente sumatoria
100
∑ (2i − 1) = 1 + 3 + 5 + ...199
i =1
Algoritmo SumaImpares
variables enteras i, suma
suma Å 0
para i Å 1 hasta 100 hacer
suma Å suma + 2 * i -1
finpara
escribir (‘Suma= ‘, suma)
finalgoritmo
4 Anidamiento de estructuras
4.
…
si condición1 entonces
acción1
para i Å 1 hasta n hacer
acción2
sii condición2
di ió 2 entonces
t
acción3
finsi
finpara
sino
acción4
finsi
…
Problemas
Algoritmo para multiplicar dos números
enteros a través de sumas
Algoritmo para dividir dos números enteros
por medio de restas
Potencia de un número a través de
multiplicaciones
Factorial de un número
Problemas
Exponencial de un número
20 i
x
e =∑
x
i =0 i!
Programación modular
Módulos: Programa principal y Submódulos
Raíz
Módulo 1
1.1
1 Módulo 2
2.1
1 Módulo 2
2.2
2
Módulo 2
2.2.1
21 Módulo 2
2.2.2
22
2 Funciones
2.
Declaración
D l ió dde ffunciones
i
procedimiento Menu()
escribir(‘1.
ibi (‘1 SSuma’) ’)
escribir(‘2. Resta’)
escribir(‘3.
ibi (‘3 MMultiplicac.’)
lti li ’)
escribir(‘4. División’)
escribir(‘5.
ibi (‘5 Mód
Módulo’)
l ’)
escribir(‘6. Salir’)
fi
finprocedimiento
di i t
3 Procedimientos
3.
Tipos de parámetros
De entrada (E)
De salida (S)
De entrada/salida (E/S)
5 Paso de parámetros
5.
Parámetros formales y actuales
Algoritmo Nombre2
… Parámetros actuales
Nombre1(a, b)
finalgoritmo
g
5 Paso de parámetros
5.
Paso de parámetros por valor
Algoritmo Nombre2
… 8.5 9.3
Nombre1(a, b)
finalgoritmo
5 Paso de parámetros
5.
Paso de parámetros por referencia
Algoritmo
Al i N b 2
Nombre2
…
N b 1( b)
Nombre1(a,
finalgoritmo
85 9
8.5 9.3
3
Problemas
Función para calcular el mínimo de dos
números. Algoritmo que calcule el mínimo de
N números
Procedimiento para intercambiar dos
números
Función para decidir si un número es primo.
Algoritmo que muestre los primos menores
que 1000
Resumen
Diseño descendente
Programación
g modular
Funciones
Procedimientos
Ámbito de las variables
Paso de parámetros
Tema 8: Conjuntos dimensionados
1. Introducción a los conjuntos dimensionados
2. Conjuntos
j unidimensionados: Los vectores
3. Operaciones con vectores
4 Conjuntos multidimensionales: Las matrices
4.
1. Introducción a los conjuntos
dimensionados
Permiten manejar gran cantidad de datos
Utilizan un mismo identificador
Evitan utilizar muchas variables
Tipos de conjuntos:
Vectores (1 dimensión)
M ti
Matrices (2 di
dimensiones)
i )
Multidimensionales (3 ó más dimensiones)
Son conjuntos finitos y ordenados de
elementos homogéneos
2. Conjuntos unidimensionados: Los
vectores
V(1) V(2) V(3) … V(N)
V 5 1
-3 2
-1 3 Memoria
14 4
… ...
23 N
2. Conjuntos unidimensionados: Los
vectores
Declaración
( )
variables reales V(100)
variables enteras U(100)
variables lógicas W(100)
Acceso
V(2) Å 5.8
V(3) Å V(2) – V(1)
3 Operaciones con vectores
3.
Lectura de vectores
leer(V(1))
( ( )) para i Å 1 hasta 100 hacer
leer(V(31)) leer(V(i))
i Å 55 finpara
leer(V(i))
3 Operaciones con vectores
3.
Escritura de vectores
escribir(V(1))
( ( )) para i Å 1 hasta 100 hacer
escribir(V(31)) escribir (V(i))
i Å 55 finpara
escribir(V(i))
3 Operaciones con vectores
3.
Ejemplo:
Algoritmo SumaVectores
Suma de dos
variables enteras v(100), u(100)
vectores variables enteras w(100), i
para i Å 1 hasta 100 hacer
leer(v(i),
( ( ), u(i))
( ))
finpara
para i Å 1 hasta 100 hacer
w(i) Å v(i) + u(i)
finpara
para i Å 1 hasta 100 hacer
escribir(w(i))
finpara
finalgoritmo
Problemas
Encontrar el máximo y el mínimo en un vector
Producto escalar de dos vectores
Calcular la media de un vector
Invertir las posiciones de un vector
Contar el número de elementos negativos y
positivos en un vector
Problemas
Contar el número de veces que aparece un
número en un vector
Determinar la posición del máximo dentro de
un vector
Calcular los 100 primeros números de
Fibonacci
Desplazar los elementos de un vector una
posición a la izquierda
4. Conjuntos multidimensionales: Las
matrices
Columnas
M(1 1)
M(1,1) M(1 2)
M(1,2) M(1 3)
M(1,3) M(1 4)
M(1,4) … M(1 n)
M(1,n)
… … … … … …
M(n 1)
M(n,1) M(n 2)
M(n,2) M(n 3)
M(n,3) M(n 4)
M(n,4) … M(n n)
M(n,n)
4. Conjuntos multidimensionales: Las
matrices
Declaración
( )
variables reales M(100,100)
variables enteras H(100,100)
variables lógicas G(100,100)
G(100 100)
Acceso
M(1,2) Å -25.1
M(3,5) Å M(1,2) / M(2,1)
4. Conjuntos multidimensionales: Las
matrices
Lectura de matrices
Algoritmo
Al it S
SumaMatrices
M ti
variables enteras M(100,100), H(100), i, j, n, m
l (
leer(n,m))
si n>0 y n ≤ 100 y m > 0 y m ≤ 100 entonces
para i Å 1 hasta
h t n hacer
h
para j Å 1 hasta m hacer
leer(M(i j))
leer(M(i,j))
finpara
finpara
4. Conjuntos multidimensionales: Las
matrices
sino
escribir(‘Error:
ibi (‘E di
dimensiones
i ffuera d
de lí
límite’)
it ’)
finsi
finalgoritmo
Problemas
Encontrar el máximo y el mínimo de una
matriz
Trasponer una matriz
Calcular la media de una matriz
Contar el número de elementos negativos,
positivos e iguales a cero de una matriz
Cambiar los ceros de una matriz por -1
Producto de una matriz por un vector
Intercambiar dos filas de una matriz
Resumen
Conjuntos dimensionados
Declaración de vectores
Operaciones con vectores
Declaración de matrices
Operaciones con matrices