elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:00  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Algoritmia-Ejercicios introductorios.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmia-Ejercicios introductorios.  (Leído 6,431 veces)
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Algoritmia-Ejercicios introductorios.
« en: 13 Junio 2009, 23:26 »

Variables Simples.

Problema 1: Diseñe un diagrama para resolver una ecucación cuadrática.

Problema 2: N! se define como n!=1*2*3*4...*(n-1)*n, diseñe un algoritmo que calcule n! con n>=0.

Problema 3:Dada una lista de N números, desarrollar un algoritmo que permita determinar el más grande.

Problema 4: Diseñe un programa para encontrar el segundo número más grande de N números distintos.

Problema 5: Diseñe un programa que permita descomponer un número N en sus dígitos individualmente.


Problema 6: Dado un número real mostrar la cantidad de dígitos de la parte entera y luego la cantidad que posee la parte decimal.

Problema 7: Dado un número NUM que se encuentra en base B con 1<B<10, mostrar todos los enteros entre 0 y NUM en base B.

Ejemplo: NUM=10 B=2 Mostrar: 0 1 10
              NUM=22 B=3 Mostrar: 0 1 2 10 11 12 20 21 22

Problema 8: Desarrollar un algoritmo para generar los primeros K primeros números primos de la serie Fibonacci.

Ejemplo:

K=6
1 2 3 5 13 89

Problema 9: Diseñar un diagrama que dado un número lo descomponga en sus factores primos, informando la cantidad de veces que dicho factor primo integra el número.


La idea es ir resolviendo los problemas de a poco en distintos lenguajes.

Se permitirán diagramas y pseudocódigo.







« Última modificación: 14 Junio 2009, 01:53 por Emt.dev » En línea
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #1 en: 13 Junio 2009, 23:53 »

EL 2 seria asi?:

Python
Código
n = int(raw_input())
a = 1
while (n!=0):
   a = a * n
   n = n - 1
print str(a)
 

El 5 me quedo de esta forma:
Código
n = raw_input()
a = 1
tmp = ""
while (a<=len(n)):
   tmp += n[len(n)-a]
   a +=1
print tmp
 

gracias por los ejercicios :D


« Última modificación: 14 Junio 2009, 01:47 por Jubjub » En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #2 en: 13 Junio 2009, 23:59 »

Primeros 3 en c:

Código
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
int main()
{
   int a,b,c;
   double d,x1,x2,x;
   printf("Ingrese A: ");
   scanf("%d",&a);
   printf("Ingrese B: ");
   scanf("%d",&b);
   printf("Ingrese C: ");
   scanf("%d",&c);
   d=(pow(b,2))-(4*a*c);
   printf("D: %f",d);
   if(d>0)
   {
       x1=(-b+sqrt(d))/(2*a);
       x2=(-b-sqrt(d))/(2*a);
       printf("X1: %f X2: %f ",x1,x2);
   }
   else
   {
       if(d==0)
       {
           x=-b/(2*a);
           printf("Unica Solucion: %f",x);
       }
       else
       {
           printf("No hay solucion en reales");
       }
   }
 
   return 0;
}

Código
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int f=1;
   int n,i;
   printf("Ingrese n: ");
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
       f*=i+1;
   }
   printf("F: %d ",f);
   return 0;
}

Código
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int n,x,big,i;
   printf("N: ");
   scanf("%d",&n);
   printf("X: ");
   scanf("%x",&x);
   big=x;
   for(i=1;i<n;i++)
   {
       printf("X: ");
       scanf("%x",&x);
       if(x>big)
           big=x;
   }
   printf("El mas grande : %d",big);
   return 0;
}

A partir del 4:

Código
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int n,p,s,aux,i,a;
   printf("Ingrese cantidad: ");
   scanf("%d",&n);
   printf("Ingrese Primero: ");
   scanf("%d",&p);
   printf("Ingrese Segundo: ");
   scanf("%d",&s);
   if(p<s)
   {
       aux=p;
       p=s;
       s=aux;
   }
   for(i=0;i<n-2;i++)
   {
       printf("Ingrese Numero: ");
       scanf("%d",&a);
       if(p<a)
       {
           s=p;
           p=a;
       }
       else
       {
           if(s<a)
               s=a;
       }
   }
   printf("Segundo mas grande: %d",s);
 
   return 0;
}

Código
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int num,n,d;
   printf("Ingrese Numero: ");
   scanf("%d",&n);
   num=n;
   while(num!=0)
   {
       d=num%10;
       num=num/10;
       printf("%d, ",d);
   }
   return 0;
}

Código
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
int main()
{
   int PE,PF,CE,CD;
   printf("Numero: ");
   scanf("%d.%d",&PE,&PF);
   CE=0;
   CD=0;
   printf("%d\n",PE);
   printf("%d\n",PF);
   while(PE!=0)
   {
       PE=PE/10;
       CE++;
   }
   while(PF!=0)
   {
       PF=PF/10;
       CD++;
   }
   printf("Parte entera: %d, Parte decimal: %d",CE,CD);
   return 0;
}
« Última modificación: 14 Junio 2009, 02:39 por Emt.dev » En línea
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #3 en: 14 Junio 2009, 00:02 »

Jubjub Me olvidé, pon el lenguaje que utilizas, al parecer es python y está muy bien.  :P Luego postearé algunos con vectores, luego matrices y asi...
« Última modificación: 14 Junio 2009, 01:18 por Emt.dev » En línea
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #4 en: 14 Junio 2009, 00:03 »

Perfecto, quizas ahora haga alguno mas :D
Gracias ;)
En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #5 en: 14 Junio 2009, 00:10 »

OK... cualquier duda consulten y trataremos de resolver entre todos.
En línea
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #6 en: 14 Junio 2009, 01:48 »

Ahi esta mi version del 5, espero que sea eficiente ;D
En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #7 en: 14 Junio 2009, 01:52 »

Supongo que esta bien el 5, ya que nose manejar muy bien python igualmente lo analicé y parece estar correcto. Buen trabajo, dentro de poco tendremos mas codes.
« Última modificación: 14 Junio 2009, 01:56 por Emt.dev » En línea
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #8 en: 14 Junio 2009, 03:22 »

Los ultimos 3 en c++:
Código
#include <iostream>
 
int main()
{
   int NUM,B,D,N;
   std::cout<<"Ingrese numero"<<std::endl;
   std::cin>>NUM;
   std::cout<<"Ingrese B"<<std::endl;
   std::cin>>B;
   for(int i=0;i<=NUM;i++)
   {
       N=i;
       do
       {
           D=N%10;
           N=N/10;
       }while((N=0)||(D>=B));
       if(D<B)
           std::cout<<i<<std::endl;
   }
   return 0;
}
Código
#include <iostream>
 
int main()
{
   int K,P,S,C,N,i;
   P=1;
   S=1;
   C=1;
   std::cout<<"Ingresa cantidad"<<std::endl;
   std::cin>>K;
   std::cout<<"1"<<",";
   while(C<K)
   {
       N=P+S;
       i=2;
       while(N%i!=0){i++;}
       if(i==N)
       {
           std::cout<<N<<",";
           C++;
       }
       P=S;
       S=N;
   }
   return 0;
}

Código
#include <iostream>
 
int main()
{
   int NUM,N,i,c;
   std::cout<<"Ingrese NUM"<<endl;
   std::cin>>NUM;
   N=NUM;
   i=2;
   while(N!=1)
   {
       c=0;
       while(N%i==0)
       {
           c++;
           N=N/i;
       }
       if(c!=0){std::cout<<i<<","<<c<<std::endl;}
       i++;
   }
   system("pause");
   return 0;
}
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #9 en: 15 Junio 2009, 03:42 »

El 2 en Batch:
Código
@echo off
:code
set /p "numero=Numero : "
if not defined numero (goto:code)
if %numero% equ 0 (
echo.Error
exit /b 1
)
set /a "factorial=1"
for /l %%_ in (1 1 %numero%) do (
set /a factorial=factorial * %%_
)
echo.Factorial : %factorial%
pause>nul
exit /b 0
Salida:
Código:
Numero : 5
Factorial : 120

El problema 3 en Batch:
Código
@echo off
setlocal enabledelayedexpansion
:code
set /p "numero=Numeros : "
if not defined numero (goto:code)
for /l %%_ in (1,1,%numero%) do (set /p "numeros[%%_]=numeros[%%_] : ")
set "mayor=!numeros[1]!"
for /l %%_ in (1,1,%numero%) do (
if !numeros[% style="color: #448888;">%_]! geq !mayor! (set "mayor=!numeros[% style="color: #448888;">%_]!")
)
set "mayor"
pause>nul
exit /b 0

Salida:
Código:
Numeros : 5
numeros[1] : 34
numeros[2] : 6
numeros[3] : 36
numeros[4] : 567
numeros[5] : 23
mayor=567

El 5 en Batch:
Código
@echo off
setlocal enabledelayedexpansion
:code
set /p "numero=Numero : "
if not defined numero (goto:code)
set "numero_=%numero%"
set /a "contador-=1"
:bucle
set "numero=%numero:~1%"
set /a "contador+=1"
if defined numero (goto:bucle)
:end
for /l %%_ in (0,1,%contador%) do (<nul set /p "=!numero_:~% style="color: #448888;">%_,1! ")
pause>nul
exit /b 0

Salida:
Código:
Numero : 314592
3 1 4 5 9 2

El 6 en Batch:
Código
@echo off
setlocal enabledelayedexpansion
:code
set /p "numero=Numero : "
if not defined numero (goto:code)
:: Checar que sea un numero real :
echo %numero% | find "." > nul 2>&1 || (
echo.El numero no es real.
exit /b 1
)
for /f "tokens=1-2 delims=." %%^1 in ("%numero%") do (
call:lenght %%^1
echo.El numero "!numero!" tiene !contador! de parte entera.
call:lenght %%^2
echo.El numero "!numero!" tiene !contador! de parte decimal.
)
pause>nul
exit /b 0
:lenght
set "cadena=%*"
set /a "contador=0"
:lenght2
set "cadena=%cadena:~1%"
set /a "contador+=1"
if defined cadena (goto:lenght2)
goto:eof
Salida:
Código:
Numero : 123.456456345
El numero "123.456456345" tiene 3 de parte entera.
El numero "123.456456345" tiene 9 de parte decimal.

Saludos.
« Última modificación: 15 Junio 2009, 04:34 por Leo Gutierrez. » En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #10 en: 17 Junio 2009, 00:35 »

Muchas gracias por su cooperación ahora pasamos al siguiente tema.

VARIABLES INDIZADAS UNIDIMENSIONALES

Problema1: Un vector está compuesto por una cantidad N de números distintos. Se deberá mostrar los dos más próximos.

Problema2: Inserta un elemento X dentro de un vector ordenado de N elementos. *En caso de que exista dar su posición.
a) Dar una solución implementando búsqueda secuencial.
b) Dar una solución implementando búsqueda binaria.

Problema3: Diseñar un algoritmo que permita ordenar una lista de alumnos con sus correspondientes calificaciones obtenidas en un parcial.

Se destaca que el elemento de nombre(X) tiene su correspondiente nota(X).

Problema 4: Diseñar un algoritmo que ordene números distintos de 0 mientras se vayan ingresando.

Problema 5: Dado un número en base B, donde 1<B<10, generar todos los enteros entre 0 y el número dado en base B.
Tener en cuenta el problema nº7 de variables simples.
« Última modificación: 17 Junio 2009, 01:44 por Emt.dev » En línea
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #11 en: 17 Junio 2009, 01:11 »

Lenguaje C:

Código
/*Problema1: Un vector está compuesto por 
una cantidad N de números distintos. Se deberá mostrar los dos más próximos.*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[])
{
   int x[100];
   int i,j,n,p1,p2,d,men;
   printf("Ingrese cantidad:");
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
                 printf("Ingrese numero\n");
                 scanf("%d",&x[i]);
   }
   men=abs(x[0]-x[1]);
   p1=1;
   p2=2;
   for(i=0;i<n;i++)
   {
                   for(j=0;j<n;j++)
                   {
                                   if(i!=j)
                                   {
                                           d=abs(x[i]-x[j]);
                                           if(d<men)
                                           {
                                                    men=d;
                                                    p1=i;
                                                    p2=j;
                                           }
                                   }
                   }
   }
   printf("%d,%d",p1,p2);
   getch();
 return 0;
}

Código
/*Problema2: Inserta un elemento X dentro de un vector ordenado de N elementos. *En caso de que exista dar su posición.
a) Dar una solución implementando búsqueda secuencial.*/

 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int vector[]={1,1,3,5,4,5,6,3,9,10};
   int i,j,k;
   int n=9;
   for(i=1;i<=10;i++)
   {
       j=1;
       while(vector[i]!=vector[j])
       {
           j++;
       }
       if(j==i)
       {
           printf("Numero: %d, ",vector[i]);
           for(k=i;k<=n;k++)
           {
               if(vector[i]==vector[k])
                   printf("%d\n",k);
           }
       }
   }
   return 0;
}
« Última modificación: 17 Junio 2009, 02:05 por Emt.dev » En línea
j retirado

Desconectado Desconectado

Mensajes: 61



Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #12 en: 21 Junio 2009, 03:24 »

Edito: le agregue la opcion GeSHi, jeje. Ahora aprendi y queda mas lindo el código.

Citar
Problema 8: Desarrollar un algoritmo para generar los primeros K primeros números primos de la serie Fibonacci.
Ejemplo:
K=6
1 2 3 5 13 89

Código
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define FALSE 0
#define TRUE !FALSE
typedef int Bool;
 
int fib(double n);
Bool es_primo(int num);
 
int main()
{
int n; printf("Cantidad de primos a obtener:  "); scanf("%d", &n);
 
int i=0, j;
for(j=0; j<n;)
{
if( es_primo(fib(i)) )
{
printf("%d  ", fib(i));
j++;
}
i++;
}
 
printf("\n\n");
system("pause");
return 0;
}
 
int fib(double n)
{
double a = 1/sqrt(5);
double b = (1+sqrt(5))/2;
double c = (1-sqrt(5))/2;
double fib_n = a*pow(b, n) - a*pow(c, n);
 
return fib_n;
}
 
Bool es_primo(int num)
{
       Bool b = TRUE;
       int i, divisores=0;
 
       if(num == 0)
               return b=FALSE;
 
       for(i=1; i<=num; i++)
       {
               if((num%i) == 0)
                       divisores++;
               if(divisores > 2)
               {
                       return b=FALSE;
               }
}
 
return b;
}
 
« Última modificación: 28 Julio 2009, 01:03 por j.rm » En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #13 en: 21 Junio 2009, 04:47 »

el 2 en asm (el mas facil) conforme vaya mejorando mi uso de arrays pongo los otros (claro si no me da weba  :laugh: )

Código
format pe console
include 'c:\fasm\include\win32ax.inc'
entry main
.data
       number  dd      ?
.code
main:
       invoke printf,"Escribe un numero, 0 para salir: "
       add esp,4
       invoke scanf,"%d",number
       add esp,8
       cmp [number],0
       jle salir
       push [number]
       call factorial
       invoke printf,"El factorial es %d",eax
       add esp,8
       push 10
       call [putchar]
       jmp main
       salir:
ret
 
factorial:
       push ebp
       mov ebp,esp
       mov ecx,[ebp + 8]
       mov eax,1
       fact@L1:
               cdq
               mul ecx
               dec ecx
               cmp ecx,0
               jg fact@L1
       pop ebp
retn 4
section '.idata' import data readable
library msvc,'msvcrt.dll'
import msvc,printf,'printf',scanf,'scanf',putchar,'putchar'
 
« Última modificación: 21 Junio 2009, 05:15 por x0ʎu » En línea
h0oke


Desconectado Desconectado

Mensajes: 2.058


Coder ~


Ver Perfil WWW
Re: Algoritmia-Ejercicios introductorios.
« Respuesta #14 en: 21 Junio 2009, 17:07 »

x0ʎu
Muchas gracias, a esto quería llegar...
Diferentes soluciones, en diferentes lenguajes.
En línea
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicio de algoritmia para c++
Programación C/C++
NRRR 1 614 Último mensaje 28 Septiembre 2011, 11:56
por skapunky
Algoritmia « 1 2 »
Programación General
AoX04 15 1,664 Último mensaje 21 Febrero 2012, 22:05
por H1tchclock
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines