2- Écrire la déclaration d'un type enregistrement permettant de représenter un actif 3- Écrire une fonction qui prend en entrée un tableau d'actifs et un entier n
Previous PDF | Next PDF |
[PDF] Algorithmes et structures de données : TD 4 Corrigé - LaBRI
Licence MASS/Scico 5`eme semestre (2006/2007) Algorithmes et structures de données : TD 4 Corrigé Types - Enregistrements - Temps d'un algorithme T(n)
[PDF] Exercices avec Solutions
Exercices Corrigés d'Algorithmique – 1ére Année MI 5 En algorithmique, on ne peut pas avoir une fonction de type enregistrement, donc on utilise une
[PDF] Algorithmique et Programmation - Banque dexercices - MIS
2- Écrire la déclaration d'un type enregistrement permettant de représenter un actif 3- Écrire une fonction qui prend en entrée un tableau d'actifs et un entier n
[PDF] Série dexercices : Les Enregistrements - Jimdo
Soit le fichier NOMBRES BIN qui contient une liste de nombres entiers Écrire un algorithme qui affiche les nombres du fichier, leur somme et leur moyenne 2
[PDF] Les types utilisateurs (Algo) Corrigé
ALGORITHMIQUE ET PROGRAMMATION 1 3 3 Déclaration d'une variable de type enregistrement Exercice 1 : Occurrences des chiffres d'un entier
[PDF] Exercice 1 - apcpedagogie
Corrigé de l'épreuve d'Algorithmique et Programmation 2012 – Sciences de l' Informatique Exercice 1 (3,5 points) directement deux enregistrements
[PDF] Les tableaux 1 Exercice 1 - LIPN
Ecrire les algorithmes permettant : 1 Le calcul du nombre d'occurences d'un élément donné dans un tableau Nb_occurences (T: Tableau d'entier, N: entier)
[PDF] Algorithmique - FMI
12 fév 2017 · [Livre] Le champion de l'algorithmique de la programmation Cours et TP corrigés avec turbo pascal 7; 4ème Introduction de la structure d' enregistrement (RECORD) ▫ Exemple: la Série de TD sur les Enregistrements
[PDF] Algorithmes et programmation en Pascal TD corrigés
Edouard Thiel TD corrigés Algorithmes et programmation en Pascal Edouard Thiel TD Deug 1 Mass MA, 1997 `a 2004 7 2 Intervalles et enregistrements
[PDF] exercice corrigé algorithme matrice
[PDF] exercice corrigé algorithme programmation pdf
[PDF] exercice corrigé algorithme tableau pdf
[PDF] exercice corrigé analyse financière esg
[PDF] exercice corrigé analyse swot
[PDF] exercice corrigé audit interne
[PDF] exercice corrigé batterie
[PDF] exercice corrigé c++ classe
[PDF] exercice corrigé calcul d'erreur
[PDF] exercice corrigé calcul de ph
[PDF] exercice corrigé champ magnétique crée par un solénoide
[PDF] exercice corrigé chiffre d'affaire prévisionnel
[PDF] exercice corrigé chimie organique licence
[PDF] exercice corrigé chimie organique mecanisme reactionnel
Algorithmique et Programmation - Banque d'exercices Remarque : jusqu'en 2018, les conventions du langage algorithmique étaient un peu différentes
-les tableaux sont dynamiques (la taille n'est pas forcément fixée à la déclaration) et l'opération redim
permet de fixer la taille d'un tableau.-les tableaux et enregistrements sont supposés être toujours passés par référence, les autres
paramètres par valeur.Thème : tableaux et enregistrements
1- L'informatique au service de la santé (45 mn - 2009/1) - Correction
2- L'informatique au service du ministère du travail (45 mn - 2009/2) - Correction
3- L'informatique au service des transports aériens (45 mn - 2010/1) - Correction
4- L'informatique au service des traders (45 mn - 2010/2) - Correction
5- L'informatique au service des rencontres (60 mn - 2011/1) - Correction
6- Analyse de réseau social (60 mn - 2011/2) - Correction
7- Intentions de vote (60 mn - 2012/1) - Correction
8- Jeu, set et match (45 mn - 2012/2) - Correction
9- Traçabilité de la viande (60 mn - 2013/1) - Correction
10- Paradis fiscal (60 mn - 2013/2) - Correction
11- É coutes téléphoniques (60 mn - 2014/1) - Correction
12- Coupe du monde de football (60 mn - 2014/2) - Correction
13- É pidémie (60 mn - 2015/1) - Correction
14- Séismes (60 mn - 2015/2) - Correction
15- É nergie électrique (60 mn - 2016/1) - Correction
16- Migration (45 mn - 2016/2) - Correction
17- Assistants parlementaires (60 mn - 2017/1) - Correction
18- Trains (60 mn - 2017/2) - Correction
19- ParcourSup (60 mn - 2018/1) - Correction
20- Sécurité routière (45 mn - 2018/2) - Correction
21- Météorologie (60 mn) - Correction
1- L'informatique au service de la santé (45 mn)
Des épidémiologistes veulent étudier la propagation de la grippe. Ils disposent de données décrivant
trois types d'événements épidémiologiques : contamination, guérison ou décès. À chaque événement est
associé le numéro de sécurité sociale du patient et la date de l'événement.1- Écrire la déclaration d'un type enregistrement permettant de représenter une date avec un jour, un
mois et une année.2- Écrire la déclaration d'un type enregistrement permettant de représenter un événement
épidémiologique avec le numéro de sécurité sociale du patient (entier), la date de l'événement et le type de
l'événement (contamination, guérison ou décès).On suppose que tous les événements épidémiologiques sont stockés dans un tableau
d'enregistrements. On suppose qu'on dispose d'une fonction egalDate qui prend en entrée deux dates et renvoie
vrai si les dates sont les mêmes et faux sinon, et d'une fonction distDate qui prend en entrée deux dates et
renvoie la distance entre les deux dates sous forme d'un entier positif qui représente le nombre de jours
séparant les deux dates.3- Écrire une fonction qui prend en entrée un tableau d'enregistrements d'événements épidémiologiques
et une date et renvoie le nombre de décès ayant eu lieu à cette date.4- Les épidémiologistes veulent pouvoir identifier les contaminations proches dans le temps. Écrire une
fonction qui prend en entrée un tableau d'enregistrements d'événements épidémiologiques et une date et qui
renvoie, parmi les événements du tableau qui sont de type contamination, celui dont la date est la plus proche
de celle passée en paramètre (sans qu'elle soit forcément égales).2- L'informatique au service du ministère du travail (45 mn)
Le ministère du travail veut disposer d'un système d'information permettant d'étudier la population
active. Le ministère veut connaître, pour chaque actif, son diplôme le plus élevé, depuis combien de temps il est
sur le marché du travail (durée en nombre d'années) et l'activité qu'il exerce. Une activité est décrite par un type
d'activité (les 3 types possibles sont fonctionnaire, salarié du privé, profession libérale) et le revenu annuel brut.
1- Écrire la déclaration d'un type enregistrement permettant de représenter une activité.
2- Écrire la déclaration d'un type enregistrement permettant de représenter un actif.
3- Écrire une fonction qui prend en entrée un tableau d'actifs et un entier n supposé positif et renvoie le
nombre de fonctionnaires qui ont fini leurs études depuis plus de n années.4- Le ministère veut savoir si, pour un diplôme donné, ceux qui en sont titulaires sont plus nombreux à
être fonctionnaires qu'à travailler dans le secteur concurrentiel (salarié du privé ou profession libérale). Écrire
une fonction qui prend en entrée un tableau d'actifs et un diplôme et renvoie vrai si, parmi les personnes
possédant ce diplôme, il y a plus de fonctionnaires que de non fonctionnaires.3- L'informatique au service des transports aériens (45 mn)
Les compagnies aériennes veulent gérer automatiquement le cas des passagers qui ont raté leur avion
(pour cause d'éruption volcanique ou autre). On suppose qu'un type enregistrement Date est déjà disponible,
ainsi qu'un type énuméré Ville (ses valeurs représentent toutes les villes disposant d'un aéroport). On suppose
également qu'il existe une fonction distance(Date d1, Date d2), qui retourne un entier dont la valeur absolue est
le nombre de jours séparant d1 et d2 (cet entier est positif si d1 est antérieure à d2, nul si d1 = d2 et négatif si
d1 est postérieure à d2). Il faut maintenant représenter les données sur les vols et des fonctions permettant de
traiter ces données.1- Écrire la déclaration d'un type enregistrement permettant de représenter un vol avec un numéro de
vol (nombre entier), une ville de départ, une ville d'arrivée, une date et un nombre de places encore disponibles.
2- Écrire une fonction récursive qui prend en paramètre un tableau de vols et un numéro de vol et
décrémente de 1 le nombre de places disponibles sur le vol correspondant au numéro.3- Écrire une fonction qui prend en paramètres un tableau de vols, une ville de départ, une ville d'arrivée
et une date et renvoie le prochain vol reliant les deux villes sur lequel il reste au moins une place disponible (ce
vol doit avoir lieu le plus tôt possible, mais à une date postérieure à celle donnée en paramètre). Si aucun vol du
tableau ne vérifie ces conditions, on peut retourner la valeur null qui correspond à un "enregistrement vide".
4- L'informatique au service des traders (45 mn)
Une banque d'affaire veut pouvoir gérer informatiquement les transactions de ses traders à la bourse où
sont cotées les entreprises. Une entreprise est caractérisée par un nom, un état de santé économique (A+, A, B
ou C), le prix courant de son action (nombre réel) et le nombre total d'actions émises par l'entreprise. Un paquet
d'actions détenu par la banque est caractérisé par l'entreprise qui a émis les actions, le prix auquel les actions
ont été achetées (prix par action, nombre réel), le nombre d'actions du paquet et le nom du trader qui les a
achetées pour la banque.1- Écrire les 3 déclarations de type permettant de représenter l'état d'une entreprise, une entreprise et
un paquet d'actions.2- On veut trouver parmi les paquets d'actions détenus par la banque celui qu'il est préférable de
vendre. Écrire une fonction qui prend en paramètre un tableau de paquets d'actions et renvoie le paquet d'action
qu'il est préférable de vendre, c'est-à-dire le paquet pour lequel le bénéfice est le plus élevé. Ce bénéfice est
égal au prix de vente (nombre d'actions du paquet fois le prix courant de l'action) moins le prix d'achat (nombre
d'actions du paquet fois le prix d'achat de l'action). Seuls les paquets d'actions d'entreprises qui sont dans l'état
C sont à prendre en compte, les actions des entreprises dans les états A+, A ou B pouvant encore voir leur prix
augmenter. Si aucun paquet ne correspond à ces critères, on peut renvoyer la valeur null qui correspond à un
"enregistrement vide".3- Écrire une fonction qui prend en paramètres un tableau de paquets d'actions et un nom de trader et
renvoie le bonus que la banque verse au trader. Ce bonus dépend de la valeur courante des actions achetées
par le trader et de leur valeur d'achat. La valeur d'achat (respectivement courante) des actions achetées par le
trader est égale à la somme des valeurs d'achat (respectivement courantes) des paquets d'actions qu'il a
achetés, chaque paquet valant le prix d'achat (respectivement courant) de l'action fois le nombre d'actions du
paquet. Si la valeur courante des actions achetées par le trader est inférieure à la valeur d'achat, le bonus est
nul, sinon il est égal à 20% de la différence entre la valeur courante et la valeur d'achat.
5- L'informatique au service des rencontres (60 mn)
Un site Web de rencontre doit permettre de mettre en relation les clients du site en fonction de leurs
passe-temps. Chaque client indiquera donc sur le site ses passe-temps parmi jeu, sport, jardinage, cuisine,
theatre. Vous êtes chargé de développer le programme qui gérera les données relatives aux clients.
1- Écrire la déclaration d'un type Hobby pour pouvoir représenter les passe-temps possibles, puis la
déclaration d'un type Client, chaque client ayant un identifiant entier, une adresse mail et plusieurs passe-temps.
On suppose que chaque client a au moins un passe-temps.2- Écrire une fonction sameHobbies qui prend en paramètres deux Client et retourne vrai s'ils ont
exactement les mêmes passe-temps, et faux sinon.3- Écrire une fonction soulmates qui prend en paramètres un Client c, un tableau de Client tab, et
renvoie tous les Client contenus dans tab qui ont les mêmes passe-temps que c. On suppose que c n'est pas
dans le tableau tab.6- Analyse de réseau social (60 mn)
On veut écrire un programme pour analyser les pages web d'un réseau social. Une page estreprésentée par le nom de son propriétaire, sa date de création et le nombre d'internautes qui visitent la page
chaque jour. On suppose qu'il existe un type de données Date, qui représente une date, et une fonction avec
retour Date creerDate(int a, int m, int j) qui prend en paramètres les année, mois et jour d'une date et renvoie la
Date correspondante.
1- Proposer une structure de données pour représenter les pages du réseau social. Écrire un
programme qui initialise les données relatives à la page de Toto, créée le 13 juin 2010 et visitées tous les jours
par 234 internautes.2- Écrire une fonction qui prend en entrée un tableau de pages et renvoie le nombre moyen
d'internautes qui visitent les pages du tableau.3- Écrire une fonction qui prend en entrée un tableau de pages et renvoie vrai s'il existe au moins deux
pages ayant le même propriétaire et faux sinon.On veut maintenant représenter les liens entre les pages du réseau social. Chaque propriétaire de page
peut en effet lier à sa page les pages de ses amis.4- Améliorer la structure de données pour pouvoir représenter, pour chaque page, les pages qui lui sont
liées.5- Écrire une fonction qui prend en entrée un tableau de pages, deux noms d'internautes, et renvoie vrai
s'il existe des pages des deux internautes qui sont liées, et faux sinon. Il est possible que les internautes
possèdent plusieurs pages dans le réseau, ou aucune.7- Intentions de vote (60 mn)
Un institut de sondage veut réaliser un programme informatique pour analyser les intentions de vote
pour l'élection présidentielle de 2012. Les données à représenter portent sur les candidats à l'élection, les
catégories socio-professionnelles des citoyens et les intentions de votes dans chaque catégorie.
1- Écrire la déclaration d'un type Candidat pour pouvoir représenter les candidats possibles qui sont, par
ordre alphabétique : Bayrou, Hollande, Joly, Lepage, Lepen, Melanchon, Morin, Nihous, Sarkozy, Villepin.
2- Écrire la déclaration d'un type Categorie qui représente les données d'une catégorie socio-
professionnelle avec un nom, un nombre de citoyens, et un revenu moyen. Par exemple la catégorie des agents
de la fonction publique d'état a pour nom "agent de l'état", comprend 3681370 personnes et a pour revenu
annuel net moyen 26362 euros (source INSEE).3- Écrire la déclaration d'un type Vote qui représente les intentions de vote des catégories socio-
professionnelles. Chaque vote associe une catégorie, un candidat, et le pourcentage de personnes de la
catégorie qui déclarent voter pour le candidat en question. Par exemple 0,01\% des agents de l'état ont
l'intention de voter pour Villepin.4- Écrire une fonction qui prend en paramètres un tableau de Vote et une Categorie et renvoie le
Candidat préféré de la catégorie, c'est-à-dire celui qui recueille le plus d'intentions de vote dans cette catégorie.
5- Écrire une fonction qui prend en paramètres un Candidat et un tableau de Vote et renvoie le revenu
moyen des citoyens qui ont l'intention de voter pour ce candidat. Pour calculer le revenu moyen, il faut calculer
la somme des revenus de tous ceux qui déclarent voter pour le candidat, et diviser ce revenu total par le nombre
de citoyens déclarant voter pour le candidat.8- Jeu, set et match (45 mn)
On veut écrire un programme pour gérer les résultats des matchs de tennis dans les tournois officiels.
Un match est constitué de sets, eux-mêmes constitués de jeux. Un match est décrit par le nom du tournoi dans
le cadre duquel il s'est déroulé, les deux noms des joueurs qui ont disputé le match, et le score. Le score
regroupe les résultat des différents sets (il peut y avoir entre 3 et 5 sets dans un match). Chaque set est décrit
par deux entiers qui donnent le nombre de jeux remportés par chaque joueur (le set le plus disputé de l'histoire
du tennis s'est terminé à 70-68).Par exemple, le match entre Rafael Nadal et Roger Federer, joué lors de l'Open d'Australie 2012, a eu
pour score 6-7, 6-2, 7-6, 6-4 (cela signifie que dans le premier set Nadal a remporté 6 jeux et Federer en a
remporté 7, dans le deuxième set Nadal a remporté 6 jeux et Federer 2 et ainsi de suite).1- Proposer une structure de données pour représenter les matchs.
2- Écrire un programme qui initialise les données relatives au match entre Nadal et Federer.
3- Écrire une fonction qui prend en entrée un tableau de matchs (tableau au sens informatique) et le
nom d'un tennisman et renvoie le nombre de jeux perdus par le tennisman durant ses matchs (par exemple,
dans le match décrit plus haut, Nadal a perdu 7+2+6+4=19 jeux et Federer en a perdu 6+6+7+6=25).9- Traçabilité de la viande (60 mn)
La Commission Européenne veut mettre en place un outil informatique de suivi des lots de viande produits en
Europe.
1- Écrire la déclaration d'un type Viande ayant pour valeurs : cheval, boeuf, canard, poulet, mouton,
porc. Écrire la déclaration d'un type Site représentant les types d'entreprises agroalimentaires : élevage, abattoir,
usine de transformation, usine de conditionnement.2- Écrire la déclaration d'un type représentant les entreprises agroalimentaires, décrites par un nom, un
type et un pays. On suppose qu'il existe un type énuméré Pays dont les valeurs sont les différents pays.
3- Écrire la déclaration d'un type Lot qui représente les lots de viande. Un lot possède un identifiant
(entier), un type de viande, un poids et la liste des entreprises par lesquelles il est passé. Exemple de lot :
537,45kg de viande de cheval, portant l'identifiant 12345 et passé par les trois entreprises suivantes : l'élevage
Ferma Satu Mare situé en Roumanie, l'abattoir Slachthuis van Maastricht situé aux Pays-Bas et l'usine de
transformation Spanghero située en France.}.4- On veut pouvoir trouver les lots d'un type donné. Écrire une fonction qui prend en paramètres un
tableau de Lot et un type de viande et retourne un tableau de Lot contenant uniquement les lots du type spécifié.
5- On veut pouvoir trouver tous les lots qui sont passés par une entreprise donnée. Écrire une fonction
qui prend en paramètres un tableau de Lot et le nom d'une entreprise et affiche à l'écran les identifiants des lots
qui sont passés par l'entreprise. La fonction doit également retourner le poids total de viande traitée dans
l'entreprise. On suppose que le tableau ne contient pas deux fois le même lot.10- Paradis fiscal (60 mn)
Le ministère des finances veut développer un programme pour détecter l'évasion fiscale. Il dispose pour
cela des données concernant les opérations bancaires importantes (de plus de 1000 euros) des banques. Une
opération bancaire est décrite par un numéro de compte bancaire (chaine de caractères), une somme (qui peut
être négative s'il s'agit d'un retrait) et une date. On suppose qu'il existe déjà un type Date représentant les dates
et qu'on peut comparer deux dates avec l'opérateur =.quotesdbs_dbs2.pdfusesText_3