Algoritmia-Ejercicios introductorios.

Iniciado por h0oke, 13 Junio 2009, 23:26 PM

0 Miembros y 1 Visitante están viendo este tema.

VonN

Recien comenzando con python:

Ejercicio 2:
Código (python) [Seleccionar]

f=1
n=input("Ingresa n:")
i=1
while(i<=n):
    f=f*i
    i=i+1
print "F:",f


Ejercicio3

Código (python) [Seleccionar]
n=input("Ingresa Cantidad")
x=input("Ingresa Numero")
big=x
i=1
while(i<n):
    x=input("Ingresa Numero")
    if x>big:
        big=x
    i=i+1
print "El mas grande: ",big




Se toma por necios a aquellos que dicen lo que todos pesamos

VonN

Ejercicio 4:

Código (python) [Seleccionar]
n=input("Ingrese cantidad")
p=input("Ingrese primer numero")
s=input("Ingrese segundo numero")
if p<s:
    aux=p
    p=s
    s=aux
i=1
while(i<=n-2):
    a=input("Ingrese numero")
    if p<a:
        s=p
        p=a
    elif s<a:
        s=a
    i=i+1
print "Segundo numero mas grande",s


Ejercicio 5
Código (python) [Seleccionar]

a=input("Ingrese numero")
while(a!=0):
    d=a%10
    a=a/10
    print "Digito:",d

   



Se toma por necios a aquellos que dicen lo que todos pesamos

VonN

Ejercicio 1. Variables indizadas:

Código (python) [Seleccionar]
import math
import random
n=input("Ingresa cantidad")
list=[0]*n
for i in range(n):
    lista[i]=random.randint(0,100)
menor=math.fabs(lista[0]-lista[1])
print "Mostrar lista obtenida:"
i=0
tam=len(lista)
while(i<tam):
print lista[i]
i=i+1
menor=math.fabs(lista[0]-lista[1])
pos1=0
pos2=1
i=0
j=0
while(i<tam):
while(j<tam):
if i<>j:
vab=math.fabs(lista[i]-lista[j])
if vab<menor:
menor=vab
pos1=i
pos2=j
j=j+1
i=i+1
print "Menor distacia:",menor," POS1: ",pos1," POS": ",pos2




Se toma por necios a aquellos que dicen lo que todos pesamos

VonN

Programa para buscar primos en una matriz NxM, parecido al ejercicio 5 de FSend.

Código (python) [Seleccionar]
import random
n=int(input("Ingresa las filas\n"))
m=int(input("Ingresa las columnas\n"))
matriz=[[0 for x in range(m)]for y in range(n)]
i=0
j=0
while(i<n):
while(j<m):
matriz[i][j]=random.randint(0,100)
j = j+1
i = i+1
j = 0
i=0
j=0
print(matriz)
def buscaprimo(num):
    PD=2
    while((PD<=num/2) and (num%PD<>0)):
        PD=PD+1
    if((PD>num/2) and (num<>1)):
        return 1
    else:
        return 0
i=0
j=0
while(i<n):
    while(j<m):
        z=matriz[i][j]
        if(buscaprimo(z)==1):
           print z
        j=j+1
    j=0
    i=i+1



Se toma por necios a aquellos que dicen lo que todos pesamos

VonN

El 2 y el 4 en Pascal:

Código (pascal) [Seleccionar]
program factorial;
uses
    crt;
var
   i,n,f:integer;
begin
     clrscr;
     f:=1;
     readln(n);
     for i:=1 to n do
     begin
          f:=f*i;
     end;
     write(f);
     readln(n);
end.


Código (pascal) [Seleccionar]
program Untitled;
uses
    crt;
var
   n,p,s,i,a,aux:integer;
begin
     clrscr;
     readln(n);
     readln(p);
     readln(s);
     if p<s then
     begin
          aux:=p;
          p:=s;
          s:=aux;
     end;
     for i:=1 to n-2 do
     begin
          readln(a);
          if p<a then
          begin
               s:=p;
               p:=a;
          end
          else
          begin
              if s<a then
              begin
                 s:=a
              end;
          end;
     end;
     write(s);
     readln(n);
end.



Se toma por necios a aquellos que dicen lo que todos pesamos

VonN

Ejercicio inserión + búsqueda binaria. Tema: Variables indizadas unidimensionales:

Código (pascal) [Seleccionar]
program Untitled;
uses
    crt;
var
   e,l,r,n,m,i,j:integer;
   a: array[1..100] of integer;
begin
     clrscr;
     writeln('Ingrese cantidad elementos');
     readln(n);
     writeln('Ingreso de elementos');
     for i:=1 to n do
     begin
          readln(a[i]);
     end;
     writeln('Lista ingresada:');
     for i:=1 to n do
     begin
          write(a[i],',');
     end;
     writeln('Ingrese e buscado');
     readln(e);
     l:=1;
     r:=n+1;
     while l<r do
     begin
          m:=((l+r)div 2);
          if a[m]<e then
          begin
               l:=m+1;
          end
          else
          begin
               r:=m;
          end;
     end;
     if a[r]=E then
     begin
          writeln('Su posicion es:');
          write(r);
     end
     else
     begin
          for j:=n downto r do
          begin
               a[j+1]:=a[j];
          end;
          a[r]:=e;
          writeln('Se produjo una insercion');
     end;
     readln();
end.



Se toma por necios a aquellos que dicen lo que todos pesamos

h0oke

Muy bien VonN, gracias por tu aporte!

Salu2!

Danther

#27
Las matematicas no son mi fuerte, pero espero no haberme equivocado con lo que se pedia:

El primer ejercicio y el segundo juntos en Java:

Código (java) [Seleccionar]

import java.io.*;

public class Main{

   private BufferedReader bf;

   public Main(){
       bf = new BufferedReader(new InputStreamReader(System.in));
   }

   private int PedirFilas() throws IOException{

       int numFilas = 0;

       System.out.println("Introduce el numero de filas:");
       String filas = bf.readLine();        
       try{
           numFilas = Integer.parseInt(filas);
           if(numFilas < 0)
               numFilas = Math.abs(numFilas);
       }catch (Exception e){
           System.out.println("El numero introducido no es valido");
           System.exit(1);
       }
       return numFilas;
   }

   private int PedirColumnas() throws IOException{

       int numColumnas = 0;

       System.out.println();
       System.out.println("Introduce el numero de columnas:");
       String columnas = bf.readLine();        
       try{
           numColumnas = Integer.parseInt(columnas);
           if(numColumnas < 0)
               numColumnas = Math.abs(numColumnas);
       }catch (Exception e){
           System.out.println("El numero introducido no es valido");
           System.exit(1);
       }
       return numColumnas;
   }

   private void MostrarMatriz(int filas, int columnas) throws IOException{

       int numLectura = 0;
       int [][] matriz = new int[filas][columnas];

       System.out.println();
       System.out.println("Indicame como quieres que se muestre.");
       System.out.println("-------------------------------------");
       System.out.println("1 - Por filas");
       System.out.println("2 - Por columnas");
       String lectura = bf.readLine();
       InicializarMatriz(matriz, filas, columnas);

       try{
           numLectura = Integer.parseInt(lectura);
           if(numLectura != 1 && numLectura != 2){
               System.out.println("El numero introducido no es valido");
               System.exit(1);
           }
       }catch (Exception e){
           System.out.println("El numero introducido no es valido");
           System.exit(1);
       }

       System.out.println();

       if(numLectura == 1){
           for(int f = 0; f < filas; f++){
               System.out.println("Fila "+(f+1));
               for(int c = 0; c < columnas-1; c++){
                   System.out.print(matriz[f][c]);
                   System.out.print(" -- ");
               }
               System.out.print(matriz[f][columnas-1]);
               System.out.println();
           }
       }else{
           for(int c = 0; c < columnas; c++){
               System.out.println("Columna "+(c+1));
               for(int f = 0; f < filas-1; f++){
                   System.out.print(matriz[f][c]);
                   System.out.print(" -- ");
               }
               System.out.print(matriz[filas-1][c]);
               System.out.println();
           }
       }
   }
   
   private void InicializarMatriz(int[][] matriz, int filas, int columnas) {
       for(int f = 0; f < filas; f++){
           for(int c = 0; c < columnas; c++){
               matriz[f][c] = (int)(Math.random()*100);
           }
       }              
   }


   public static void main(String[] args) throws IOException {
       Main main = new Main();
       main.MostrarMatriz(main.PedirFilas(), main.PedirColumnas());
   }

}



Pd: O java usa mucho codigo, o yo soy muy torpe... T.T XD

h0oke

Nunca he estudiado Java, pero puedo apreciar que te esmeras más en la "interfaz" que en el algoritmo del problema. Espero que se de una pasada Amerik@no para chekar el problema.

Un saludo!

Shadowofvilla