[PDF] TD 03 – Programmation Dynamique (corrigé)





Previous PDF Next PDF



Programmation événementielle avec VB.NET

Exercice : Ecrire le code VB.NET permettant de demander les 3 matières le plus préférées pour un étudiant les stocker dans un tableau puis les 



TRAVAUX DIRIGES Visual Basic DEUST - 1 TRAVAUX DIRIGES Visual Basic DEUST - 1

TD Programmation évènementielle. 1/10. H. TSOUNGUI. Exo-1 Programme de calcul de TVA. Pour ce premier exercice il vous est proposé un formulaire. Par la suite 



Initiation à la programmation évènementielle avec VBA (Visual Initiation à la programmation évènementielle avec VBA (Visual

Proposition de corrigé. Exercice 1 Découverte d'un évenement et manipulation des cellules Excel. Private Sub Worksheet_SelectionChange(ByVal Target As Range).



Programmation Visual basic - Cours Programmation Visual basic - Cours

objet la programmation événementielle et le langage de VB). Les séquences qui Reprenez le corrigé de l'exercice 30 et modifiez-le pour que : – au ...



VISUAL BASIC .NET : TUTORIAL

Dans cette section nous allons présenter les structures de base de la programmation en VB. Visual Basic .NET : tutorial. - 41 -. 3.2.8 Exercices a. Programmez ...



La programmation orientée objet - 4e édition : Cours et exercices en

Avec 80 exercices corrigés. N°12376 5e édition



VISUAL BASIC COURS DINITIATION avec exercices et corrigés

Il est maintenant grand temps pour vous de passer aux premières joies de la programmation VB ... Ainsi nous avons découvert la programmation événementielle. C ...



175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

Les bases de la programmation événementielle (12 exercices) • Les principaux Visual Basic"} ;. System.out.println ("hasard sur tabs = " + hasard (tabs) ...



Excel - Programmation VBA

VBA (Visual Basic pour Applications) est un langage de programmation dédié principalement aux applications Microsoft Office. Il est basé sur le langage Visual 



ATELIER PROGRAMMATION EVENEMENTIELLE

TP N° 1 – Première application VB. Exercice 1 : L'objectif du de cet exercice est de construire étape par étape un programme VB qui permet de calculer et 



Programmation événementielle avec VB.NET

Exercice : Ecrire le code VB.NET permettant de demander les 3 matières le plus préférées pour un étudiant les stocker dans un tableau puis les 



Programmation Visual basic - Cours

?Exercice 8?. Écrivez le code VB dans la procédure événementielle (entre le Private sub et le End. Sub). Testez le programme. Cela doit marcher. Page 28 



VISUAL BASIC COURS DINITIATION avec exercices et corrigés

certains objets sont fournis par le langage de programmation lui-même. VB étant un langage objet donc événementiel



ATELIER PROGRAMMATION EVENEMENTIELLE

Atelier Programmation Evénementielle. 7. TP N° 1 – Première application VB. Exercice 1 : L'objectif du de cet exercice est de construire étape par étape un 



La programmation orientée objet - 4e édition : Cours et exercices en

Avec 80 exercices corrigés. Programmation événementielle . ... versions de Visual Basic et Visual C++) en intégrant les mêmes briques de base de l'OO.



Programmation structurée en Visual Basic Premiers pas

Il s'agit d'un langage de programmation événementielle dans Visual Basic.net ; ce cours ne présente pas les spécificités de ce langage. V14 (16-10-2009).



Le Tableur EXCEL La Programmation en VBA

III.5. Exercice I. INTRODUCTION A EXCEL VBA. EXCEL VBA (Visual Basic pour Application) est un langage de programmation.



Visual Basic développement

programmation Objet l'interaction avec les bases de données et les Active X Data support de cours



Les bases de linformatique et de la programmation

exercice TAD et solution d'implantation Programmation événementielle et visuelle ... Net procure à Visual Basic un statut de langage hybride).



Cours VB.NET

8 janv. 2011 Il s'agit d'un cours de Visual Basic. ... III-B - Programmation évènementielle : le premier ... VII-E-8 - Exercices sur les fonctions et ...



VISUAL BASIC COURS D'INITIATION avec exercices et corrigés

éléments de l’interface graphique de Windows éléments que VB met à la disposition du programmeur pour qu’il constitue ses propres applications Ainsi les contrôles les plus fréquents sont : la feuille le bouton de commande la liste la case à cocher le bouton radio etc



Les meilleurs cours et tutoriels pour apprendre la programmation avec

Cours VB NET par BI et LM 1ère année ENIM 72 Contrôles Cases Cases à cocher (CheckBox) : permettent des choix indépendants même s’ils sont regroupés dans un même cadre (GroupBox) Cases d’options (RadioButton) : permettent de choisir une seule option parmi un groupe de choix exclusif



Chapitre 1 : Introduction à la programmation événementielle

1 2 La programmation événementielle Il existe un ensemble de langages de programmation chacun est spécialisé dans un domaine d’application donné et chacun possède un type spécifique On distingue : - Programmation structuré ou modulaire: le programme est vu comme un ensemble d’unités structurés hiérarchiquement



Programmation - Programmation orientée objets et évênementielle

Programmation Introduction Le Cours Unité d’enseignement 3 2 Module 3 23 : Outils et méthodes informatiques pour le multimédia Volume horaire : 30 h (6 h Cours 6 h TD 18 h TP) Objectifs : acquérir les notions de base de la programmation orientée objets (POO) et de la programmation évênementielle



Cours & Exemples pratiques LA VOIE INSET

les concepts tels que: la Programmation evenementielle l'architecture client-serveur et le développement "object-oriented" Le langage utilisé pour apprendre à développer les applications est Visual Basic La version la plus récente de VB fait partie de la suite Visual Studio NET introduit l'an dernier Le



Aperçu général de Visual Basic

Programmation visuelle et événementielle • Windev Delphi Power Objects et Visual Basic permettent de développer des applications avec interfaces graphiques • Dans les applications traditionnelles c'est l'application elle-même et non un événement qui contrôle les parties du code



Programmation dynamique - LRI

Question 2 2 Donner l’algorithme utilisant la programmation dynamique Correction Entr ee : un ensemble d’objects P= f1;:::;ng L’objet i a une valeur v i et un poids s i Sortie : un entier 1 Intialiser tous les el ements du tableau T a z ero 2 Pour tout i allant de 1 a n (a)Pour tout j allant de 1 a D 2 (a) 1 Si j < v i alors T[i;j



Programmation avancée Corrigé Exercice introductif - EPFL

Programmation avancée Corrigé Exercice introductif Exercice 1 La fonction présentée au cours s’arrête lorsque jx y2j< c où c est une constante (p ex 0 001) – Avec cette condition d’arrêt l’incertitude tolérée est une constante (c) Elle est donc indépendante de l’ordre de grandeur du nombre dont on recherche la racine



TD 03 – Programmation Dynamique (corrigé)

TD 03 – Programmation Dynamique (corrigé) (Polygones) Exercice 1 Triangulation de polygones On considère les polygones convexes du plan Une triangulation d’un polygone est un ensemble de cordes qui ne se coupent pas à l’intérieur du polygone et qui le divisent en triangles 1



Programmation C Corrige du TD#7: Structures

Programmation C Corrige du TD#7: Structures-----/* Exercice 1 1 Définition de nom de type Définir un type Date pour des variables formées d’un numéro de jour d’un nom de mois et d’un numéro d’année Exercice 4 1 Fiche



Searches related to exercices corrigés programmation evenementielle vb filetype:pdf

une programmation evenementielle VB est un langage de programmation événementielle c'est à dire que ce sont les actions des utilisateurs sur les objets apparaissant à l'écran qui déclenchent l'exécution de procédures

Qu'est-ce que le cours de programmation en VB6 ?

  • Il s'agit d'un cours pour apprendre, pas à pas, les différentes étapes de création d'un projet de programmation en VB6. L'objectif de ce cours est d'apprendre la manipulation d'un objet via un module de classe. C'est une formation pratique, où vous serez initié à la programmation orientée objet en Visual Basic 6 avec un exemple simple.

Quels sont les exercices corrigés en VB ?

  • Exercices corrigé en VB abordant Les notions fondamentales (types de données, opérateurs, instructions de contrôle, fonctions, tableaux...) sont exposées avec un grand soin pédagogique, les pointeurs ou la gestion dynamique de la mémoire.

Comment fonctionne la programmation événementielle ?

  • ?En programmation événementielle, on prépare les actions (code) à exécuter en les associant aux événements que l'on souhaite traiter (enregistrement des callback) et on attend que le processus de surveillance nous avertisse en exécutant le code prévu.

Comment créer une procédure VBA pour un événement?

  • Excel - Création d'une procédure VBA pour un événement 1 Dans le groupe Code de l'onglet Développeur, cliquez sur Visual Basic. 2 Dans la fenêtre Explorateur de projets, cliquez avec le bouton droit sur l'objet ThisWorkbook, puis cliquez sur Code. ... 3 Dans la liste Objet au-dessus de la fenêtre Code, sélectionnez Workbook. ... Plus d'articles...

L3- Algorithmique1(Année2018/2019) Marc DeVisme& Laureline PinaultTD03- Programmation Dynamique (corrigé)Exercice1.Triangulation de polygones(Polygones)

On considère les polygones convexes du plan. Une triangulation d"un polygone est un ensemble de cordes qui ne se coupent pas à l"intérieur du polygone et qui le divisent en triangles.

1.Montrer qu"une triangulation d"un polygone àncôtés a(n3)cordes et(n2)triangles.

+On procède par récurrence surn3. Pourn=3, le polygône est un triangle, qui a bienn2=1triangle etn3=0corde.

Soitn2N,n3. On suppose le résultat démontré pour tout polygône convexe possédant un nombre de côtés strictement inférieur

àn. Soit alors un polygône àncôtés et une triangulation de ce polygône. Considérons une corde qui divise ce polygône en deux

polygônes, respectivement à(i+1)et(j+1)côtés aveci+j=n,i2,j2(comme le montre la figure 1).

i +1cotesi+1 côtés j +1cotesj+1 côtésj + 1 cotes i + 1 cotesFigure 1- Une corde (en bleu) qui divise un polygone en deux

Par hypothèse de récurrence, on a(i2)cordes dans le premier polygône etj2dans le second, ce qui fait pour le polygône entier

(i2) + (j2) +1=n3cordes en tout (le+1représente la corde qui séparait le polygône en deux).

De même, on obtient un total de(i1) + (j1) =n2triangles dans le polygône en tout, ce qui achève la démonstration.

Le problème est celui de la triangulation optimale de polygones. On part d"un polygone convexe P=hv0,...,vni, oùv0,...,vnsont les sommets du polygone donnés dans l"ordre direct, et d"une

fonction de pondérationwdéfinie sur les triangles formés par les côtés et les cordes deP(par exemple

w(i,j,k) =kvivjk+kvjvkk+kvkvikest le périmètre du trianglevivjvk). Le problème est de trouver

une triangulation qui minimise la somme des poids des triangles de la triangulation. On définit pour 1i2.Définirtrécursivement, en déduire un algorithme et sa complexité.

+Pour trouver une formule de récurrence surt, il suffit de s"aperçevoir que levi1vjfait partie d"un triangle dont le troisième sommet

estvk, voir Figure 2. On en déduit la formule :t[i,j] =minikj1(t[i,k] +t[k+1,j] +w(i1,k,j))(On remarque que la convention

t[i,i]est bien adaptée puisque la formule ci-dessus reste vraie quandj=i+1: on a bient[i,i+1] =w(i1,i,i+1).).

Nous pouvons maintenant écrire un algorithme qui calculet[1,n], et ce à partir dest[k,j],i+1kjet dest[i,k],ikj1, c"est

à dire, si l"on représente les valeurs à calculer dans un diagramme(i,j)comme celui donné dans la figure 3, à partir des valeurs situées

"en-dessous" et "à droite" du point(1,n). On s"aperçoit alors qu"il suffit de calculer lest[i,j]pouride 1 ànet pourji, et ce par

(ji)croissant. Ceci donne l"algorithme :Algorithm1:Algorithme par programmation dynamiquedébut

pouride0ànfairet[i,i] 0;pourdde1àn1fairepouride1àndfairet[i,i+d] minikj1(t[i,k] +t[k+1,j] +w(i1,k,j));retournert[1,n];1

vj v kv i-1w(i-1, k, j) t[k+ 1, j] t[i, k]Figure 2- Découpage du polygone pour la récurrence Cet algorithme calculet[i,j]en2(ji)additions et enji1comparaisons pour calculer lemin.

Le nombre total d"additions est donc :An=ån1

d=1((nd)(2d))où(nd)correspond au nombre det[i,j]à calculer sur la diagonale ji=det2dau nombre d"additions dans le calcul de chaquet[i,j]oùji=d, ce qui nous donne : A n=2nn1å d=1d2n1å d=1d2 =2nn(n1)2

2(n1)n(2n1)6

(n1)n(n+1)3 n3/3=Q(n3)

Pour calculer le nombreTnde tests à effectuer, il suffit de remarquer qu"on fait deux fois moins de tests que d"additions dans le calcul

du minimum, ce qui nous donneTn=An/2CnoùCnreprésente le nombre total det[i,j]calculés (ie le nombre d"affectations) On

en déduit : T n=An/2n1å d=1(nd) n33n2+2n6 =Q(n3) La complexité globale de l"algorithme est donc enQ(n3).

3.Si la fonction de poids est quelconque, combien faut-il de valeurs pour la définir sur tout triangle

du polygone? Comparez avec la complexité obtenue.

+Dans le cas général, il faut autant de valeurs pour définir la fonctionwqu"il n"y a de triangles possibles, soitC3n+1=Q(n3). Comme

il faudra bien lire chacune de ces valeurs pour construire une triangulation optimale, n"importe quel algorithme doit fonctionner en

une complexité d"au moinsQ(n3). Notre algorithme est donc optimal en complexité du point de vue de l"ordre de grandeur.

4.Si le poids d"un triangle est égal à son aire, que pensez-vous de l"algorithme que vous avez

proposé?

+Dans le cas où le poids d"un triangle est égal à son aire, toutes les triangulations donnent le même poids qui est l"aire du polygône.

L"algorithme précédent est donc inadapté, et on peut à la place procéder par exemple comme suit :début

Prendre une triangulation quelconque (par exemple avec les cordes(v0vi)2in1);

Faire la somme des poids des triangles;2

0n n t[i,j] 1 1j it[1,n]Figure 3- Diagramme(i,j)des valeurs à calculer par l"algorithme de résolution Cet algorithme n"effectue aucun test etn3additions (bien en dessous duQ(n3)!).

Exercice2.Impression Equilibrée(Impression)

Le problème est l"impression équilibrée d"un paragraphe sur une imprimante. Le texte d"entrée est

une séquence denmots de longueurs`1,`2, ...,`n(mesurées en caractères). On souhaite imprimer ce

paragraphe de manière équilibrée sur un certain nombre de lignes qui contiennent un maximum deM

caractères chacune. Le critère d"équilibreest le suivant. Si une ligne donnée contient les motsiàj(avec

ij) et qu"on laisse exactement une espace1entre deux mots, le nombre de caractères d"espacement supplémentaires à la fin de la ligne estMj+iåj k=i`k, qui doit être positif ou nul pour que les

mots tiennent sur la ligne. L"objectif est de minimiser la somme, sur toutes les ligneshormis la dernière,

des cubes des nombres de caractères d"espacement présents à la fin de chaque ligne.

1.Est-ce que l"algorithme glouton consistant à remplir les lignes une à une en mettant à chaque fois

le maximum de mots possibles sur la ligne en cours, fournit l"optimum?

+Cet algorithme ne fournit pas la solution optimale. Pour s"en convaincre prenons l"exemple suivant : on considère des lignes de

24 caractères, et on souhaite écrire la phrase "Un algorithme glouton ne peut pas être bon sempiternellement". La Figure 1 présente

la solution gloutonne : la première ligne ne contient aucun espace supplémentaire, mais la deuxième en contient sept, d"où un coût

deO3+73=343. La Figure 1 présente la solution optimale : la première ligne contient trois espaces supplémentaires et la deuxième

quatre, d"où un coût de33+43=91, ce qui montre la non optimalité de l"algorithme glouton.Unalgorithmegloutonne

peutpasêtrebon sempiternellement

Figure 4- Solution de l"algorithme glouton

2.Donner un algorithme de programmation dynamique résolvant le problème. Analyser sa com-

plexité en temps et en espace.1. En typographieespaceest un mot féminin. 3

Unalgorithmeglouton

nepeutpasêtrebon sempiternellement

Figure 5- Solution optimale

+Si on considère une solution optimale surmlignes, alors nécessairement la composition sur lesm1dernières lignes est optimale.

En effet, supposons qu"elle ne soit pas optimale, dans ce cas il suffirait de combiner la composition de la première ligne avec une

composition optimale dans lesm1dernières lignes pour améliorer notre coût.

Si on noteC[i]le coût de la composition des mots à partir duie(inclus) mot jusqu"au dernier, on remarque que la première ligne se

terminera à un certain motjet que le coût de la composition sera le coût de la première ligne deiàjplus le coût des dernières lignes

commençant au motj+1. On a donc la relation de récurrence suivante :

C[i] =8

:0si ni+ånk=i`kM min 1ijn

Mj+iåj

k=i`k

3+C[j+1]jji+åj

k=i`kM sinon(1)Algorithm2:Algorithme par programmation dynamiquedébut c[n+1] 0; pouridenà1fairesini+ånk=i`kMalorsc[i] 0; sinonc[i] +¥; pourjdeiànfairesi ji+åj k=i`kM et

Mj+iåj

k=i`k

3+c[j+1] alorsc[i]

Mj+iåj

k=i`k

3+c[j+1];3.Supposons que pour la fonction de coût à minimiser, on ait simplement choisi la somme des

nombres de caractères d"espacement présents à la fin de chaque ligne. Est-ce que l"on peut faire

mieux en complexité que pour la question2?

+Oui. Si on prend la somme des caractères d"espacement présents à la fin de chaque ligne l"algorithme glouton est suffisant.

4.(Plus informel) Qu"est-ce qui à votre avis peut justifier le choix de prendre les cubes plutôt que

simplement les nombres de caractères d"espacement en fin de ligne?

+Le fait de prendre des cubes va défavoriser les solutions avec de grandes différences dans le nombre d"espaces en fin de ligne : les

lignes avec beaucoup d"espace vont contribuer très fortement au coût, alors qu"avec une simple somme le nombre total d"espacements

en fin de ligne peut être le même que la solution optimale, mais avoir des lignes très remplies et d"autres très peu remplies (voir

l"exemple avec le glouton).

Exercice3.Plus courte super suite(SuperSuite)

On a vu en cours le calcul d"une plus longue sous-suite commune à deux chaînesAetB. On s"intéresse

maintenant au calcul d"une plus courte super-suite deAetB, définie comme une suiteSde longueur minimale dontAetBsont des sous-suites.

2.(Difficile) Proposer un algorithme pour déterminer une plus courte super-suite deAetBet

donner sa complexité. Attention, il faut justifier soigneusement la correction. Indication : Se servir de la plus longue sous-suite commune àAetB.

Exercice4.Jeu de construction(JeuConstruction)

On veut construire une tour la plus haute possible à partir de différentes briques. On dispose den

types de briques et d"un nombre illimité de briques de chaque type. Chaque brique de typeiest un 4

parallélépipède de taille(xi,yi,zi)et peut être orientée dans tous les sens, deux dimensions formant

la base et la troisième dimension formant la hauteur.

Dans la construction de la tour, une brique ne peut être placée au dessus d"une autre que si les deux

dimensions de la base de la brique du dessus sontstrictement inférieuresaux dimensions de la base de

la brique du dessous.

1.Proposer un algorithme efficace pour construire une tour de hauteur maximale.

+Si on prend un parallélépipède quelconque (xi,yi,zi), on s"aperçoit qu"on peut le poser sur la tour de 6 manières différentes.

On peut commencer par remarquer que si on peut poser une brique sur une autre de façon à ce que la longueur de la 1

rebrique soit parallèle à la largeur de la 2

e, alors on peut aussi poser la 1rebrique sur la 2ede façon à ce que les largeurs (et donc aussi les longueurs)

des deux briques soient parallèles (comme le montre la figure 6). On peut donc faire l"hypothèse que les briques seront posées les

unes sur les autres de telle sorte que les largeurs des briques soient toutes parallèles entre elles. (Le nombre de configurations par

parallélépipède est ainsi réduit à 3.)

Remarquons ensuite qu"un même parallélépipède ne peut être utilisé au plus que deux fois (dans deux configurations différentes). En

effet, considérons le parallélépipède (xi,yi,zi) avecxiyizi: si on la pose une première fois, alors, dans le meilleur des cas, on peut

encore poser sur la tour toute brique (xj,yj,zj) telle quexj

strictes pourxi,yi, etzi, on peut encore poser le parallélépipède. Pour le poser une troisième fois, il faudrait qu"il possède un côté de

longueur strictement inférieure àxi. Ce n"est pas le cas, on ne peut le poser que deux fois. Cela a pour conséquence que la tour de

hauteur maximale sera composée d"au plus2nparallélépipèdes.

Dorénavant, nous allons considérer les briques (Li,li,hi) avecLili. Nous devons alors considérer3nbriques au lieu denparallélépi-

pèdes, mais il ne reste plus qu"une configuration possible par brique (Si le parallélépipède est (xi,yi,zi) avecxi associées sont (zi,yi,xi), (zi,xi,yi) et (yi,xi,zi).). Ainsi, on peut poser la brique (Li,li,hi) sur la brique (Lj,lj,hj) si et seulement siLiOn pose8i2 f1,...,3ng,Hi=hauteur maximale parmi les tours se terminant par laiebrique. On a la relation de récurrence suivante :

8i2 f1,...,3ng,Hi=hi+max1j3n(Hj/Lj>Lietlj>li)(2)

L"idée est de commencer par trier les3nbriques parLidécroissants. Cela se fait enO(nlog(n))comparaisons. L"équation précédente

peut alors se réécrire :

8i2 f1,...,3ng,Hi=hi+max1j i2tests(Hj/lj>li|{z} i1tests)(3)

On calcule ainsi chaqueHipouriallant de 2 à3nen partant deH1=h1. Le calcul deHinécessite 1 addition et2i3comparaisons

dans le pire des cas. Le calcul de tous lesHi,i21,...,3nest donc linéaire en additions et quadratique en comparaisons.

Enfin, il faut calculerH=Max1i3n(Hi)qui est la solution de notre problème, ce qui coûte3n1comparaisons. La complexité totale

est par conséquent enO(n2)pour les comparaisons et enO(n)pour les additions et l"algorithme est le suivant :Algorithm3:début

liste [];

pouride1ànfaireAjouter les 3 configurations possibles du parallélépipède (xi,yi,zi) àliste;Trierliste= (Li,li,hi)i2f1,...,3ngparLidécroissants;

H 1 h1; pouride2à3nfaireH i hi+Max1jli);H Max1i3n(Hi); retourner;

Figure 6- Si une brique est posée avec sa largeur parallèle à la longueur de celle en dessous, alors elle

peut être posée de telle sorte que leurs longueurs sont parallèles 5quotesdbs_dbs6.pdfusesText_11

[PDF] exercices corrigés programmation linéaire méthode du simplexe

[PDF] exercices corrigés programmation matlab pdf

[PDF] exercices corrigés proportionnalité 4ème pdf

[PDF] exercices corrigés propriétés colligatives

[PDF] exercices corrigés propriétés mécaniques des matériaux pdf

[PDF] exercices corrigés rapidité de modulation

[PDF] exercices corrigés rapprochement bancaire pdf

[PDF] exercices corrigés résistance des matériaux

[PDF] exercices corrigés sage comptabilité

[PDF] exercices corrigés sage saari comptabilité 100

[PDF] exercices corrigés saponification

[PDF] exercices corrigés sciences industrielles mpsi pdf

[PDF] exercices corrigés sciences industrielles pcsi pdf

[PDF] exercices corrigés servlets java

[PDF] exercices corrigés soncas