jueves, 21 de noviembre de 2013

SEMANA # 39

EXAMEN DEL SENA (resuelto)

1-elabore un algoritmo que lea dos arreglos unidimencionales de N elementos cada uno. Crear otro arreglo con la multi´plicacion de los elementos
respectivos leídos e imprimir los tres arreglos

ARREGLO [100] DE ENTERO A
ARREGLO [100] DE ENTERO B
ARREGLO [100] DE ENTERO PR

ENTERO K, N

INICIO

ESCRIBA "DIGA LA ACANTIDAD DE ELEMENTOS"
LEA N
LLAMAR NUEVA_LINEA

PARA K <- 1 HASTA N HAGA
escriba " entre el elemento de la posicion # " ,K,"..:"
lea A [K]
LLAMAR NUEVA_LINEA
escriba " entre el elemento de la posicion # " ,K,"..:"
lea B [K]
LLAMAR NUEVA_LINEA
FIN PARA

PARA K <- 1 HASTA N HAGA
PR [K]<- A[K]*B[K]
FIN PARA

PARA K <- 1 HASTA N HAGA
ESCRIBA A[K]
llamar nueva_linea
escriba B[K]
llamar nueva_linea
escriba PR[K]
llamar nueva_linea
FIN PARA

FIN

2-  se tiene tres arreglos A, B, y C de M elementos cada uno. Se debe crear otro arreglos NUEVO de tres elementos  donde cada elementos tenga la suma de los
elementos de cada arreglo

ARREGLO [100]DE ENTERO A
ARREGLO [100]DE ENTERO B
ARREGLO [100]DE ENTERO C
ARREGLO [3]DE ENTERO NV

ENTERO X, SMA, SMB, SMC, N, Z

INICIO
SMA <- 0
SMB <- 0
SMC <- 0

ESCRIBA "DIGA CANTIDAD DE ELEMENTOS "
LEA N
LLAMAR NUEVA_LINEA

PARA X <- 1 HASTA N HAGA
escriba " entre el elemento de la posición # A " ,X,"..:"
lea A[X]
llamar nueva_linea
SMA <- SMA + A[X]

escriba " entre el elemento de la posición #  B " ,X,"..:"
lea B [X]
llamar nueva_linea
SMB <- SMB + B[X]

escriba " entre el elemento de la posición #  C " ,X,"..:"
lea C [X]
llamar nueva_linea
SMC <- SMC + C[X]

FIN PARA

ESCRIBA SMA
LLAMAR NUEVA_LINEA
ESCRIBA SMB
LLAMAR NUEVA_LINEA 
ESCRIBA SMC
LLAMAR NUEVA_LINEA

FIN

3- Elaborar un algoritmo que forme dos vectores A y B de M y N elementos respectivamente y forme un nueva arreglos C con los elentos que correponde a 
union A y B que son los elementos del vector A mas los elemtos del vector que no esten en A 

ARREGLO [100] DE ENTERO A
ARREGLO [100] DE ENTERO B
ARREGLO [100] DE ENTERO C

ENTERO I, N, M, X

INICIO

C[I] <- 0
X <- 0

ESCRIBA "DIGA LA ACANTIDAD DE ELEMENTOS DE A"
LEA N
LLAMAR NUEVA_LINEA

ESCRIBA "DIGA LA ACANTIDAD DE ELEMENTOS DE B"
LEA M
LLAMAR NUEVA_LINEA


PARA I <- 1 HASTA N HAGA
escriba " entre el elemento de la posicion # A" ,I,"..:"
lea A [I]
LLAMAR NUEVA_LINEA
FIN PARA

PARA I <- 1 HASTA M HAGA
escriba " entre el elemento de la posicion # B" ,I,"..:"
lea B [I]
LLAMAR NUEVA_LINEA
FIN PARA

C[I] <- A[I]
X <- M+N

SI (B[I] <> A[I])ENTONCES
C[I] <- B[I]
FIN SI

PARA I <- 1 HASTA X HAGA
ESCRIBA "", C[I]
FIN PARA
FIN

4-Se tiene un arreglo unidimensional X de N elementos, lea dicho arreglo y ademas lea la variable clave y encuentre si el valor de clave se 
encuentra o no dentro del arreglo X. En caso de encontrarse se debe indicar cuantas veces aparece dicho valor en el arreglo */


ARREGLO [100] DE ENTERO A
ENTERO N, VC, NR, K

INICIO
NR <- 0

ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS: "
LEA N
LLAMAR NUEVA_LINEA

ESCRIBA "DIGA EL VALOR CLAVE: "
LEA VC 
LLAMAR NUEVA_LINEA

PARA K <- 1 HASTA N HAGA
escriba " entre el elemento de la posición # " ,K,"..:"
lea A[K]
LLAMAR NUEVA_LINEA

FIN PARA


SI (A[K]= VC)ENTONCES
NR <- NR +1

ESCRIBA "EL NUMERO DE VECES QUE SE REPITE EL VALOR CLAVE ES: ", NR
LLAMAR NUEVA_LINEA

SINO 

ESCRIBA "NO SE ENCUENTRA EL VALOR CLAVE"

FIN SI

FIN


domingo, 17 de noviembre de 2013

SEMANA # 38

 CONTINUACIÓN DEL TALLER PUNTOS 9-10-11

9-GENERAR E IMPRIMIR UN VECTOR DE 10 NUMEROS ENTEROS E IMPRIMA CUANTAS VECES SE REPITE EL NUMERO 75 EN DICHO VECTOR 

arreglo [10] de entero r
entero i, c

inicio

c <- 0

para i <- 1 hasta 10 haga

escriba "digite el numero de la posicion # ",i , "...: "
lea r [i]
llamar nueva_linea

fin para

para i <- 1 hasta 10 haga

si ( r [i] = 75 ) entonces

c <- c + 1

fin si
fin para

escriba "el numero 75 se repite ",c , " veces en el vector "

fin

10- SE TIENE UN ARREGLO UNIDIMENSIONAL X DE N ELEMENTOS, LEA DICHO ARREGLO Y ADEMÁS LEA LA VARIABLE CLAVE Y ENCUENTRE SI EL VALOR DE CLAVE SE ENCUENTRA O NO DENTRO DEL ARREGLO X. EN CASO DE NO ENCONTRARSE SE DEBE INDICAR CUANTAS VECES APARECE DICHO VALOR EN EL ARREGLO 

arreglo [10] de entero x
entero cont, i, np, vc

inicio

cont <- 0

escriba " digite el numero de posiciones del vector : "
lea np
llamar nueva_linea

para i <- 1 hasta np haga

escriba " digite el elemento # ", i , " del vector : "
lea x [i]
llamar nueva_linea

fin para

escriba "digite la variable clave :"
lea vc
llamar nueva_linea

para i <- 1 hasta np haga

si ( vc = x [i] ) entonces

escriba " se encuentra en la posicion ", i
llamar nueva_linea

fin si
fin para

para i <- 1 hasta np haga

si (vc = x [i] ) entonces

cont <- cont + 1

fin si
fin para

escriba "se encuentra ",cont , " veces en el vector "
llamar nueva_linea


fin

11- SE TIENE UN VECTOR DE 100 POSICIONES CON VALORES NUMÉRICOS DIFERENTES, BUSCAR UN VALOR LEÍDO E IMPRIMA LA POSICIÓN EN QUE SE ENCUENTRAN */

arreglo [10] de entero buscar
entero i, n

inicio

para i <- 1 hasta 10 haga

escriba " digite el numero de la posicion # ", i , " ...: "
lea buscar [i]
llamar nueva_linea

fin para

escriba "digite el numero al cual quiere conocer su posicion: "
lea n
llamar nueva_linea

para i <- 1 hasta 10 haga

si ( n = buscar [i] ) entonces

escriba " se encuentra en la posicion ", i
llamar nueva_linea

fin si
fin para


fin

EXAMEN SENA (Viernes 15/11/13) y entrega del taller de arreglos

jueves, 14 de noviembre de 2013

SEMANA # 37

TALLER HAGA PARA (ARREGLOS)


1-Elabore un algoritmo que permita leer una lista de numeros en un arreglo, calcule la suma, promedio, cuadrado y cubo
PR <- OPERACIONES
I <- CONTROLADOR
SM <- SUMA
PR <- PROMEDIO
CA <- CUADRADO
CB <- CUBO 
N <- NUMERO DE ELEMENTOS 

ARREGLO [100] DE REAL PR
ENTERO I, N
REAL SM, PM, CA, CB

INICIO

SM <- 0

ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS"
LEA N
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA I <- 1 HASTA N HAGA

ESCRIBA "ENTRE EL NUMERO DE LA POSICION  #  ", I , "..... :   "
LEA PR [I]
LLAMAR NUEVA_LINEA

FIN PARA

PARA I <- 1 HASTA N HAGA

ESCRIBA PR [I]
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

FIN PARA

PARA I <- 1 HASTA N HAGA

SM <- SM + PR  [I]

FIN PARA

PM <- SM / 5

ESCRIBA "LA SUMA ES: ", SM
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

ESCRIBA "EL PROMEDIO ES :", PM
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA I<-1 HASTA N HAGA

CA <- PR[I]^ 2
ESCRIBA "EL CUADRADO ES: ", CA
LLAMAR NUEVA_LINEA
FIN PARA

LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA I<-1 HASTA N HAGA

CB <-PR[I]^ 3
ESCRIBA "EL CUBO ES: ",CB
LLAMAR NUEVA_LINEA
FIN PARA

FIN

2-Elabore un programa que sume los primeros 25 numeros enteros guardados en un vector. se desea imprimir la lista de numeros y al final la suma de los mismos
MS <- SUMAS
SM <- SUMA 
X <- CONTROLADOR

ARREGLO [25] DE ENTERO MS
ENTERO X, SM

INICIO

SM <- 0

PARA X <- 1 HASTA 25 HAGA

ESCRIBA "DIGITE EL NUMERO DE LA POSICION #  ", X, "..:"
LEA MS[X]
LLAMAR NUEVA_LINEA

FIN PARA

PARA X <- 1 HASTA 25 HAGA

SM <- SM + MS[X]

FIN PARA

PARA X <- 1 HASTA 25 HAGA

ESCRIBA MS[X]
LLAMAR NUEVA_LINEA 

FIN PARA

ESCRIBA "LA SUMA ES: ", SM
LLAMAR NUEVA_LINEA

FIN

3-Generar e imprimir un vector de 10 numeros enteros y encontrar el mayor de ello. Desplegar el resultado
MR <- MAYOR
MY <- MAYOR DE TODOS
K <- CONTROLADOR

ARREGLO [10] DE ENTERO MR
ENTERO K, MY

INICIO

MY <- 0

PARA K <- 1 HASTA 10 HAGA

ESCRIBA "INGRESE ELNUMERO DE LA POSICION # ",K ,"...:"
LEA MR [K]
LLAMAR NUEVA_LINEA

FIN PARA

PARA K <- 1 HASTA 10 HAGA

ESCRIBA MR [k]
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

FIN PARA

PARA K <- 1 HASTA 10 HAGA

SI ( MR [k] > MY ) ENTONCES

MY <- MR [k]

FIN SI
FIN PARA

ESCRIBA "EL NUMERO MAYOR ES:",MY

FIN

4-Dados dos arreglos A y B de igual numero de elementos se desea generar e imprimir un vector C conteniendo las sumas: A[I]+B[I]=C[I]
I <- CONTOLADOR
N <- NUMERO DE ELEMENTOS


ARREGLO [100] DE ENTERO A
ARREGLO [100] DE ENTERO B
ARREGLO [100] DE ENTERO C
ENTERO I, N

INICIO

ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS"
LEA N
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA I <- 1 HASTA N HAGA 

ESCRIBA "INGRESE EL ELEMENTO # ",I, " DEL VECTOR A :" 
LEA A [I]
LLAMAR NUEVA_LINEA

FIN PARA


PARA I <- 1 HASTA N HAGA 

ESCRIBA "INGRESE EL ELEMENTO # ",I, " DEL VECTOR B :" 
LEA B [I]
LLAMAR NUEVA_LINEA

FIN PARA

PARA I <- 1 HASTA N HAGA

C[I] <- A[I] + B[I]

FIN PARA

PARA I <- 1 HASTA N HAGA

ESCRIBA "LOS ELEMENTOS DE VECTOR C SON :", C[I]
LLAMAR NUEVA_LINEA

FIN PARA

FIN

5-Elabore un arreglo de n posisciones y llenarlo con nombres de persona 
NM <- NOMBRES
N <- NUMERO DE ELEMNTOS
Z <- CONTROLADOR

ARREGLO [100] DE CADENA [25] NM
ENTERO Z, N

INICIO
ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS"
LEA N
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA Z <- 1 HASTA N HAGA

ESCRIBA "ENTRE EL NOMBRE DE LA POSICION # ",Z, "..:"
LEA NM [Z]
LLAMAR NUEVA_LINEA

FIN PARA 

PARA Z <- 1 HASTA N HAGA

ESCRIBA NM [Z]
LLAMAR NUEVA_LINEA

FIN PARA

FIN

6- Llenar un vector con numeros enteros(numeros negativos o positivos) mostras la cantidad de numeros positivos que se hayen en dicho arreglo 
NP <- NEGATIVOS  O POSITIVOS
K <- CONTRLADOR
N <- NUMERO DE ELEMENTOS
CP <- CANTIDA DE POSITIVOS*/

ARREGLO [100] DE ENTERO NP
ENTERO K, N, CP

INICIO 
CP <- 0

ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS: "
LEA N
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA


PARA K <- 1 HASTA N HAGA  

ESCRIBA "ENTRE EL NUMERO DE LA POSICION # ",K , "..: "
LEA NP [K]
LLAMAR NUEVA_LINEA

FIN PARA 

PARA K <- 1 HASTA N HAGA

SI (NP [K] > 0 ) ENTONCES

CP <- CP+1
ESCRIBA "LA CANTIDAD DE POSITIVOS ES: ", CP
LLAMAR NUEVA_LINEA

FIN SI 

FIN PARA

FIN

7-Almacene en un arreglo de posiciones de nombres de paises. implemtar una opcion que al difitar una posición muestre el dato que contiene
C <- CONTROLADOR
P <- POSICIÓN
NP <- NOMBRE DEL PAÍS
PS <- PAÍSES



ARREGLO [5] DE CADENA [25] PS
ENTERO C, P, NP

INICIO

ESCRIBA "DIGITE EL NUMERO DE POSICIONES DEL VECTOR: "
LEA NP
LLAMAR NUEVA_LINEA

PARA C <- 1 HASTA NP HAGA

ESCRIBA "DIGITE EL PAIS DE LA POSICION # ",C , "...:"
LEA PS [C]
LLAMAR NUEVA_LINEA

FIN PARA

ESCRIBA "DIGITE LA POSICION DE UN ELEMENTO : "
LEA P
LLAMAR NUEVA_LINEA

ESCRIBA PS [P]

FIN

8-Se tiene un arreglo de m elementos en un archivo. El arreglo contiene valores numéricos en forma no ordenada. Lea el arreglo e imprima sus elementos en forma
ordenada
OR <- ORDENAR
I <- CONTROLADOR
J <- CONTROLADOR ORDENADO
AX <- AUXILIAR 
M <- NUMEROS DE ELEMENTOS


ARREGLO [100] DE ENTERO OR
ENTERO I, J, AX, M

INICIO

ESCRIBA "DIGA LA CANTIDAD DE ELEMENTOS: "
LEA M
LLAMAR NUEVA_LINEA
LLAMAR NUEVA_LINEA

PARA I<-1 HASTA M HAGA

ESCRIBA "ENGRESE EL ELEMENTO DE LA POSICION # ",I , "..:"
LEA OR[I]
LLAMAR NUEVA_LINEA

FIN PARA

PARA I<-1 HASTA M HAGA

AX <- OR[I]
J<-I-1

MIENTRAS (J>=0) Y (OR[J]>AX) HAGA

OR[J+1]<-OR[J]
J<-J-1

FIN MIENTRAS

OR[J+1]<-AX

FIN PARA

PARA I<-1 HASTA M HAGA

ESCRIBA "POSICION ",I," ES: ",OR[I]
LLAMAR NUEVA_LINEA

FIN PARA

FIN





SEMANA # 36

CARACTERÍSTICAS DE UN VECTOR

1- Todos vector tiene un nombre defina por el programador
2- Tiene una dimensión o tamaño, es decir, se divide en una cantidad física de posiciones
3- Tiene un indice que indica el numero de la posición del vector este debe de ser un numero entero
4- Tiene tipo numérico y alfanumérico según sea    los datos que almacene
5- Los datos del vector deben ser homogéneos, es decir, todos deben ser del mismo tipo
6- cuando se refiere a un elemento del vector siempre se debe escribir el nombre del vector y dentro de un ( ) la posición

LLENADO DE UN VECTOR

ARREGLO [10] DE ENTERO NUMÉRICO

ENTERO I
INICIO
PARA I<- 1 HASTA 10 HAGA
LEA NUM  [I]
FIN PARA

PARA I<- 1 HASTA 10 HAGA
MOSTRAR NUM  [I]
FIN PARA
FIN

OPERACIONES CON ARREGLOS

Se dan dos tipos de operaciones sobre los arreglos, sobre sus elementos o sobre el arreglos completo.
Las operaciones sobre un elemento de un arreglo son asignadas, lectura y escritura
Las operaciones sobre un arreglo completo son recorridos búsqueda inserción, eliminación y ordenación

ASIGNACIÓN DE DATOS DE UN VECTOR

Al igual que las variables los valores almacenados en un vector pueden ser dados por el programador o por el usuario del programa

Números (3)=28
Números (5)=15


LECTURA Y ESCRITURA DE DATOS 

La entrada y salida de datos de un arreglo generalmente se hace utilizando estructuras repetitivas preferiblemente el HAGA PARA



ARREGLO [10] DE ENTERO ED
ENTERO I
INICIO
PARA I<-1 HASTA 10 HAGA
LEA ED [I]
FIN PARA 
PARA I<-1 HASTA 10 HAGA
MOSTRAR ED [I]
FIN PARA 
FIN

EJERCICIOS

1- Elabore un algoritmo que le  un arreglo unidimensional de 50 elementos y encuentre la suma de ellos el promedio e imprima el arreglo

arreglo [50] de ENTERO NM
ENTERO SM, I
REAL PM

inicio
SM <-0
para i<-1 hasta 50 haga
escriba " entre el elemento de la posicion # " ,i,"..:"
lea NM [i]
llamar nueva_linea
SM <- SM + NM[i]
fin para

para i<-1 hasta 50 haga
escriba NM[i]
llamar nueva_linea
fin para 

PM <- SM/50
ESCRIBA "LA SUMA", SM
LLAMAR NUEVA_LINEA
ESCRIBA "PROMEDIO ", PM

fin
  
2- Elabore un algoritmo que lea 2 arreglos unidimensionales de 10 elementos cada uno. Crear otro arreglos con la multiplicación de los elementos respectivos de los arreglos leídos y imprima los 3 arreglos  

ARREGLO [10] DE ENTERO A
ARREGLO [10] DE ENTERO B
ARREGLO [10] DE ENTERO PR

ENTERO K

INICIO
PARA K <- 1 HASTA 10 HAGA
escriba " entre el elemento de la posicion # " ,K,"..:"
lea A [K]
LLAMAR NUEVA_LINEA
escriba " entre el elemento de la posicion # " ,K,"..:"
lea B [K]
LLAMAR NUEVA_LINEA
FIN PARA

PARA K <- 1 HASTA 10 HAGA
PR [K]<- A[K]*B[K]
FIN PARA

PARA K <- 1 HASTA 10 HAGA
ESCRIBA A[K]
llamar nueva_linea
escriba B[K]
llamar nueva_linea
escriba PR[K]
llamar nueva_linea
FIN PARA
FIN

3-  se tiene 3 arreglos a, b, c de N elementos otro arreglos nueva de 3 elementos. donde cada elementos tenga la suma de cada arreglo


ARREGLO [100]DE ENTERO A
ARREGLO [100]DE ENTERO B
ARREGLO [100]DE ENTERO C
ARREGLO [3]DE ENTERO NV

ENTERO X, SMA, SMB, SMC, N

INICIO
SMA <- 0
SMB <- 0
SMC <- 0
ESCRIBA "DIGA CANTIDAD DE ELEMENTOS "
LEA N
LLAMAR NUEVA_LINEA

PARA X <- 1 HASTA N HAGA
escriba " entre el elemento de la posición # A " ,X,"..:"
lea A[X]
llamar nueva_linea
SMA <- SMA + A[X]
escriba " entre el elemento de la posición #  B " ,X,"..:"
lea B [X]
llamar nueva_linea
SMB <- SMB + B[X]
escriba " entre el elemento de la posición #  C " ,X,"..:"
lea C [X]
llamar nueva_linea
SMC <- SMC + C[X]
FIN PARA

ESCRIBA SMA
LLAMAR NUEVA_LINEA
ESCRIBA SMB
LLAMAR NUEVA_LINEA 
ESCRIBA SMC
LLAMAR NUEVA_LINEA
FIN