Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

Tablas o Matrices o Arrays (II)

Pedir 10 numeros y escribirlos en orden inverso
<inicio>
c=0
n[10]=0
mientras c<10
     n[c]=Pedirnum(“introduce nº:”)
     c++
Fin mientras
c=9
mientras c>=0
     escribir n[c]
     c--
fin mientras
<fin>
Cargamos una tabla de 10 elementos, le pides un numero al usuario y lo vamos a buscar en la tabla. Si el numero esta, indicamos en que posición. Le decimos que no esta.
<inicio>
c=0
n[10]=0
mientras c<10
    n[c]=Pedirnum(“Introduccion nº:”)
    c++
fin mientras
busca=Pedirnum(“Introduce el nº a buscar:”)
c=0
mientras c<10
     Si(busca=n[c])
         Escribe(“Encontrado en posicion”) c
         ok=11
     sino
         c++
     finsi
fin mientras
si (ok<>11)
     Escribe(“No encontrado”)
finsi
<fin>
----Forma de hacerlo entrada de numeros aleatorios y creando una variable con conserve la posicion----
<inicio>
c=0
n(10)=0
pos=-1
mientras c<10
    n[c]=aleatorio(0,100)
    c++
fin mientras
x=pedirnum(“introduce numero 0-100”)
c=0
mientras c<10
    si n[c]=x
         pos=c
     finsi
     c++
fin mientras
si pos !=-1
    escribir “encontrado” pos
sino
     escribir “no encontrado”
finsi
Nota:
Si hay varios números iguales, solo muestra la ultima posición.
El bucle se repite 10 veces aunque encuentre el número

----parar el proceso cuando encuentre un numero----
mientras c<10
si n[c]=x
pos=c
c=10
sino
c++
finsi
finmientras
------------------------otra forma mejor------------------------
mientras c<10 Y n[c]!=x
c++
finmientras
si c!=10
escribir “encontrado”
sino
escribir “no encontrado”
finsi
Nota:
Si c es = 10 entonces ha recorrido la tabla entera y no lo ha encontrado.

Cargar por teclado una tabla de 10 elementos con números pares
<inicio>
c=0
n(10)=0 'declaras la tabla o array
mientras c<10
    numero=Pedirnum(“Introduce un numero”)
     si int(numero/2)*2=numero
         n[c]=numero
         c++
     sino
         escribe(“No es un numero par”)
     finsi
finmientras
<fin>
--------------------------------- comprobar si es par.............
n%2 ==0
%=significa resto de n dividido entre 2

Cargar una tabla con numeros aleatorios y mostramos el mayor
<inicio>
c=0
t(10)=0
t[0]=pedirnumero(“introduce numero)
mayor=t[0]
c=1
mientras c<10
    t[c]=pedirnumero(“introduce numero”)
    si mayor<t[c]
            mayor=t[c]
    finsi
finmientras
<fin>
--------------------pedirlo aleatoriamente --------------------------
<inicio>
tabla(10)=0
c=0
mientras c<10
    tabla[c]=aleatorio(1,100)
     c++
finmientras
mayor=tabla[0]
c=1
mientras c<10
    si tabla[c]>mayor
         mayor=tabla[c]
     finsi
     c++
finmientras
Escribir “el mayor es:”,mayor
<fin>

Dos tablas de 10 elementos, las cargamos las dos simultaneamente con numeros que introduzca el usuario. Si el numero es par se almacena en una tabla y si es impar en la otra.
En programa termina cuando una de las dos tablas este cargada totalmente.
<inicio>
tablapar(10)=0
tablaimpar(10)=0
numero=0
par=0
impar=0
mientras !(par>9 O impar >9)
     numero=pedirnumero(“introduce numero”)
     si numero%2==0
         tablapar[par]=numero
         par++
     sino
         tablaimpar[impar]=numero
        impar++
     finsi
finmientras
<fin>
Esa linea la podemos poner mas sencilla:
mienras par<10 Y impar<10

No hay comentarios:

Publicar un comentario