| | Informatique [TD] | |
| | Auteur | Message |
---|
Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| Sujet: Informatique [TD] Jeu 22 Fév 2007 - 11:22 | |
| Quelques programmes étudiés en cours sous BASIC (Begginer's All purpose Symbolic Instruction Code). Pour utiliser BASIC, ouvrez OpenOffice Writer, allez dans Options, Macro, Gérer les macros, OpenOffice.org Basic, et là vous ouvrez un nouveau Module.
I. Utiliser les msgbox
Sub Bonjour msgbox("mon premier essai sous basic") msgbox("As-tu faim?",4,"Question") End Sub
4 : proposition de réponses : Oui / Non
=> Le programme affiche deux boîtes de message. La première qui affiche la première phrase, et la seconde qui vous pose la question, à laquelle vous devez répondre par Oui ou par Non.
II.Boucle For-Next Répéter un nombre de fois spécifiée les instructions dont le bloc forme la syntaxe.
Sub Boucle1 a$=inputbox$("Entrer un nombre","Comptage",5) Nfois=val(a$) Somme=0 For i=1 to Nfois Somme=Somme 2 Next i b$=str(somme) msgbox("le résultat est :"+b$) End Sub
str : valeur sous forme de chaîne de caractère représentant un nombre = : correspond à une affectation
=> Le programme part de 0 et ajoute 2 autant de fois que le nombre que vous avez entré. Si vous entrez 5 : 0 + (2*5) = 10
III.Boucle If-Then-Else Ceci défini un ou plusieurs bloc d'instruction ne devant s'exécuter que si une condition donnée est remplie (True)
Sub Condition1 a$=inputbox$("Entrez un nombre entre 1 et 20","Devinette","3") If a$<>"12" then msgbox("Perdu, j'ai pensé à un autre nombre que "+a$) Else msgbox("Bien joué, je pensais bien à "+a$) EndIf End Sub
=> Le programme vous pose une devinette. Vous devez trouver quel nombre il a choisi. Il vous repose la devinette jusqu'à ce que vous ayez trouvé.
Dernière édition par le Mar 3 Avr 2007 - 12:04, édité 7 fois | |
| | | Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| Sujet: Re: Informatique [TD] Jeu 22 Fév 2007 - 11:42 | |
| IV. Boucle Do Loop avec Do While = exécuter tant que avec Do Until = exécuter jusqu'à ce que
Sub DoLoop a$=inputbox$("Entrez un nombre entre 1 et 9","Devinette","1") Do until a$=9 msgbox("Faux! Essayez encore!") a$=inputbox$("Entrez un nombre entre 1 et 9","Devinette","1") Loop msgbox("Bravo, c'était bien "+a$) End Sub
=> Le programme cherche à vous faire deviner un nombre. Il tourne jusqu'à ce que vous l'ayez trouvé. Vous pouvez remplacer la ligne Do until a$ = 9 Par Do while a$<>9
V.Contexte gauche
Sub Contextgauche1 a$=inputbox$("Insérez une phrase","Phrase","Le chat est noir") b$=inputbox$("Insérez l'un des mots de cette phrase","Mot","noir") K=instr(a$,b$) gch$=Left$(a$,K-1) msgbox("Le contexte gauche est : "+gch$) End Sub
=> Le programme détermine tout ce qui est situé à gauche du mot que vous avez choisi, dans la phrase que vous avez insérée
VI. Devoirs à faire chez soi sur les suites : (J'ai fait ces deux programmes, et ils fonctionnent, mais le professeur ne les as pas vérifiés)
Calculez le dernier terme d'une suite arithmétique entrée par l'utilisateur (demandez U1, R et Un) :
Sub Suite u$=inputbox$("Donnez le premier terme de la suite","Premier terme","1") u0=val(u$) r$=inputbox$("Quelle est la raison de cette suite?","Raison","2") rais=val(r$) n$=inputbox$("De combien de terme(s) est constituée cette suite?","Nombre de termes","5") nb=val(n$) term=(u0 (nb-1)*rais) s$=str(term) msgbox("Le dernier terme de la suite est égal à "+s$) End Sub
Calculez le 351e nombre impair (r=2, U1=1, Un = 351)
Sub Main a$=1 u0=val(a$) r$=2 rais=val(r$) n$=351 nb=val(n$) resul=(U0 (nb*rais)) s$=str(resul) msgbox("Le 351e nombre impaire est "+s$) End Sub
=> Le 351e nombre impaire est 703
Dernière édition par le Mar 3 Avr 2007 - 12:06, édité 11 fois | |
| | | Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| Sujet: Re: Informatique [TD] Jeu 22 Fév 2007 - 11:54 | |
| VII. Dimension
Sub Semaine DIM Semaine$(7) Semaine$(1)="Dimanche" Semaine$(2)="Lundi" Semaine$(3)="Mardi" Semaine$(4)="Mercredi" Semaine$(5)="Jeudi" Semaine$(6)="Vendredi" Semaine$(7)="Samedi" a$=inputbox$("Choisissez un nombre entre 1 et 7, on vous dira le jour que c'est..."+chr$(10)+"Attention la semaine commence le dimanche!!!","Semaine","3") msgbox("Vous avez choisi le "+Chr(10)+Semaine$(a$)) End Sub
Dim : déclare et alloue un espace de stockage pour une variable donnée. Ici, on déclare une variable qui s'appelle "Semaine" et qui contient 7 valeurs.
=> Le programme affiche le jour correspondant au chiffre que vous avez entré.
VIII. Conjugueur
Sub Conjugueur open"C:/test1vb/verbe.txt" for output as 1 vb$=inputbox$("Entrez un verbe du premier groupe","Conjugueur","émerger") DIM Pp$(6) Pp$(1)="Je " Pp$(2)="Tu " Pp$(3)="Il/elle " Pp$(4)="Nous " Pp$(5)="Vous " Pp$(6)="Ils/elles " DIM Flexvb$(6) Flexvb$(1)="e" Flexvb$(2)="es" Flexvb$(3)="e" Flexvb$(4)="ons" Flexvb$(5)="ez" Flexvb$(6)="ent" Rad$=Left$(vb$,Len(vb$)-2) K=Instr("a,e,i,o,u,y,é,h",Left$(rad$,1)) If K>0 Then Pp$(1)="J'" EndIf L=Instr("g",Right$(rad$,1)) If L>0 Then Flexvb$(4)="eons" EndIf For i=1 to 6 Conj$=Pp$(i)+rad$+Flexvb$(i) Print #1,Conj$ Next i Close #1 End Sub
=> Le programme vous conjugue les verbes du premier groupe en tenant compte des J' devant une voyelle ou un h et des e devant la première personne du pluriel dans les verbes comme manger : mangeons
Dernière édition par le Ven 9 Mar 2007 - 20:50, édité 1 fois | |
| | | Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| Sujet: TD n°4 Mar 6 Mar 2007 - 13:10 | |
| Hypertext Markup Language (HTML)
url = http:// www. competencemicro.com/ supp/ index.html
http = protocole www.competencemicro.com = nom du serveur supp = répertoire sur le serveur index.html = document html
http : pour communiquer par l'intermédiaire d'un navigateur ftp : transformer des pages du navigateur au fournisseur à l'aide d'un programme ftp
1. Créer un dossier 1 bis. Ouvrir un éditeur (ex : wordpad) 2. Ouvrir un nouveau fichier (fichier puis nouveau ou ctrl+n) 3.Selectionner "texte seulement" 4. Enregistrer sous, format "texte MS-DOS", avec extension .htm
(MS-Dos = Microsoft Discography Systeme)
Introduction aux commandes Les commandes de formatage sont appelés TAGS ou bien MARQUEUR, ETIQUETTE, BALISE
Commande HTML<code> Bon.. J'ai un petit soucis avec la suite du cours, sachant que le forum prend en compte le format HTML, je ne peux pas taper les balises sans que cela transforme directement le texte (j'ai essayé en mettant des points, des espaces, des étoiles, etc. dans les balises, rien n'y fait...) | |
| | | Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| Sujet: Re: Informatique [TD] Ven 9 Mar 2007 - 20:53 | |
| Devoir Conjugueur :
Moi je l'ai fait comme ça, après vous pouvez le modifier comme vous vouler, changer les tournures de phrase ou encore la manière d'affichage.. Si vous l'envoyez au prof, merci de faire quelques modifications que je ne sois pas accusée de copiage pour avoir voulu aider les autres..
Sub Sousprogramme msgbox("Nous allons conjuguer un verbe : ") Call Present Call Futur Call Imparfait End Sub
Sub Present open"C:/test1vb/verbe.txt" for output as 1 vb$=inputbox$("Entrez un verbe du premier groupe","Conjugueur présent","émerger") DIM Pp$(6) Pp$(1)="Je " Pp$(2)="Tu " Pp$(3)="Il/elle " Pp$(4)="Nous " Pp$(5)="Vous " Pp$(6)="Ils/elles " DIM Flexvb$(6) Flexvb$(1)="e" Flexvb$(2)="es" Flexvb$(3)="e" Flexvb$(4)="ons" Flexvb$(5)="ez" Flexvb$(6)="ent" Rad$=Left$(vb$,Len(vb$)-2) K=Instr("a,e,i,o,u,y,é,h",Left$(rad$,1)) If K>0 Then Pp$(1)="J'" EndIf L=Instr("g",Right$(rad$,1)) If L>0 Then Flexvb$(4)="eons" EndIf For i=1 to 6 Conj$=Pp$(i)+rad$+Flexvb$(i) Print #1,Conj$ Next i Close #1 End Sub
Sub Futur open"C:/test1vb/verbe2.txt" for output as 2 vb$=inputbox$("Entrez un verbe du premier groupe","Conjugueur futur","émerger") DIM Pp$(6) Pp$(1)="Je " Pp$(2)="Tu " Pp$(3)="Il/elle " Pp$(4)="Nous " Pp$(5)="Vous " Pp$(6)="Ils/elles " DIM Flexvb$(6) Flexvb$(1)="erai" Flexvb$(2)="eras" Flexvb$(3)="era" Flexvb$(4)="erons" Flexvb$(5)="erez" Flexvb$(6)="eront" Rad$=Left$(vb$,Len(vb$)-2) K=Instr("a,e,i,o,u,y,é,h",Left$(rad$,1)) If K>0 Then Pp$(1)="J'" EndIf For i=1 to 6 Conj$=Pp$(i)+rad$+Flexvb$(i) Print #2,Conj$ Next i Close #2 End Sub
Sub Imparfait open"C:/test1vb/verbe3.txt" for output as 3 vb$=inputbox$("Entrez un verbe du premier groupe","Conjugueur imparfait","émerger") DIM Pp$(6) Pp$(1)="Je " Pp$(2)="Tu " Pp$(3)="Il/elle " Pp$(4)="Nous " Pp$(5)="Vous " Pp$(6)="Ils/elles " DIM Flexvb$(6) Flexvb$(1)="ais" Flexvb$(2)="ais" Flexvb$(3)="ait" Flexvb$(4)="ions" Flexvb$(5)="iez" Flexvb$(6)="aient" Rad$=Left$(vb$,Len(vb$)-2) K=Instr("a,e,i,o,u,y,é,h",Left$(rad$,1)) If K>0 Then Pp$(1)="J'" EndIf L=Instr("g",Right$(rad$,1)) If L>0 Then Flexvb$(1)="eais" Flexvb$(2)="eais" Flexvb$(3)="eait" Flexvb$(6)="eaient" EndIf For i=1 to 6 Conj$=Pp$(i)+rad$+Flexvb$(i) Print #3,Conj$ Next i Close #3 End Sub
une fois cela fait, vous lancer le programme, entrez les verbes, et allez ouvrir les différents fichiers .txt dans votre répertoire (dont vous pouvez changer le nom au début de chaque conjugueur) crée dans C:. Vous verez ainsi votre verbe conjugué aux trois temps demandé (un temps par .txt)
Vous pouvez chercher un moyen de faire un seul fichier texte ou autre si quelque chose ne vous convient pas. | |
| | | Maximilien Guérin Modo
Nombre de messages : 343 Age : 37 Cursus : Doctorat Date d'inscription : 06/10/2006
| Sujet: Re: Informatique [TD] Mar 20 Mar 2007 - 14:35 | |
| Il y a des cours intéressants sur le site du Secteur TAL Informatique de Paris III, dont des cours HTML et VisualBasic. | |
| | | églantin Invité
| Sujet: Re: Informatique [TD] Mer 28 Mar 2007 - 16:47 | |
| c'est cool mais y pas mal d'erreurs dans tes codes, vérifies qu'ils fonctionnent bien avant ... |
| | | Alex Aide hyper-active
Nombre de messages : 119 Age : 36 Localisation : Seine-Saint-Denis Cursus : 3ème Date d'inscription : 05/10/2006
| | | | Vi Invité
| Sujet: conjugueur Sam 25 Avr 2009 - 12:34 | |
| Bonjour à tous! j'espère que vous avez passé de bonnes vacances. Je voulais un renseignement pour la création de mon conjugueur.J'ai créé le conjugeur au présent, à l'imparfait et au futur qui marchent bien individuellemnt et j'ai fais un sous programme afin de les relier et que l'utilisateur puisse choisir la conjugaison au temps qu'il souhaite: 1 pour le présent,2 pour l'imparfait et 3 le futur.
sub Sousprogrammes Call Bonjour msgbox("Je vais vous aider à conjuguer un verbe! ") a$=InputBOX$=("Entrez 1 si vous voulez une conjugaison au présent ou bien 2 pour l'imparfait ou 3 pour le futur") if a$="1" THEN CALL conjugeurpresent if a$="2" then CALL conjugeurimparfait msgbox("Voilà, le temps de l'imparfait") ElseIf a$ ="3" CALL conjugeurfutur EndIf End Sub
Mais le compilateur n'accepte pas un "elseif"et me dit: "erreur de syntaxe basic: Else/Endif sans if". Quelqu'un peut-il me conseiller sur la démarche à suivre pour rectififier mon erreur? Je n'arrive toujours pas à trouver malgré mes différents essais.
Je vous remercie |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Sam 25 Avr 2009 - 12:46 | |
| bonjour dans le bloc d'instruction : if qq chose then quoi faire end ifdonc déjà espace pour end if. ensuite, pour rajoutrer des vérifications supplémentaires dans le bloc : if qq chose then quoi faire elseif qq chose then quoi faire elseif qq chose then quoi faire end ifdonc elseif attaché, end if séparé, rien après then... réessayez comme ça | |
| | | Vi Invité
| Sujet: Re: Informatique [TD] Sam 25 Avr 2009 - 16:56 | |
| Merci beaucoup!!! Le compilateur accepte maintenant le sous -programme mais... je suis désolée de vous embêtez...il refuse à presént le "sub conjugueurpresent" pourtant dans d'autres exercices cela fonctionne. Il indique "sub non autorisé dans une procédure". Est-ce normal? Je vous remercie |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Sam 25 Avr 2009 - 18:08 | |
| de rien remettez le code complet (sous progs et les call...) pour voir car si les autres sub fonctionnent, c'est pas logique que celui-ci seul bloque. | |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Sam 25 Avr 2009 - 18:20 | |
| bon, n'envoyez rien, j'ai regardé sur agora (enfin, si c'est bien vous qui avez déposé à 18h01...)
donc 2 choses : 1ere chose, la fonction inputbox ne veut pas de signe = devant les ( ) donr le retirer. ensuite et c'est pour ça que ça bloque au niveaudu sub, il y a un if qui traine tout seul, le pauvre... pour bien faire il faut remplacer le if solitaire par elseif comme indiqué plus haut dans les blocs d'instructions...
donc transformez ça : a$=InputBOX$=("Entrez 1 si vous voulez une conjugaison au présent ou bien 2 pour l'imparfait ou 3 pour le futur") par ça : a$=InputBOX$("Entrez 1 si vous voulez une conjugaison au présent ou bien 2 pour l'imparfait ou 3 pour le futur")
puis transformez ça : if a$="2" then par ça : elseif a$="2" then
normalement, ça marche... | |
| | | Vi Invité
| Sujet: Re: Informatique [TD] Sam 25 Avr 2009 - 19:13 | |
| Bonsoir, Ca a marché! Merci beaucoup, j'ai fais les deux corrections comme vous me l'avez conseillé et ça fonctionne très bien maintenant. Je vous remercie, car je n'arrivais vraiment pas à le faire fonctionner.C'est vraiment très gentil à vous. Vi |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Dim 10 Mai 2009 - 20:49 | |
| bonsoir, même si j'ai fait un mail collectif, je remets ici l'information :
---------------- bonjour si vous rencontrez des difficultés ou problèmes pour la mise en ligne de vos sites (références de pages, liens vers images, identifiants...), ça vous intéresse ! je serai disponible physiquement à la fac au laboc le lundi 11 mai de 12h30 à 15h le vendredi 15 mai de 10h30 à 15h et je ferai une session CHAT sur Agora le jeudi 14 mai de 10h à 16h pour cela, il faudra se connecter à Agora et cliquez sur le lien "Sessions SOS" avec la bulle... merci à vous et à très bientôt. -----------------
voilà ! en sachant que Agora sera non accessible le mardi 12 mai pour maintenance ! | |
| | | Lo. Invité
| Sujet: Re: Informatique [TD] Lun 11 Mai 2009 - 22:15 | |
| J'ai bien réécris le programme suivant donné par mon prof (en mettant correctement les msgbox...) et il marche correctement, mais je dois quand meme rajouter la boucle For to next et je ne sais pas où ! Un peu d'aide serait la bienvenue !
Le programme affiche (MsgBox): Bienvenue dans le programme de calcul mental. Vous allez devoir répondre à 4 questions de calcul mental simple Le programme affiche (InputBox) Question 1 : 32 + 54 = ? L'utilisateur répond : 86 Le programme affiche (MsgBox) : Bonne réponse Le programme affiche (InputBox) Question 2: 74 + 7 ? L'utilisateur répond : 82 Le programme affiche (MsgBox): Mauvaise réponse. Le bon résultat était 81 Le programme affiche (InputBox) Question 3: 90 + 15 ? L'utilisateur répond : 110 Le programme affiche (MsgBox) : Mauvaise réponse. Le bon résultat était 105 Le programme affiche (InputBox) Question 4: 12 + 20 ? L'utilisateur répond : 32 Le programme affiche (MsgBox) : Bonne réponse Le programme affiche (MsgBox) : Votre score est 2 bonnes réponses sur 4. Bonne journée. |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Lun 11 Mai 2009 - 22:31 | |
| heu..., pourquoi mettre une boucle For next... même avec des mauvaises réponses le programme pose bien 4 question, pas besoinde mettre un for i = 1 to 4 par exemple... | |
| | | Lo. Invité
| Sujet: Re: Informatique [TD] Mar 12 Mai 2009 - 14:27 | |
| Je ne vois pas aussi l'utilité de mettre ces boucles, mais mon prof le demande dans la consigne... |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Mar 12 Mai 2009 - 15:08 | |
| si vous pouvez mettre les consignes complètes pour voir où on pourrait bien les mettre (si on peut...) | |
| | | Lo. Invité
| Sujet: Re: Informatique [TD] Mar 12 Mai 2009 - 15:37 | |
| Enoncé Ecrire un programme de calcul mental : Sub CalculMental(). C'est à dire un programme qui va poser 4 calculs à effectuer de tête, avec calcul du score, c'est à dire un point par calcul réussi. Bien entendu les calculs doivent être pris au Hasard . Voici comment le programme doit fonctionner (Les chiffres sont des exemples)
Le programme affiche (MsgBox): Bienvenue dans le programme de calcul mental. Vous allez devoir répondre à 4 questions de calcul mental simple Le programme affiche (InputBox) Question 1 : 32 + 54 = ? L'utilisateur répond : 86 Le programme affiche (MsgBox) : Bonne réponse Le programme affiche (InputBox) Question 2: 74 + 7 ? L'utilisateur répond : 82 Le programme affiche (MsgBox): Mauvaise réponse. Le bon résultat était 81 Le programme affiche (InputBox) Question 3: 90 + 15 ? L'utilisateur répond : 110 Le programme affiche (MsgBox) : Mauvaise réponse. Le bon résultat était 105 Le programme affiche (InputBox) Question 4: 12 + 20 ? L'utilisateur répond : 32 Le programme affiche (MsgBox) : Bonne réponse Le programme affiche (MsgBox) : Votre score est 2 bonnes réponses sur 4. Bonne journée.
Pour ce programme vous DEVEZ utiliser une boucle For To Next pour éviter de répéter 4 fois le même code Visual Basic. S'il y avait 50 questions à la place de 4, on se rendrait compte que ce ne serait pas possible sans For To Next. |
| | | luiggisanso Professeur
Nombre de messages : 94 Age : 48 Localisation : quelque part, pas loin qq ch à dire ? : beaucoup mais pas de place... Cursus : 2002 --> 2009 et ... Date d'inscription : 15/11/2008
| Sujet: Re: Informatique [TD] Mer 20 Mai 2009 - 21:04 | |
| bon après plusieurs cauchemards, je ne vois toujours pas pourquoi la boucle for next serait inévitazble... les questions sont posées au hasard, mais c'est vous qui les écrivez... si elles étaient générées automatiquement avec un tri aléatoire des additions, oui, la boucle... mais là, faites sans, j'ai regardé d'autres travaux, c'est sans... | |
| | | Contenu sponsorisé
| Sujet: Re: Informatique [TD] | |
| |
| | | | Informatique [TD] | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |