send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Ejercicios] Perl

  • 20 Respuestas
  • 6678 Vistas

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

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« en: Noviembre 30, 2014, 05:07:46 pm »
Bueno pues, para darle más vida a esta sección, se me ha ocurrido hacer una serie de ejercicios. El primero sería hacer una pirámide en la que pides al usuario la altura de dicha pirámide y la dibujas, ej:

Introduciendo 5 en altura.

Código: You are not allowed to view links. Register or Login
Introduce la altura del triangulo: 5
     *
    **
   ***
  ****
 *****

¡Animaros!
« Última modificación: Diciembre 05, 2014, 06:25:40 pm por Juan »

Conectado rollth

  • *
  • Moderador Global
  • Mensajes: 856
  • Actividad:
    8.33%
  • Reputación 14
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #1 en: Diciembre 01, 2014, 07:48:12 pm »
Yo me animo, me lie un poco la cabeza, pero aqui esta.

Código: C
  1. // Programa "piramide" //
  2.  
  3. #include <stdio.h>
  4.  
  5. int main() {
  6.   int altura;
  7.   You are not allowed to view links. Register or Login ("Introduce la altura del triangulo: ");
  8.   You are not allowed to view links. Register or Login ("%d",&altura);
  9.   for (int i=1; i <= altura; i++){
  10.     for (int a=1; a <= altura-i; a++){
  11.       You are not allowed to view links. Register or Login(" ");
  12.     }
  13.     for (int c=1; c <= i; c++){
  14.       You are not allowed to view links. Register or Login("*");
  15.     }
  16.     You are not allowed to view links. Register or Login("\n");
  17.   }
  18. }
  19.  

EDITO

De paso dejo esto que escribe el contorno de un triangulo.

Código: C
  1. // Este programa dibuja el contorno de un triangulo de 'x' altura //
  2.  
  3. #include <stdio.h>
  4.  
  5. int main(){
  6.   int altura;
  7.   You are not allowed to view links. Register or Login("Altura del triangulo: ");
  8.   You are not allowed to view links. Register or Login("%d",&altura);
  9.   for (int i = 1; i <= altura; i++){
  10.     if (i == 1){ // Hace la primera linea.
  11.       for (int a = 1; a <= altura-i ; a++){
  12.         You are not allowed to view links. Register or Login(" ");
  13.       }
  14.       You are not allowed to view links. Register or Login("*");
  15.     }
  16.     else if (i != 1 && i != altura){ // Hace las lineas interioes
  17.       for (int a = 1; a <= altura-i; a++){
  18.         You are not allowed to view links. Register or Login(" ");
  19.       }
  20.       You are not allowed to view links. Register or Login("*");
  21.       for (int a = 1; a <= i*2-3; a++){
  22.         You are not allowed to view links. Register or Login(" ");
  23.       }
  24.       You are not allowed to view links. Register or Login("*");
  25.     }
  26.     else{ // Hace la ultima linea
  27.       for (int a=1; a <= altura*2-1; a++){
  28.         You are not allowed to view links. Register or Login("*");
  29.       }
  30.     }
  31.     You are not allowed to view links. Register or Login("\n");
  32.   }
  33. }
« Última modificación: Diciembre 02, 2014, 03:26:18 pm por rollth »

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #2 en: Diciembre 02, 2014, 03:50:29 pm »
Pero, se suponía que era para hacerlo en perl...

Conectado rollth

  • *
  • Moderador Global
  • Mensajes: 856
  • Actividad:
    8.33%
  • Reputación 14
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #3 en: Diciembre 02, 2014, 07:26:29 pm »
No se donde dices eso, de todas formas no se programar en perl.

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 59
  • Actividad:
    0%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email
« Respuesta #4 en: Diciembre 03, 2014, 06:28:36 pm »
You are not allowed to view links. Register or Login
No se donde dices eso, de todas formas no se programar en perl.

 La sección es de scripting específicamente de desarrollo en perl. Y Juan aclaro que para revivir un poco esta sección iba a proponer una serie de desafíos, se suponía que fueran acerca de este lenguaje..
Ser mejor cada día es mi meta

 =LKI=

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #5 en: Diciembre 03, 2014, 08:14:24 pm »
Código: Perl
  1. my $hasta;
  2.  
  3. You are not allowed to view links. Register or Login "Tamano de la piramide: ";
  4. $hasta = <>;
  5.  
  6. for ($i=1; $i<=$hasta; $i++) {
  7.     You are not allowed to view links. Register or Login " " x ($hasta - $i) . "*" x $i . "\r\n";
  8. }

Saludos!
« Última modificación: Diciembre 03, 2014, 08:16:51 pm por Once »






You are not allowed to view links. Register or Login

Conectado rollth

  • *
  • Moderador Global
  • Mensajes: 856
  • Actividad:
    8.33%
  • Reputación 14
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #6 en: Diciembre 04, 2014, 09:52:29 am »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
No se donde dices eso, de todas formas no se programar en perl.

 La sección es de scripting específicamente de desarrollo en perl. Y Juan aclaro que para revivir un poco esta sección iba a proponer una serie de desafíos, se suponía que fueran acerca de este lenguaje..

Cierto, no me fije que estaba en la subseccion de Perl.

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #7 en: Diciembre 04, 2014, 02:33:31 pm »
Muy buena solución Once!!! aprovechando las características de perl :)

El bucle podría ser así también:

Código: Perl
  1. for my $i (1..$hasta)

Que queda mas simple.

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #8 en: Diciembre 04, 2014, 04:26:26 pm »
You are not allowed to view links. Register or Login
Muy buena solución Once!!! aprovechando las características de perl :)

El bucle podría ser así también:

Código: Perl
  1. for my $i (1..$hasta)

Que queda mas simple.

Tienes razón, no conocía esa sintaxis.

PD: ¿Habrán más ejercicios?

Saludos!






You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #9 en: Diciembre 04, 2014, 05:08:38 pm »
Once, pon tú otro si quieres en este mismo hilo, o en otro.

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #10 en: Diciembre 04, 2014, 05:25:16 pm »
Ok, entonces completar la piramide anterior

Citar
Tamano: 5
    *
   ***
  *****
 *******
*********

Saludos!






You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #11 en: Diciembre 04, 2014, 06:15:08 pm »
Código: Perl
  1. #!/usr/bin/perl
  2. You are not allowed to view links. Register or Login "Tamaño de la piramide: " and my $h = <>;
  3.      
  4. for (1..$h)
  5. {
  6.     You are not allowed to view links. Register or Login " " x ($h - $_) . "*" x (($_*2)-1) . "\n";
  7. }

Código: You are not allowed to view links. Register or Login
x@x:~/Escritorio$ perl piramide.pl
Tamaño de la piramide: 7
      *
     ***
    *****
   *******
  *********
 ***********
*************

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #12 en: Diciembre 04, 2014, 06:25:14 pm »
Sip, pon otro.

Saludos!






You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #13 en: Diciembre 05, 2014, 06:58:31 am »
Citar
El DNA es una hélice formada por dos cadenas, una complementaria de la otra, que avanzan en sentidos opuestos:

                5'    ACTCAGA    3'    à
        ß     3'    TGAGTCT    5'

En la cadena complementaria, las sustituciones de nucleótidos son las siguientes:
A    à    T
T    à    A
C    à    G
G    à    C

La dirección en la que siempre de deben dar las secuencias (por consenso) es 5' à 3'.

Escribe un programa que, dada una secuencia de DNA, calcule su complementaria.

    Secuencia de DNA: ACGGGAGGACGGGAAAATTACTACGGCATTAGC


Lo que está en rojo  ;D
« Última modificación: Diciembre 05, 2014, 07:00:09 am por Juan »

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #14 en: Diciembre 05, 2014, 01:16:26 pm »
Código: Perl
  1. my $cadena = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
  2. my %tabla = ("A"=>"T", "T"=>"A", "C"=>"G", "G"=>"C");
  3. my $complementario;
  4.  
  5.  
  6. foreach (You are not allowed to view links. Register or Login(You are not allowed to view links. Register or Login("", $cadena))) {
  7.     $complementario .=  $tabla{$_};
  8. }
  9.  
  10. You are not allowed to view links. Register or Login $cadena . "\r\n";
  11. You are not allowed to view links. Register or Login $complementario;


Saludos!






You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #15 en: Diciembre 05, 2014, 04:06:30 pm »
Esta es la mía  ;D

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. my $DNA = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
  4.  
  5. $DNA =~ tr/ATCG/TAGC/;
  6.  
  7. You are not allowed to view links. Register or Login You are not allowed to view links. Register or Login($DNA) . "\n";
  8.  
  9.  

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #16 en: Diciembre 05, 2014, 04:47:26 pm »
You are not allowed to view links. Register or Login
Esta es la mía  ;D

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. my $DNA = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
  4.  
  5. $DNA =~ tr/ATCG/TAGC/;
  6.  
  7. You are not allowed to view links. Register or Login You are not allowed to view links. Register or Login($DNA) . "\n";
  8.  
  9.  

Mi código es muy "pytónico"  :P
No entiendo (apenas estoy prendiendo Perl) ¿Son expresiones regulares?

PD: Para continuar, un script que le pida al usurio un número y le diga si el número es perfecto o no.

Saludos!






You are not allowed to view links. Register or Login

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #17 en: Diciembre 05, 2014, 06:08:09 pm »
Es lo que en perl se conoce comoYou are not allowed to view links. Register or Login.

Es decir, remplaza los caracteres que encuentra en el primer parámetro, con los que encuentra en el segundo parámetro, en su mismo orden.

Voy a cenar y hago el ejercicio que has propuesto tú  :)

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #18 en: Diciembre 05, 2014, 06:51:19 pm »
Aquí tienes mi solución.

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. my $num = <STDIN>;
  4. my $total = 0;
  5.  
  6. for (1..$num)
  7. {
  8.     $total += $_ if (($num % $_) == 0 and $num != $_)
  9. }
  10.  
  11. You are not allowed to view links. Register or Login "El numero es perfecto\n" if $total == $num;

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #19 en: Diciembre 05, 2014, 10:18:15 pm »
You are not allowed to view links. Register or Login
Es lo que en perl se conoce comoYou are not allowed to view links. Register or Login.

Es decir, remplaza los caracteres que encuentra en el primer parámetro, con los que encuentra en el segundo parámetro, en su mismo orden.

Voy a cenar y hago el ejercicio que has propuesto tú  :)

Gracias.

Pon otro.

Saludos!






You are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!



Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 2854
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 1325
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 970
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear
DoSing IP 1.0 - [Creado por SkillmaX] + Source [PERL]

Iniciado por SkillmaX

Respuestas: 0
Vistas: 1266
Último mensaje Julio 04, 2010, 10:14:31 am
por SkillmaX
[Uniscan] Scanner de vulnerabilidades WEB hecho en Perl

Iniciado por tar3kw0rm3d

Respuestas: 0
Vistas: 1473
Último mensaje Junio 02, 2013, 08:01:28 pm
por tar3kw0rm3d