Résolution de scripts shell

Fermé
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 - 18 juin 2009 à 18:06
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 - 18 juin 2009 à 19:25
Bonjour,
qqn peut résoudre ces exercices pliiiiz ? :D
-->Vous devez afficher le nombre d’arguments passés à votre script. Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1.

-->Vous devez créer un script qui affiche les n premiers chiffres impaires sur la sortie standard, où n est le premier argument passé à votre script. Si le nombre d’arguments passés est différent de 1 vous devez suivre le comportement décrit dans l’exemple ce-dessous. Si l’argument 1 n’est pas un nombre, suivez l’exemple (aussi).

-->Vous devez coder une fonction qui prend un seul et unique argument n ( 3) et qui construit Un sapin. La largeur du tronc doit etre de 1, peu importe la longueur.

18 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 18:08
0
jipicy - 22 sec.
Trop fort !

;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > PyNux
18 juin 2009 à 18:12
Chuuutttt, c'est secret ;-))
0
FlorianWebmastering Messages postés 237 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 19 juin 2009 20
18 juin 2009 à 18:10
Nous sommes là pour vous aider, pas pour mâcher pour vous le travail et vous le régurgiter dans le gosier.

à bon entendeur.
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:13
bn premièrement sé po un exercice ! sé une préparation deuxiemement jé déja résolu les exos mais il reste qqs lacunes -_- sé pour ça que jé déposé ces exos pour voir la différence entre mon shit et le shit des autres!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 18:13
Salut,

Merci de bien vouloir rédiger vos messages dans un langage c­ompréhensible par tous...

Donc, de faire un effort ! ;-((
0
FlorianWebmastering Messages postés 237 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 19 juin 2009 20
18 juin 2009 à 18:16
Bien dans ce cas postez vos codes, nous vous aideront à les corriger, ou à les améliorer.
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:20
ok!
à commencer par le premier .
#! /bin/bash
test -s $#
if [$#=0]
then
echo 1
else
echo $#
fi
0
FlorianWebmastering Messages postés 237 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 19 juin 2009 20
18 juin 2009 à 18:21
Okay !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 18:28
Non pas Okay ;-(

Vous devez afficher le nombre d’arguments passés à votre script. Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1.
#! /bin/sh

#set -xv

if [ "$#" != 0 ]
then
echo "Nombre d'arguments : " $#
else
exit 1
fi
Serait plus en rapport avec l'énoncé, non ?
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:33
ouépp ;) dééja ils ont di dans l'énoncé qu'il faut utiliser exit ;) merci
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:35
pr le deuxieme j'arrive pa a bien formuler le script :( jé déja fait l'algorithme mais je trouve des problèmes avec "la division entière etc.."
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 18:37
Même topo que précédemment, affiches déjà ce que tu as fait !
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:45
la ligne : #set -xv à quoi sert elle ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 18:53
Si on la décommente, ça permet de rendre le script plus verbeux et de voir l'interprétation des variables par le shell, causes de nombreux soucis ;-(
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 18:59
pour le premier script lorsque je tappe aucun argument il affiche pas le !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 19:04
C'est normal, pour le voir il faut taper dans le shell d'où tu as lancé le script :
echo $?
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 19:08
oui je l'ai déja fait mais ça affiche "0" et non pas la valeur 1 :/
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 19:12
[tmpfs]$ ./mad.sh 1
Nombre d'arguments :  1

[tmpfs]$ echo $?
0

[tmpfs]$ ./mad.sh

[tmpfs]$ echo $?
1
[tmpfs]$  
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 19:17
"Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1"
d'après ce que j'ai compris ils veulent dire que lorsque on exécute le script sans aucun argument il doit afficher le "1" non ? sé pa ça ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 juin 2009 à 19:23
votre programme doit retourner 1"
Ben c'est ce qu'il fait quand on le lui demande ;-)

Ou alors tu stockes la valeur dans une variable et tu l'affiches :
[tmpfs]$ cat mad.sh
#! /bin/sh

#set -xv

if [ "$#" != 0 ]
then
echo "Nombre d'arguments : " $#
retval="$?"
else
retval="$?"
fi

echo "Code de retour de la fonction1 : " $retval

[tmpfs]$ ./mad.sh 1 2 3
Nombre d'arguments :  3
Code de retour de la fonction1 :  0

[tmpfs]$ ./mad.sh
Code de retour de la fonction1 :  1

[tmpfs]$   
0
mad skillz Messages postés 194 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 décembre 2009 15
18 juin 2009 à 19:25
pour l'exercice su sapin voila jé pu le faire en C mais j'arrive carrément pas à le coder en shell script :/
void sapin(N)
{

int i,b,j,k;

for(b=0;b<2;b++)
	{
	 for(i=0;i<n;i++)
	  {
	   for(j=0;j<n-i-1;j++)
		printf(" ");
	   for(k=0;k<(i*2)-+1;k++)
	        printf("*");
	  }
	}
for(i=0;i<5;i++)
	{
	 for(j=0;j<(n/2)+1;j++)
	  printf(" ");
	  printf("*\n");
	}
}
*void sapin(N)
{

int i,b,j,k;

for(b=0;b<2;b++)
	{
	 for(i=0;i<n;i++)
	  {
	   for(j=0;j<n-i-1;j++)
		printf(" ");
	   for(k=0;k<(i*2)-+1;k++)
	        printf("*");
	  }
	}
for(i=0;i<5;i++)
	{
	 for(j=0;j<(n/2)+1;j++)
	  printf(" ");
	  printf("*\n");
	}
}
0