jueves, 27 de octubre de 2016

CONVERTIR EN VECTOR

                                              VECTORES

Es una Colección de datos del mismo tipo , que se almacenan en posiciones  consecutivas de memoria y reciben un nombre común.
Y para referirse a un determinado elemento tendremos de acceder usando un índice para especificar la posición que queremos extraer o modificar su valor 








METODOS DE ORDENACIÓN DE VECTORES
El Ordenamiento de burbuja  es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas “burbujas”.
También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar
.



método de selección:

El algoritmo de ordenación por selección procede encontrando el mayor elemento del vector e intercambiando su posición con el último elemento. A continuación se repite el procedimiento sobre los elementos 1 … N-1, y así sucesivamente. 








ordenamiento por inserción:

es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n²) operaciones para ordenar una lista de n elementos.

Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.
  






            SECUENCIAL


EJEMPLO_1
:desarrollar un algoritmo que lea los meses del año

 arreglo[20] de cadena grupo_1
   arreglo[20] de cadena grupo_2
    arreglo[20] de cadena grupo_3
     arreglo[20] de cadena grupo_4 
 entero i
inicio
para i <- 1 hasta 20 haga
escriba "ingrese los tres primeros meses de un año: "
lea grupo_1 [i]
escriba "ingrese los tres segundos meses de un año: "
lea grupo_2[i]
escriba "ingrese los tres terceros  meses de un año: "
lea grupo_3[i]
escriba"ingrese los tres cuartos meses de un año: "
lea grupo_4[i]
fin para 
para i <- 1 hasta 20 haga
escriba grupo_1 [i]," "
escriba grupo_2 [i]," "
escriba grupo_3 [i]," "
escriba grupo_4 [i]," "
fin para 
fin


EJEMPLO_2:Desarrollar un algoritmo que lea los días de la semana

arreglo [20] de entero  día_1
arreglo [20] de entero  día_2
arreglo [20] de entero  día_3
arreglo [20] de entero  día_4
arreglo [20] de entero  día_5
arreglo [20] de entero  día_6
arreglo [20] de entero  día_7
entero i 
inicio
para i <- 1 hasta 20 haga
escriba "ingrese el primer día de la semana: "
lea día_1 [i]
escriba "ingrese el segundo día de la semana: "
lea día_2 [i]
escriba "ingrese el tercer día de la semana: "
lea día_3 [i]
escriba "ingrese el cuarto día de la semana: "
lea día_4 [i]
escriba "ingrese el quinto día de la semana: "
lea día_5 [i]
escriba "ingrese el sexto día de la semana: "
lea día_6 [i]
escriba "ingrese el séptimo día de la semana: "
lea día_7 [i]
fin para
para i <- 1 hasta 20 haga
escriba dia_1 [i], " "
escriba dia_2 [i], " "
escriba dia_3 [i], " "
escriba dia_4 [i], " "
escriba dia_5 [i], " "
escriba dia_6 [i], " "
escriba dia_7 [i], " "
llamar nueva_linea
fin para

fin

ejemplo_3. Haga un algoritmo que ingrese dos nombres y los muestre.

arreglo[2]de cadena[10] nombre_1
arreglo[2]de cadena[10] nombre_2
entero i
inicio
para i<- 1 hasta 2 haga
 escriba "ingrese nombre 1:"
lea nombre_1 [i]
escriba "ingrese nombre 2:"
lea nombre_2 [i]
fin para
para i <- 1 hasta 2 haga
escriba   nombre_1 [i] ," "
escriba   nombre_2 [i] ," "
fin para 
fin

ejemplo_4 Cree un programa que le permita ingresar el nombre de 2 personas y su fruta favorita.

arreglo[2]de cadena[10] nombre_1
arreglo[2]de cadena[10] nombre_2
arreglo [2]cadena[10] fruta_1,fruta_2
entero i
inicio
para i<-1 hasta 2 haga
escriba "ingrese nombre 1:"
lea nombre_1
escriba "ingrese su fruta favorita 1:"
lea fruta_1
escriba "ingrese nombre 2:"
lea nombre_2
escriba "ingrese su fruta favorita 2:"
lea fruta_2
fin para
para i <- 1 hasta 2 haga
escriba  nombre_1 [i] ," "
escriba   fruta_1 [i] ," "
escriba  nombre_2 [i] ," "
escriba   fruta_2 [i] , " "
fin para
fin


CONDICIONAL


EJEMPLO-1: Leer un numero e imprimir si dicho numero es o no par. 

Entero, num,mod
inicio
escriba "ingrese el numero:"
lea num
Si (num - mod 2= 0) entonces
escriba" el numero es par: "
Si no
escriba "el numero es impar: "
  fin si 
fin

EJEMPLO-2: Hacer un algoritmo que calcule el total a pagar por la compra de camisas.Si se compran tres camisas o mas se aplica un descuento del 20%  sobre el total de la compra y si son menos de tres camisas  un descuento del 10%.

arreglo [10] de real cantidad_c , desc
entero i
inicio
para i<- 1 hasta 10 haga
escriba "ingrese la cantidad de camisas: "
lea cantidad_c
Si cantidad_c >=5 entonces
desc <-( cantidad_c * 0.02)
Si no cantidad_c  <= 3 entonces
desc <- ( cantidad_c * 0.01)
    fin si 
  fin si
fin para
fin

HAGA HASTA


EJEMPLO-1:Se desea hallar el salario de un trabajador según las horas y su valor, si las horas son mayores a 40 entonces se le incrementa el 50% y se pueda repetir cuantas veces quiera el usuario.


caracter resp 

real horast, salarioi, salariof, valorh
inicio
 repita
  escriba " ingrese las horas trabajadas : "
  lea horast
  escriba " ingrese el precio por hora : "
  lea valorh
  salarioi<-horast*valorh
  si horast > 40 entonces
  salariof<-salarioi+(salarioi*0.5)
  sino 
  salariof<-salarioi
  fin si 
  escriba " el salario final es : ",salariof
 escriba " Desea continuar S/N :"
lea resp
hasta (resp='n') o (resp='N')
fin



EJEMPLO-2Crear un algoritmo que ingrese y lea el desempeño de un estudiante si el desempeño es B es básico, si es A es aceptable, si es S es superior, si es E es excelente y se pueda repetir cuantas veces quiera el usuario.



caracter desem,resp
inicio
repita
  escriba "  ingrese el desempeño del estudiante : "
  lea desem
  si desem='B' entonces
  escriba " el desempeño es básico "
  sino si desem='A' entonces
  escriba " el desempeño es aceptable "
  sino si desem='S' entonces
  escriba " el desempeño es superior "
  sino si desem='E' entonces
  escriba " el desempeño es excelente "
  fin si
  fin si
  fin si
  fin si
 LLAMAR NUEVA_LINEA
 escriba " Desea continuar S/N :"
lea resp   
hasta (resp='n') o (resp='N')  
fin 


HAGA PARA
ejemplo_1: Desarrollar un programa tipo arreglo que ingreso 10 nombre de países y al final los muestre.

arreglo [10] de entero nombre
entero i
inicio
para i<-1 hasta 10 haga
escriba "ingrese nombre:"
lea nombre[i]
fin para
para i<-1 hasta 10 haga
escriba nombre[i]
fin para

 fin

Ejemplo_2 : presentar los números del 1 al 10 en la pantalla
Entero i
Inicio
Para I←1 hasta 10 haga
Escriba I
Llamar nueva_linea
Fin para
Fin


ejemplo_3.  Arreglo que captura los 12 meses del año y al final los muestre

arreglo[12] de cadena[20] meses
entero i
inicio
para i<-1 hasta 12 haga
escriba "ingrese mes numero",i,":"
lea meses[i]
fin para
para i<-1 hasta 12 haga
escriba meses [i]
fin para
fin

ejemplo_4:  hacer un algoritmo que lea 5 números y determine la suma entre ellos
entero i,suma,numero
INICIO
suma<-0
para i<-1 hasta 5 haga
escriba "ingrese un numero:"
lea numero
suma<-suma+numero
fin para
escriba "la suma de los números es: ",suma

FIN
.


HAGA MIENTRAS


EJEMPLO-1:Hacer un algoritmo que lea 5 números y determine la suma entre ellos.

INICIO
entero: N, i, suma
i=1
suma=0
mientras(i <=5) HAGA
mostrar( 'digite un numero')
leer(N)
suma= suma+N
i= i+1
fin mientras
mostrar ('la suma es:', suma)
fin



EJEMPLO-2
:  Realizar un algoritmo para sumar consecutivamente y cuando la suma sea superior a 100 deje de pedir números y muestre el total.

INICIO
entero: N suma
suma=0
mientras(suma<=100)
mostrar ('digite un numero')
leer(N)
suma=suma+N
fin mientras
mostrar('la suma es :', suma)

fin



































vectores

                               ARREGLOS
  Es una Colección de datos del mismo tipo , que se almacenan en posiciones consecutivas de memoria y reciben un nombre común.
  Y para referirse a un determinado elemento tendremos de acceder usando un  índice para especificar la posición que queremos extraer o modificar su valor



EJEMPLO-1:
Desarrollar un programa que me permita almacenar en dos vectores los 10  nombres y al frente las edades correspondientes a dichas personas

solucion

arreglo [10] de cadena [10] nombre 
arreglo [10] de entero edad
entero i
inicio
para i <-1 hasta 10 haga
escriba "ingrese nombre: "
lea nombre [i]
escriba "ingrese edad: "
lea edad[i]
fin para 
para i <- 1 hasta 10 haga
escriba nombre [i]
escriba edad [i]
llamar nueva_linea
fin para 
fin

ejemplo-2:
desarrollar un programa tipo vector que permite almacenar el nombre de la persona y al frente ubica su salario.

solucion

arreglo [10] de cadena [10] nombre
arreglo [10] de real salario
entero i
inicio
para i <- 1 hasta 10 haga
escriba "ingrese el nombre: "
lea nombre [i]
escriba "ingrese su salario: "
lea salario [i]
fin para
para i <- 1 hasta 10 haga
escriba nombre[i]
escriba salario[i]
fin para 
fin
ejemplo-3:
desarrollar un arreglo donde ingrese 10 empleados con su respectivo nombre y salario, si el empleado trabaja mas 48 h se le da un amento  del  1%  

solucion
arreglo [10] de cadena [20] nombre
arreglo [10] de real valor_h, horas_t, pago
entero i
inicio
para i <-0 hasta 9 haga
escriba "ingrese hombre"
lea nombre[i]
escriba "ingrese horas trabajadas "
lea horas_t[i]
escriba "ingrese valor"
lea valor_h[i]
fin para
pago[i]<-h_t[i]*v_H
para i <- 0 hasta 9 haga
si h_t >48 entonces
pago[i]<-pago[i]/0.1
fin si
fin para
para <-0 hasta 9 haga
escriba "[",nombre[i],"]"
llamar nueva_linea
escriba "[",h_t[i],"]"
llamar nueva_linea
escriba "[",pago[i],"]"
fin para
fin


ejemplo_4:

algoritmo que lee su nombre y lo muestre


solucion


arreglo [5] de cadena [10] nombre
 entero i
 inicio
 para i <- 1 hasta 5 haga
 escriba " ingrese su nombre: "
 lea nombre [i]
 fin para
 para i <- 1 hasta 5 haga
 escriba nombre [i], " "
 fin para 

 fin

ejemplo_5:
algoritmo que  determine la edad de una persona  si es mayor de edad o menor de edad.
solucion

 arreglo [10] de entero edad
 arreglo [10] de cadena [10] nombre
 entero i
 inicio
 para i <- 1 hasta 10 haga
 escriba " ingrese su nombre: "
 lea nombre [i]
 escriba " ingrese su edad: "
 lea edad [i]
 si edad > 18 entonces
 escriba " usted es mayor de edad"
 sino 
 escriba " usted es menor de edad y no puede salir despues de las 12 pm "
 fin si
 fin para
 para i <- 1 hasta 10 haga
 escriba  nombre[i]," "
 escriba  edad[i]," "
 fin para
 fin







lunes, 5 de septiembre de 2016

ESTRUCTURA HAGA HASTA

                                                  ESTRUCTURA HAGA HASTA

El ciclo repita es lo contrario al ciclo mientras, en éste la ejecución se lleva a cabo hasta que se cumple la condición impuesta.La condición no se verifica al inicio como el en ciclo mientras y en los otros ciclos como pudimos ver anteriormente ya todos explicados, pero el ciclo Repita se verifica al final






EJEMPLO-1:Ingresar el nombre del alumno, la nota , luego preguntar si desea continuar , al final presentar el numero de aprobados y reprobados.

Carácter resp
Real nota
Entero ca,cr
Cadena[25] nombre

Inicio
ca<-0
cr<-0
Repita
Escriba "ingresar el nombre del alumno : "
Lea nombre
Escriba "ingresar la nota del alumno : "
Lea nota
  Si nota >= 60 entonces
    ca<-ca+1
     Sino
       cr<-cr+1
 Fin si
Llamar nueva_linea
Escriba " Desea continuar S/N : "
Lea resp
Llamar nueva_linea
 Hasta (resp='n') o (resp='N')
   Escriba " Aprobados ", ca
Llamar nueva_linea
   Escriba " Reprobados ", cr
Llamar nueva_linea  
Fin


EJEMPLO-2:Se desea hallar el salario de un trabajador según las horas y su valor, si las horas son mayores a 40 entonces se le incrementa el 50% y se pueda repetir cuantas veces quiera el usuario.


caracter resp 

real horast, salarioi, salariof, valorh
inicio
 repita
  escriba " ingrese las horas trabajadas : "
  lea horast
  escriba " ingrese el precio por hora : "
  lea valorh
  salarioi<-horast*valorh
  si horast > 40 entonces
  salariof<-salarioi+(salarioi*0.5)
  sino 
  salariof<-salarioi
  fin si 
  escriba " el salario final es : ",salariof
 escriba " Desea continuar S/N :"
lea resp
hasta (resp='n') o (resp='N')
fin


EJEMPLO-3Crear un algoritmo que ingrese y lea el desempeño de un estudiante si el desempeño es B es básico, si es A es aceptable, si es S es superior, si es E es excelente y se pueda repetir cuantas veces quiera el usuario.



caracter desem,resp
inicio
repita
  escriba "  ingrese el desempeño del estudiante : "
  lea desem
  si desem='B' entonces
  escriba " el desempeño es básico "
  sino si desem='A' entonces
  escriba " el desempeño es aceptable "
  sino si desem='S' entonces
  escriba " el desempeño es superior "
  sino si desem='E' entonces
  escriba " el desempeño es excelente "
  fin si
  fin si
  fin si
  fin si
 LLAMAR NUEVA_LINEA
 escriba " Desea continuar S/N :"
lea resp   
hasta (resp='n') o (resp='N')  
fin 


EJEMPLO-4:Un distribuidor de bolas, nos vende productos por cajas, tienen 16% de iva mostrar precio inicial y pago final y se pueda repetir cuantas veces quiera el usuario.

R//

cadena [20] nombre, articulo
real precioi, preciof, iva
caracter resp
inicio
repita
escriba " ingrese el nombre del comprador : "
lea nombre
escriba " ingrese el articulo : "
lea articulo
escriba " ingrese el precio del articulo : "
lea precioi
iva<-precioi*0.16
preciof<-precioi+iva
escriba " Desea continuar S/N :"
lea resp
escriba " el nombre del comprador es : ",nombre," el articulo es : ",articulo," el precio inicial es : ",precioi," el iva es : ",iva," el precio final es : ",preciof   
hasta (resp='n') o (resp='N') 
fin


EJEMPLO-5:Algoritmo que calcule la suma de los 50 primeros números entero
inicio 
suma<-0
conta<-0
repetir
conta<-conta+1
suma<-suma+conta
hasta que conta=50
escribir "suma"
fin