Informatique Pour Tous III-Propositions de solutions aux exercices



Documents pareils
STAGE IREM 0- Premiers pas en Python

Initiation à la programmation en Python

Découverte de Python

Programme Compte bancaire (code)

2. Comprendre les définitions de classes

Recherche dans un tableau

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

KL5121. Pour activer des sorties en fonction de la position d'un codeur

.NET - Classe de Log

Programmation avec des objets : Cours 7. Menu du jour

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Chapitre 2 Devine mon nombre!

Informatique III: Programmation en C++

TD3: tableaux avancées, première classe et chaînes

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Java Licence Professionnelle CISII,

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Présentation du langage et premières fonctions

Programmer en JAVA. par Tama

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Les bases du langage Python

Statistiques à une variable

Corrigé des exercices sur les références

Cours Informatique Master STEP

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Utilisation d objets : String et ArrayList

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Définition des Webservices Ordre de paiement par . Version 1.0

TP JAVASCRIPT OMI4 TP5 SRC

1. Structure d'un programme FORTRAN 95

Plan du cours. Historique du langage Nouveautés de Java 7

V- Manipulations de nombres en binaire

Exercices Types Algorithmique et simulation numérique Oral Mathématiques et Algorithmique Banque PT Propositions de réponses

Programmation en Java IUT GEII (MC-II1) 1

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Chapitre 10. Les interfaces Comparable et Comparator 1

Conventions d écriture et outils de mise au point

Algorithmique et Programmation, IMA

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Cours 3 : Python, les conditions

Un ordonnanceur stupide

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Plateforme PAYZEN. Définition de Web-services

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Les structures de données. Rajae El Ouazzani

Projet de programmation (IK3) : TP n 1 Correction

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Perl Orienté Objet BioPerl There is more than one way to do it

I. Introduction aux fonctions : les fonctions standards

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Arbres binaires de recherche

OPTENET DCAgent Manuel d'utilisateur

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

TP 1. Prise en main du langage Python

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

as Architecture des Systèmes d Information

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Premiers Pas en Programmation Objet : les Classes et les Objets

Object Constraint Language (OCL)

Corrigés des premiers exercices sur les classes

1 Recherche en table par balayage


Programmation C++ (débutant)/instructions for, while et do...while

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Le stockage local de données en HTML5

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Introduction à JDBC. Accès aux bases de données en Java

INF 321 : mémento de la syntaxe de Java

Algorithmique I. Algorithmique I p.1/??

Tp 1 correction. Structures de données (IF2)

Structurer ses données : les tableaux. Introduction à la programmation

R, Bonnes pratiques. Christophe Genolini

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Corrigé des exercices avancés sur les structures récursives

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Le prototype de la fonction main()

Chapitre 9. Algorithmique. Quelques définitions. L'informatique au lycée.

Langage Java. Classe de première SI

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES

Java 1.5 : principales nouveautés

Représentation d un entier en base b

Lire ; Compter ; Tester... avec R

Corrigé des TD 1 à 5

Cours 6 : Tubes anonymes et nommés

Package Java.util Classe générique

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo Hello world!

Rafraichissement conditionné d'une page en.net

Transcription:

Informatique Pour Tous III-Propositions de solutions aux exercices exercice 1 exercice 2 exercice 3 exercice 4

exercice 1

exercice 1 Fonction de saisie d'un nombre def input_nb(invite): """ cette fonction renvoie un nombre typé après saisie par l'utilisateur. invite est la chaîne vue par l'utilisateur pour la saisie """ mess_erreur = "Vous n'avez pas saisie un nombre!" # preparons le cas où saisie = input(invite) # rappel : saisie est un str if len(saisie) == 0: reponse = mess_erreur # si la saisie est vide else : reste = saisie if reste[0] == '-' : reste = reste[1 : len(reste)] if reste.count('.') == 1 : # enleve un signe - en premiere position # il y a un point dans la saisie pos = reste.index('.') # cherche le point deb = reste[0 : pos] # debut de reste jusqu'au point fin = reste[pos + 1 : len(reste)] # fin de reste à partir du point reste = deb + fin #reste, sans le point #ici reste ne contient que des chiffres si c'etait un numerique au départ if not reste.isnumeric() : # s'il reste encore des lettres reponse = mess_erreur else : reponse = float(saisie) # saisie est donc un nombre return reponse if reponse.is_integer() : # si le nombre est un int, autant en renvoyer un reponse = int(saisie)

exercice 1 Année bissextile (ver 1) def bissext1(n): if n % 400 == 0: bis = True elif n % 100 == 0 : bis = False elif n % 4 == 0 : bis = True else: bis = False if bis: chaine = "est bissextile" else: chaine = "n'est pas bissextile" return chaine

exercice 1 Année bissextile (ver 2) def bissext2(n): if n % 400 == 0 or n % 4 == 0 and n % 100!= 0 : chaine = "est bissextile" else: chaine = "n'est pas bissextile" return chaine

exercice 1 Programme complet : def input_nb(invite): mess_erreur = "Vous n'avez pas saisie un nombre!" saisie = input(invite) if len(saisie) == 0: reponse = mess_erreur else : reste = saisie if reste[0] == '-' : reste = reste[1 : len(reste)] if reste.count('.') == 1 : pos= reste.index('. ) deb = reste[0 : pos] fin = reste[pos + 1 : len(reste)] reste = deb + fin if not reste.isnumeric() : reponse = mess_erreur else : reponse = float(saisie) if reponse.is_integer(): reponse = int(saisie) return reponse def bissext1(n): if n % 400 == 0: bis = True elif n % 100 == 0 : bis = False elif n % 4 == 0 : bis = True else: bis = False if bis: chaine = "est bissextile" else: chaine = "n'est pas bissextile" return chaine texte = Saisissez une année puis appuyez sur la touche Entrée annee = input_nb(texte) print(bissext1(annee))

exercice 2

exercice 2 recherche d un élément dans une liste d éléments non triée: version 1 : def est_dans_liste_range(x,liste): for i in range(len(liste)): if x == liste [i]: return True return False version 2 : def est_dans_liste_liste(x, liste): for e in liste: if e == x: return True return False version 3 : def est_dans_liste_elegant(x, liste): return x in liste

exercice 2 recherche d un élément dans une liste d éléments non triée(suite): variante 1 : def est_dans_liste_index(x, liste): for i in range(len(liste)): if liste [i]== x: return i return False variante 1 améliorée : def est_dans_liste index2(x, liste): for i,valeur in enumerate(liste): if valeur == x: return i return False variante 2 : def est_dans_liste_multiple(x, liste): a = liste.count(x) #test si x est dans l lst_index=[] #cree la liste (modifiable) des indices trouvés if a == 0 : return False #pas de x dans l else : for i,valeur in enumerate(liste) : if valeur == x : lst_index.append(i) return lst_index

exercice 3

exercice 3 recherchedumaximumdansunelistedenombres: def indexmaximum(liste): n = len(liste) imax = 0 #pourquoi cette ligne? max = liste[0] for i in range(1,n): if liste[i] > max : max = liste[i] imax = i return (imax, max) #pourquoi cette indentation? variante : def indexminimum(liste): n = len(liste) imin = 0 min = liste [0] for i in range(1,n): if liste [i] < min : min = liste [i] imin = i return (imin,min)

exercice 4

exercice 4 calculdelamoyenneetdelavarianced unelistedenombres: def moyenne(liste): nombre = len(liste) somme = 0 for x in liste : somme += x on peut remplacer ce bloc par somme = sum([x for x in liste]) return somme / nombre on peut tester avant que nombren est pas nul! def s_e_c(liste, val): #somme des carrés des écarts de chaque élément de liste par rapport à la valeur val somme = 0 for elt in liste: somme += (elt - val)**2 return somme on peut remplacer ce bloc par somme = sum([(x-val)**2 for x in liste]) def variance(liste): if len(liste)!= 0 : return s_e_c(liste, moyenne(liste)) / len(liste)

exercice 4 calculdelamoyenneetdelavarianced unelistedenombres (suite): Variante : def variance2(liste) : n = len(liste) # taille carre_moy = moyenne(liste)**2 s = sum( [ x**2 for x in liste] ) variance = s / n - carre_moy return variance