Está en la página 1de 103

Bloque

q 2: Programación
g

Javier Sánchez Pérez


Fundamentos de Informática
Bloque 2.
2 Programación
„ Tema 5: Introducción y conceptos básicos
„ Tema 6: Estructuras de control
„ Tema 7: Programación modular
„ Tema 8: Conjuntos dimensionados
Tema 5: Introducción y conceptos
básicos
1. Conceptos generales de algorítmica
2. Estructura g
general de un pprograma
g
3. Datos y tipos de datos
4
4. Constantes y variables
5. Expresiones
6. Entrada y salida de información
7. Escritura de algoritmos
1 Conceptos generales de algorítmica
1.

„ Fases en la resolución de problemas:


„ Análisis
„ Diseño
„ Implementación
p
„ Compilación y ejecución
„ Depuración
„ Mantenimiento
1 Conceptos generales de algorítmica
1.
„ A
Análisis
áli i
„ Definir lo que debe hacer el programa
„ Establecer las entradas
„ Determinar las salidas
„ Estudiar distintas p
posibilidades y casos
„ Diseño
„ Especificar cómo se resuelve el problema
„ Diseño descendente (top-down)
„ Módulo – Programación Modular
„ Programación estructurada
1 Conceptos generales de algorítmica
1.

„ Programación modular
„ Módulos: Programa principal y Submódulos

Raíz

Módulo 1 Módulo 2 Módulo 3

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.

„ Estructuras de control – Secuencial


„ Acción 1; Acción 2; Acción 3; …; Acción N

Acción 1
Acción 2
Acción 3

Acción N
1 Conceptos generales de algorítmica
1.

„ Estructuras de control – Secuencial


„ Diagrama de Flujo

Acción 1

Acción 2

Acción 3

Acción N
1 Conceptos generales de algorítmica
1.

„ Estructuras de control – Alternativa

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.

„ Estructuras de control – Alternativa

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.

„ Estructuras de control – Repetitiva

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.

„ Herramientas de diseño de algoritmos


„ Pseudocódigo

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.

„ Herramientas de diseño de algoritmos


„ Diagrama de Flujo

P
Proceso Inicio/Fin

Proceso
Condición definido

Línea de
Entrada/Salida
fl j
flujo
1 Conceptos generales de algorítmica
1.

„ Diagrama de Flujo Inicio

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.

„ Características de los algoritmos:


„ Ordenado
„ No-ambiguo
„ Finito
„ Algoritmos eficientes:
„ Tiempo
„ Espacio
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.

„ Un programa se especifica por:


„ Entradas
„ Proceso
„ Salida

Datos Ordenador Información

Entrada Proceso Salida


2 Estructura general de un programa
2.

„ Los procesos se definen por algoritmos


„ Algoritmos:
g Conjunto
j de instrucciones
„ Tipos de instrucciones:
„ Asignación: x Å 2
„ Lectura y escritura: leer(a), escribir(b)
„ Bifurcación: si condición entonces acción
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: Å

Expresiones aritméticas Expresiones lógicas


aÅ5 lÅ8<5
b Å a + 15 m Å l o (7 <= 12)
cÅb/a n Å no(m)
d Å raíz_cuadrada(c)
Asignación ristras
r Å 7 mod 5
x Å ‘Me llamo pepe’
s Å 7 div 5
6 Entrada y salida de información
6.

„ Dispositivos de entrada: teclado, disco


„ Operación de entrada

Leer ( idDispositivo, lista variables)

„ Ejemplos

Leer (a, b, c) {Lectura de teclado}

Leer (idFichero,
(idFichero aa, b
b, c) {Lectura de fichero}
6 Entrada y salida de información
6.

„ Dispositivos de salida: pantalla, impresora,


disco
„ Operación de salida
escribir ( idDispositivo,
idDispositivo lista variables)

„ Ejemplos

escribir (a, b, c) {Mostrar por pantalla}

escribir (idFichero, a, b, c) {Escritura en fichero}


7 Escritura de algoritmos
7.
„ Estructura de un algoritmo:
„ Cabecera
„ Declaración de variables
„ Declaración de constantes
„ Cuerpo del algoritmo
„ Finalización
„ Comentarios
{Al it
{Algoritmo para ell cálculo
ál l d de raíces}
í }
7 Escritura de algoritmos
7.
„ Cabecera:
Algoritmo Nombre
{descripción algoritmo}
„ Declaración de variables:
variables enteras a, b, c
variables reales x1,
x1 x2
x2, z
variables cadena nombre, apellidos
variables
i bl lógicas
ló i m, n, p
7 Escritura de algoritmos
7.
„ Declaración de constantes:
constantes enteras diez Å 10
constantes
t t realesl pii Å 3.141592
3 141592
constantes carácter por Å ‘x’
„ C
Cuerpo
erpo del algoritmo:
algoritmo
variable Å expresión
Estructuras secuenciales
Estructuras alternativas
Estructuras repetitivas
7 Escritura de algoritmos
7.
„ Finalización:
finalgoritmo
7 Escritura de algoritmos
7.
„ Agoritmo para calcular el área de un rectángulo

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

„ Desarrollar un algoritmo para calcular el


volumen de un cilindro

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.

Algoritmo Secuencial Inicio


{{Algoritmo
g con estructura secuencial}}
variables enteras A, B, S, R, P
Leer A, B
leer(A, B)
SÅA+B
RÅA–B SÅA+B
RÅA–B
PÅA*B PÅA*B
escribir(‘Suma = ’, S)
escribir(‘Resta
( = ‘,, R)) Escribir S
S, R
R, P
escribir(‘Producto =‘, P)
finalgoritmo
Fin
2 Estructuras de control condicional
2.

„ Permiten crear bifurcaciones en el flujo


„ Tipos:
p
„ Simples (si – entonces)
„ Dobles (si – entonces – sino)
„ Múltiples (según – casos)
2 Estructuras de control condicional
2.

„ Estructura condicional simple

Pseudocódigo Diagrama de Flujo

F V
si condición entonces Condición

Acción
finsi Acción
2 Estructuras de control condicional
2.

„ Estructura condicional doble

Pseudocódigo Diagrama de Flujo

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.

„ Ejemplo: Algoritmo para calcular el valor de


1/x
Algoritmo DivisionX
variables reales x, R
leer(x)
si x = 0 entonces
escribir(‘Error:
( División p
por cero’))
sino
RÅ1/x
escribir(‘Resultado= ‘, R)
finsi
finalgoritmo
2 Estructuras de control condicional
2.

„ Estructura condicional múltiple


„ Pseudocódigo

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.

„ Estructura condicional múltiple


„ Diagrama de flujo

1 Otro caso
Condición
2 N

Acción 1 Acción 2 Acción N Defecto


2 Estructuras de control condicional
2.
„ Ejemplo: Algoritmo DíaSemana
„ Escribir día de la variables enteras dia
semana l (di )
leer(dia)
según dia hacer
caso 1: escribir(‘Lunes’)
( )
caso 2: escribir(‘Martes’)
caso 3: escribir(‘Miércoles’)
caso 4: escribir(
escribir(‘Jueves’)
Jueves )
caso 5: escribir(‘Viernes’)
caso 6: escribir(‘Sábado’)
caso 7: escribir(‘Domingo’)
en otro caso: escribir(‘Error’)
finsegún
finalgoritmo
Problemas
„ Algoritmo
Al it para calcular
l l x
y

„ Desarrollar un algoritmo para resolver


ecuaciones de segundo grado
ax + bx + c = 0
2

„ Escribir un algoritmo para resolver sistemas


de ecuaciones de dos incógnitas
⎧ax + by = c

d + ey = f
⎩dx
3 Estructuras de control repetitiva
3.
„ Permiten ejecutar acciones múltiples veces
„ Tipos:
p
„ mientras – hacer
„ hacer – mientras
„ repetir – hastaque
„ para – hacer
3 Estructuras de control repetitiva
3.
„ Estructura mientras – hacer

P
Pseudocódigo
d ódi Di
Diagrama d
de Fl
Flujo
j

mientras condición hacer F V


Condición
Acción
finmientras Acción
3 Estructuras de control repetitiva
3.
„ Ejemplo:
Algoritmo Media
„ Calcular la media
variables reales numero, N, result
de un conjunto de
leer(numero)
números
result Å 0
NÅ0
mientras numero ≠ 0 hacer
result Å result + numero
NÅN+1
leer(numero)
finmientras
result Å result / N
escribir
ibi (‘M
(‘Media
di = ‘‘, result)
lt)
finalgoritmo
3 Estructuras de control repetitiva
3.
„ Estructura hacer – mientras

Pseudocódigo Diagrama de Flujo

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

Pseudocódigo Diagrama de Flujo

Acción
repetir
Acción
q condición
hastque Condición
F

V
3 Estructuras de control repetitiva
3.
„ Estructura para – hacer
„ Pseudocódigo

para Var Å ValorInicial hasta ValorFinal hacer


p
Acción
finpara

para Var Å ValorInicial hasta ValorFinal paso P hacer


Acción
finpara
3 Estructuras de control repetitiva
3.
„ Estructura para – hacer
„ Diagrama de Flujo
Var Å ValorInicial

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!

„ Calcular números de Fibonacci


„ Escribir las tablas de multiplicar del 1 al 30
„ Algoritmo para sumar los números pares
hasta 500
Problemas
„ Algoritmo para calcular si un número es
primo
„ Algoritmo para calcular los divisores de un
número
„ Algoritmo que cuente el número de
elementos negativos, positivos e iguales a
cero en un conjunto de 100 números
Resumen
„ Estructuras de control secuencial
„ Estructuras de control condicional
„ si – entonces
„ si – entonces – sino
Resumen
„ Estructuras de control repetitiva
„ mientras - hacer
„ hacer – mientras
„ repetir
p – hastaque
q
„ para – hacer
„ Anidamiento de estructuras
Tema 7: Programación modular
1. Introducción a los subalgoritmos
2. Funciones
3. Procedimientos
4
4. Ámbito: variables locales y globales
5. Paso de parámetros
1 Introducción a los subalgoritmos
1.

„ Dividir los problemas en subproblemas


„ Diseño descendente (top-down)
( p )
„ Cada subproblema se resuelve con un
subalgoritmo
„ Tipos de Módulos o Subalgoritmos:
„ Funciones
„ Procedimientos
1 Introducción a los subalgoritmos
1.

„ Programación modular
„ Módulos: Programa principal y Submódulos

Raíz

Módulo 1 Módulo 2 Módulo 3

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

tipo función Nombre (Parámetros)


Acción
devolver expresión
finfunción

„ Parámetros := tipo1 Var1


Var1, tipo2 Var2
Var2, …
tipoN VarN
2 Funciones
2.
„ Ejemplo 1: Función f ( x ) =
x
1+ x 2

real función func (real x) Algoritmo Funciones


variables reales result variables reales x, y
result Å x / (1 + x^2) x Å -10
devolver result mientras x ≤ 10 hacer
fi f
finfunción
ió y Å func(x)
f ( )
escribir(y)
x Å x + 0.1
01
finmientras
finalgoritmo
2 Funciones
2.
„ Ejemplo 2: Función para calcular el máximo
de 2 números

real función max (real x, Algoritmo Max100


real y) variables reales m,n
si x > y entonces leer(m)
devolver x para i Å 1 hasta 99 hacer
sino leer(n)
devolver y m Å max(m,n)
fi i
finsi finpara
finfunción escribir(‘Máximo = ‘ , m)
finalgoritmo
Problemas
„ Función para calcular la potencia de un
número por medio de multiplicaciones
„ Función para calcular el factorial de un
número
„ Función para calcular la exponencial de un
número
„ Función para calcular números de Fibonacci
3 Procedimientos
3.
„ Declaración
D l ió dde procedimientos
di i t

procedimiento Nombre (Parámetros)


Acción
finprocedimiento

„ Parámetros := tipo1 Var1


Var1, tipo2 Var2
Var2, …
tipoN VarN
3 Procedimientos
3.
„ Ejemplo: Calculadora simple para las
operaciones de +, -, *, div, mod

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.

entera función Calcular (entera op, entera x, entera y)


variables enteras result
según op hacer
caso 1: result Å x + y
caso 2: result Å x - y
caso 3: result Å x * y
caso 4: result Å x div y
caso 5: result Å x mod y
fi
finsegún
ú
devolver result
finfunción
3 Procedimientos
3.
Algoritmo MiniCalculadora
variables enteras a, b, c, opcion
repetir
Menu()
leer(opcion)
si opcion ≠ 6 entonces
leer(a, b)
c Å Calcular(opcion, a, b)
finsi
hastaque opcion = 6
finalgoritmo
4. Ámbito: variables locales y
globales
„ Ámbito
Á de una variable: Parte del programa
en la que está definida esa variable
„ Tipos de variables
„ Variables locales
„ Variables globales
„ Variables locales vs
vs. Variables globales
5 Paso de parámetros
5.
„ Comunicación entre módulos a través de los
parámetros

„ 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

procedimiento Nombre1 (real x, entera y)



finprocedimiento Parámetros formales

Algoritmo Nombre2
… Parámetros actuales
Nombre1(a, b)
finalgoritmo
g
5 Paso de parámetros
5.
„ Paso de parámetros por valor

procedimiento Nombre1 (real x, entera y)



finprocedimiento

Algoritmo Nombre2
… 8.5 9.3
Nombre1(a, b)
finalgoritmo
5 Paso de parámetros
5.
„ Paso de parámetros por referencia

procedimiento Nombre1 (real x, entera y)



finprocedimiento

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(2,1) M(2,2) M(2,3) M(2,4) … M(2,n)


Filas

M(3,1) M(3,2) M(3,3) M(3,4) … M(3,n)


F

M(4,1) M(4,2) M(4,3) M4,4) … M(4,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

leer(M(1,1)) para i Å 1 hasta 100 hacer


l (M(3 1))
leer(M(3,1)) para j Å 1 hasta
h t 100 hacer
h
iÅ5 leer(M(i,j))
jÅ6 fi
finpara
leer(M(i,j)) finpara
4. Conjuntos multidimensionales: Las
matrices
„ Escritura de matrices

escribir(M(1,1)) para i Å 1 hasta 100 hacer


escribir(M(3 1))
escribir(M(3,1)) para j Å 1 hasta
h t 100 hacer
h
iÅ5 escribir(M(i,j))
jÅ6 fi
finpara
escribir(M(i,j)) finpara
4. Conjuntos multidimensionales: Las
matrices
„ Ejemplo: Suma de dos 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

para i Å 1 hasta n hacer


para j Å 1 hasta m hacer
leer(H(i,j))
finpara
fi
finpara

para i Å 1 hasta n hacer


para j Å 1 hasta m hacer
M(i,j) Å M(i,j) + H(i,j)
finpara
finpara
4. Conjuntos multidimensionales: Las
matrices

para i Å 1 hasta n hacer


para j Å 1 hasta m hacer
( ( j))
escribir(M(i,j))
finpara
finpara

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

También podría gustarte