Top Banner
Profesores PHM/DCP Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática “Algoritmos y Arreglos” Asignatura INF 140 – Informática I Profesores Pamela Hermosilla Monckton Daniel Cabrera Paniagua
21

[Inf 140] Algoritmos Y Arreglos (1 X Hoja)

Jul 03, 2015

Download

Lifestyle

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Pontificia Universidad Católica de Valparaíso

Facultad de Ingeniería

Escuela de Ingeniería Inform

ática

“Algoritm

os y Arreglos”

Asignatura

INF 140 –

Inform

ática I

Profesores

Pamela Herm

osilla M

onckton

Daniel Cabrera Paniagua

Page 2: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

-U

n array

es u

n c

onju

nto

fin

ito y

ord

ena

do d

e e

lem

ento

s h

om

ogé

neos

Cada elemento puede ser identificado

Son del mismo tipo de datos

-U

n arrayunidim

ensional o vector

es e

l tipo d

e a

rra

ym

ás s

imple

Subíndice designa la posición

del elemento en el vector

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

notas[1] = 70

notas[2] = 65

notas[3] = 62

notas[4] = 60

nota

s[n

]

70

65

62

60

58

55

50

Arreglo notas

Page 3: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

-Las operaciones

que s

e p

ueden r

ealiz

ar

con v

ecto

res s

on:

asig

nació

n,

lectu

ra,

escritu

ra,

recorr

ido,

actu

aliz

ació

n (

adir,

borr

ar,

insert

ar)

, ord

enació

n,

búsqued

a.

-La n

ota

ció

n a

lgorí

tmic

a q

ue u

tiliz

are

mos e

s la s

iguie

nte

:

<tipo de dato> :<nombre_del_arreglo>[1..dim

ension]

entero: numero[1..100]

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 4: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

sin

array

(muchas v

ari

able

s)

var re

al: n

ota

1,n

ota

2,

nota

3,

sum

… escribir(“

nota

1 =

“)

leer(

nota

1)

… sum

�nota

1 +

nota

2 +

nota

3

con array

var re

al: n

ota

[1..

3],

sum

… desde

i �

1hasta

3hacer

escribir(“

nota

”,i,

“=

”)

leer(

nota

[i])

fin_desd

e

sum

�0

desde

i �

1hasta

3hacer

sum

�sum

+ n

ota

[i]

fin_desd

e

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 5: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

var entero: temp[1..24],min, max, i

real: prom, nota[1..45]

const

max_hora

= 24

total = 45

var entero: temp[1..max_hora],min, max, i

real: prom, nota[1..total]

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Ejemplos)

Page 6: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

algoritm

o ejemplo

const

max_alumnos= 50

var entero: n, i

real: prom, nota[1.. m

ax_alumnos]

inicio

repetir

escribir(“Ingrese la cantidad de alumnos. El máxim

o de alumnos es cincuenta”)

leer(n)

hasta_que((n > 0) ∧ ∧∧∧(n <= m

ax_alumnos))

escribir(“Ingresar notas de alumnos”)

desde i � ���

1 hasta n

hacer

escribir(“Nota alumno ”,i,“= ”)

leer(nota[i])

fin_desde

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Ejemplo

Page 7: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

algoritm

o m

alo

var entero: n, temp[1.. n]

inicio

repetir

escribir(“n = “)

leer(n)

hasta_quen > 0

desde i � ���

1 hasta n hacer

MAL � ��� IN

F 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Page 8: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Asignación:

<nombre del array> [subindice] � ���

<valor>

numero[2] � ���

5

desdei � ���

1hasta

5hacer

numero[i] � ���

8

fin_desde

numero[x] � ���

x + y

numero[a] � ���

temp[5] + 2

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 9: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Lectura:

leer (<nombre del array>[subindice])

leer (numero[4])

Escritura:

escribir (<nombre del array>[subindice])

escribir (“el número es: ”,numero[3])

leer (numero[x])

leer (numero[a+b])

escribir (“el número es: ”,numero[a])

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 10: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Inserción:

/* Se desea insertarnuevo_elemento

en la posición p */

/* i corresponde al índice del penúltim

o elemento*/

mientras(i >= p)hacer

autos[i+1] � ���

autos[i]

i � ���

i –1

fin_mientras

autos[p] � ���

nuevo_elemento

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 11: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Eliminar:

/* Se desea eliminar elemento en la posición j */

/* n corresponde al índice del últim

o elemento*/

desde(i � ���

j) hasta n-1

hacer

autos[i] � ���

autos[i+1]

fin_desde

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 12: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Imprimir -Escribir

hasta el momento se ha asumido

que cada <escribir> escribe en una línea nueva

...de ahora en adelante…

se asume que todo es escrito en la m

isma línea

saltar_linea� ���

especifica que habrá

un salto de línea

desde i � ���

1 hasta 4 hacer

escribir(nombre[i],“”)

fin_desde

saltar_linea

desde i � ���

1 hasta 4 hacer

escribir(edad[i],“”)

fin_desde

ana pedro luis

felipe

22 19 26 21

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysUnidimensionales (Vectores)

Page 13: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Ejercicio

Desa

rro

llar

un

a

lgo

ritm

o

qu

e

pe

rmita

re

cib

ir

50

me

ros

en

u

n

arr

eg

lo

un

idim

ensio

na

l,

y

lue

go

los

liste

.

Desa

rro

llar

un

a

lgo

ritm

o

qu

e

pe

rmita

re

cib

ir

50

me

ros e

n u

n a

rre

glo

un

idim

en

sio

na

l, y

lu

eg

o los lis

te

(en

am

bos s

en

tid

os).

Desa

rro

llar

un

a

lgo

ritm

o

qu

e

pe

rmita

re

cib

ir

50

me

ros e

n u

n a

rre

glo

un

idim

en

sio

na

l, y

lu

eg

o los lis

te

(en

am

bos s

en

tid

os).

Utiliz

ar

pro

ce

dim

ien

tos.

Page 14: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Algoritm

o listar_numeros

Var entero: contador, numeros[1.. 50]

Inicio

contador <-1

repetir

escribir(“Ingrese un número”)

leer(numeros[contador])

contador <-contador + 1

hasta_que(contador = 51)

contador <-1

escribir(“Se listan los números ingresados”)

saltar_linea

repetir

escribir(numeros[contador])

saltar_linea

contador <-contador + 1

hasta_que(contador = 51)

Fin

Page 15: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Un arraybidim

ensional

se p

ued

e c

onsid

era

r com

o u

n v

ecto

r de v

ecto

res.

Es

por

consig

uie

nte

, un c

onju

nto

de e

lem

ento

s h

om

og

éne

os y

ord

ena

dos e

n e

l que

se n

ecesita e

specific

ar

dos s

ubín

dic

es p

ara

poder

identificar

cada e

lem

ento

del

arr

ay.

Fila 1

notas[1,1]notas[1,2]

..............

notas[1,n]

notas[2,1]notas[2,2]

............

notas[2,n]

notas[i,1]notas[i,2]

.............

notas[i,n]

.............

notas[m,1]notas[m,2]

..............

.............

notas[m,n]

Fila 2 Columna 1

Columna 2

Fila i

Columna n

Fila m

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysBidimensionales (Matrices)

Page 16: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Las operaciones que se pueden realizar con m

atrices son: asignación,

lectura, escritura, recorrido, actualización (añadir, borrar, insertar),

ordenación, búsqueda.

La notación algorítm

ica que utilizaremos es la siguiente:

<tipo de dato> :<nombre_del_arreglo> [1..dim

_fila,1..dim

_columna]

real: venta[1..3,1..5]

Asignación:

<nombre del array> [subindicefila,subindicecolumna] � ���

<valor>

numero[1,1] � ���

5

desdei � ���

1hasta

3hacer

desdej � ���

1hasta

5hacer

numero[i,j] � ���

0

fin_desde

fin_desde

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysBidimensionales (Matrices)

Page 17: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CPLlenado por filas

desde i � ���

1 hasta m

hacer

escribir(“datos fila ”,i)

saltar_linea

desde j � ���

1 hasta n hacer

escribir(“dato posición ”,i,“–”,j, “= ”)

leer(nota[i,j])

fin_desde

fin_desde

Llenado por columnas

desde a � ���

1 hasta n hacer

escribir(“datos columna “,a)

saltar_linea

desde b � ���

1 hasta m

hacer

escribir(“dato posición ”,b

, “–”,a,“= ”)

leer(nota[b,a])

fin_desde

fin_desde

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysBidimensionales (Matrices)

Page 18: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Lectura:

leer (<nombre del array> [subindicefila, subindicecolumna])

leer (numero[2,4])

Escritura:

escribir (<nombre del array>)[subindicefila, subindicecolumna])

escribir (“la contidad es: ”, numero[6,7])

leer (numero[a,b])

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

ArraysBidimensionales (Matrices)

Page 19: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

Un

o d

e lo

s re

sto

rante

sm

ás im

po

rta

nte

s d

el

pa

ís se

en

cu

en

tra

e

n u

n p

roceso

d

e re

no

vació

n te

cn

oló

gic

a,

po

r e

llo

req

uie

re

de

u

n

so

ftw

are

q

ue

ge

stio

ne

los

dis

tin

tos p

lato

s q

ue

tie

ne

al se

rvic

io d

e s

us c

lien

tes.

El

ge

ren

te d

e e

ste

esta

ble

cim

ien

to t

ien

e p

len

a c

on

fia

nza

en

lo

s e

stu

dia

nte

s d

e la

PU

CV

, ra

n p

or

la c

ua

l le

ha

so

licita

do

a lo

s a

lum

no

s d

e I

NF

-14

0 q

ue c

on

str

uyan

un

alg

oritm

o q

ue

re

alic

e lo

sig

uie

nte

:

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Ejercicio

Page 20: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CP

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática

Ejercicio

1)

Ing

reso

de

lo

s p

lato

s o

fre

cid

os a

l pú

blic

o,

para

ello

deb

e

alm

ace

na

r e

l n

om

bre

de

l p

lato

, su

s in

gre

die

nte

s y

el pre

cio

. H

aga

un

bo

sq

uejo

de

lo

s a

rra

ys

utiliz

ad

os d

escrib

ien

do

cla

ram

en

te los

da

tos q

ue

se

alm

ace

na

n e

n e

llos.

2)

Elim

ina

ció

n d

e u

n p

lato

ele

gid

o p

or

el u

su

ario.

Su

po

ng

a q

ue n

o

se

in

gre

sa

n p

lato

s r

ep

etid

os.

3)

Cu

an

tos p

lato

s t

ien

en

al m

en

os 3

in

gre

die

nte

s e

n c

om

ún

. L

os 3

ing

red

ien

tes d

eb

en

se

r in

gre

sa

do

s p

or

el u

su

ario.

4)

Cu

an

tos p

lato

s t

ien

en

“N

”in

gre

die

nte

s.

“N”

de

be s

er

ingre

sad

o

po

r e

l u

su

ario

.

Page 21: [Inf 140]  Algoritmos Y Arreglos (1 X Hoja)

Pro

fesore

s

PH

M/D

CPse pueden definir & usar …

arreglos multidimensionales

¿?

INF 140 –Inform

ática I

Pontificia Universidad Católica de Valparaíso

Escuela de Ingeniería Inform

ática