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.
Introduce la altura del triangulo: 5
*
**
***
****
*****
¡Animaros!
Yo me animo, me lie un poco la cabeza, pero aqui esta.
// Programa "piramide" //
#include <stdio.h>
int main() {
int altura;
printf ("Introduce la altura del triangulo: ");
scanf ("%d",&altura);
for (int i=1; i <= altura; i++){
for (int a=1; a <= altura-i; a++){
printf(" ");
}
for (int c=1; c <= i; c++){
printf("*");
}
printf("\n");
}
}
EDITO
De paso dejo esto que escribe el contorno de un triangulo.
// Este programa dibuja el contorno de un triangulo de 'x' altura //
#include <stdio.h>
int main(){
int altura;
printf("Altura del triangulo: ");
scanf("%d",&altura);
for (int i = 1; i <= altura; i++){
if (i == 1){ // Hace la primera linea.
for (int a = 1; a <= altura-i ; a++){
printf(" ");
}
printf("*");
}
else if (i != 1 && i != altura){ // Hace las lineas interioes
for (int a = 1; a <= altura-i; a++){
printf(" ");
}
printf("*");
for (int a = 1; a <= i*2-3; a++){
printf(" ");
}
printf("*");
}
else{ // Hace la ultima linea
for (int a=1; a <= altura*2-1; a++){
printf("*");
}
}
printf("\n");
}
}
Pero, se suponía que era para hacerlo en perl...
No se donde dices eso, de todas formas no se programar en perl.
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
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..
my $hasta;
print "Tamano de la piramide: ";
$hasta = <>;
for ($i=1; $i<=$hasta; $i++) {
print " " x ($hasta - $i) . "*" x $i . "\r\n";
}
Saludos!
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
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.
Muy buena solución Once!!! aprovechando las características de perl :)
El bucle podría ser así también:
for my $i (1..$hasta)
Que queda mas simple.
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Muy buena solución Once!!! aprovechando las características de perl :)
El bucle podría ser así también:
for my $i (1..$hasta)
Que queda mas simple.
Tienes razón, no conocía esa sintaxis.
PD: ¿Habrán más ejercicios?
Saludos!
Once, pon tú otro si quieres en este mismo hilo, o en otro.
Ok, entonces completar la piramide anterior
Citar
Tamano: 5
*
***
*****
*******
*********
Saludos!
#!/usr/bin/perl
print "Tamaño de la piramide: " and my $h = <>;
for (1..$h)
{
print " " x ($h - $_) . "*" x (($_*2)-1) . "\n";
}
x@x:~/Escritorio$ perl piramide.pl
Tamaño de la piramide: 7
*
***
*****
*******
*********
***********
*************
Sip, pon otro.
Saludos!
CitarEl 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
my $cadena = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
my %tabla = ("A"=>"T", "T"=>"A", "C"=>"G", "G"=>"C");
my $complementario;
foreach (reverse(split("", $cadena))) {
$complementario .= $tabla{$_};
}
print $cadena . "\r\n";
print $complementario;
Saludos!
Esta es la mía ;D
#!/usr/bin/perl
my $DNA = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
$DNA =~ tr/ATCG/TAGC/;
print reverse($DNA) . "\n";
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Esta es la mía ;D
#!/usr/bin/perl
my $DNA = "ACGGGAGGACGGGAAAATTACTACGGCATTAGC";
$DNA =~ tr/ATCG/TAGC/;
print reverse($DNA) . "\n";
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!
Es lo que en perl se conoce como trasliteración (http://perldoc.perl.org/functions/tr.html).
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ú :)
Aquí tienes mi solución.
#!/usr/bin/perl
my $num = <STDIN>;
my $total = 0;
for (1..$num)
{
$total += $_ if (($num % $_) == 0 and $num != $_)
}
print "El numero es perfecto\n" if $total == $num;
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Es lo que en perl se conoce como trasliteración (http://perldoc.perl.org/functions/tr.html).
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!
Ahí va:
CitarHacer un programa con el que, a partir de un fichero del siguiente tipo:
12345:Lopez,Juan:JL
58694:Martinez,Luis:LM
36495:Abad,Ramon:RA
93764:Garcia,Jose:JG
obtengamos una salida del siguiente tipo:
ID Iniciales Nombre
12345 JL Juan Lopez
58694 LM Luis Martinez
36495 RA Ramon Abad
93764 JG Jose Garcia