Contrôle sur le Cours d'algorithme et de langage C



Documents pareils
L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Algorithmes sur les mots (séquences)

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Module 2 : Déterminant d une matrice

Chapitre 2 Le problème de l unicité des solutions

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Séquence 8. Probabilité : lois à densité. Sommaire

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

Notes de révision : Automates et langages

Guide d'utilisation Easy Interactive Tools Ver. 2

Théorème de Poincaré - Formule de Green-Riemann

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

LANGAGES - GRAMMAIRES - AUTOMATES

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Commencer DCP-7055W / DCP-7057W /

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

Synthèse de cours (Terminale S) Calcul intégral

Techniques d analyse de circuits

Programme Compte bancaire (code)

/HVV\VWqPHVFRPELQDWRLUHV

SYSTEME DE TELEPHONIE

Les structures de données. Rajae El Ouazzani

3- Les taux d'intérêt

INFORMATIONS TECHNIQUES

Chapitre 11 : L inductance

Introduction à la modélisation et à la vérication p. 1/8

semestre 3 des Licences MISM annnée universitaire

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

Introduction au langage C

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)

ANALYSE NUMERIQUE NON-LINEAIRE

Statuts ASF Association Suisse Feldenkrais

Les arbres binaires de recherche

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

LOGICIEL FONCTIONNEL EMC VNX

TP2 : tableaux dynamiques et listes chaînées

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

Guide de l'utilisateur

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

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

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Les structures. Chapitre 3

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

Algorithmique et Programmation, IMA

Java Licence Professionnelle CISII,

Toyota Assurances Toujours la meilleure solution

Programmation système de commandes en C

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

Licence M.A.S.S. Cours d Analyse S4

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

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

Bases de programmation. Cours 5. Structurer les données

Chapitre 1 : Fonctions analytiques - introduction

Cours d Analyse IV Suites et Séries de fonctions

- Phénoméne aérospatial non identifié ( 0.V.N.I )

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Programmation Classique en langage C

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

I. Introduction aux fonctions : les fonctions standards

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


Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

Cours 6 : Tubes anonymes et nommés

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

Tout ce qu il faut savoir en math

Cours d initiation à la programmation en C++ Johann Cuenin

Le prototype de la fonction main()

Représentation d un entier en base b

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

Conseils et astuces pour les structures de base de la Ligne D30

Guide des fonctions avancées de mywishtv

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

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

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Programmation avec des objets : Cours 7. Menu du jour

FONDATION CLEMENTINE ET MAURICE ANTILLE

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

Programmation système I Les entrées/sorties

Cours Programmation Système

MISE EN PLACE D UN SERVEUR DHCP SOUS WINDOWS SERVEUR 2003 R2

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

OS Réseaux et Programmation Système - C5

Cours d Algorithmique et de Langage C v 3.0

Le langage C. Séance n 4

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Transfert. Logistique. Stockage. Archivage

Probabilités sur un univers fini


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

Santé et sécurité psychologiques en milieu de travail

TRIGONOMETRIE Algorithme : mesure principale

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Réglages du module de sauvegarde de Biblionet (Monoposte)

Chapitre 2 Devine mon nombre!

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Transcription:

Déprtement Génie Electrique Automtique NOM: Prénom: Contrôle sur le Cours d'algorithme et de lngge C G.Gteu et J.Régnier Le 15 Jnvier 2008- Durée 2h Documents de cours utorisé. Le contrôle est constitué pr 1 QCM, 2 questions de cours et 2 exercices indépendnts. Les deux premières pges sont à rendre vec votre devoir. QCM (Chque question peut dmettre plusieurs réponses) [10 mn] Répondez ux questions suivntes : QCM - Cocher le OU les cses correctes : En lngge C, pour ccéder à l dresse d une vrile déclrée int vr, on utilise : *vr &vr vr En lngge C, pour ccéder u contenu d une vrile déclrée int *vr, on utilise : En lngge C, les fonctions : N existent ps Ne permettent que des pssges d rguments pr vleur Ne permettent que des pssges d rguments pr dresse Permettent des pssges d rguments pr dresse et pr vleur Peuvent renvoyer une vleur u progrmme principl *vr &vr vr int A=1; int B=3 ; int *C; C = &A; *C=A+B ; C = &B ; *C = A+1 ; Après exécution, on otient: Soit un tleu du type int t[3], tel que t=[1 2 3] : t[0] + t[1] = 3 t+1 = 2 *(t+1)+*(t+2) = 5 *( t+2) = 2 *(t)+ 1 + *(t+1) = 4 A=4 et B=2 A= 4 et B= 5 A=1 et B=3 Une erreur En lngge C, les vriles déclrées dns les fonctions: ont une portée locle ont une portée glole sont mémorisés lorsque l on quitte l fonction sont détruites lorsque l on quitte l fonction int =1, =3 ; int c= ; int d= && ; int e= & ; int f = ( & ) ; Donner l vleur de c, d, e et f : c = d = e = f = Pge 1 sur 6

Déprtement Génie Electrique Automtique Donnez l évolution du contenu de l mémoire ssociée à l exécution du progrmme suivnt : int somme (int, int ) int ; 2 = * ; return ; void min() int vr_=3,vr_=7; int ; 3 1 vr_ vr_ vr_ vr_ vriles somme Étpe 1 Étpe 2 Appel de l fonction somme à compléter vr_ vr_ vriles somme Étpe 3 printf("le t vut %d\n" ); 4 vr_ vr_ Étpe 4 Donnez l évolution du contenu de l mémoire ssociée à l exécution du progrmme suivnt : void tri_croissnt ( int * l_,int * l_ ) int ; if (*l_ < *l_) =*l_ ; *l_=*l_ ; *l_= 3 void min() int = 5, = 8 ; printf("avnt : %d - %d\n",,); Appel de l fonction tri_croissnt à compléter 2 1 printf("après : %d - %d\n",,); 4 Étpe 1 vriles tri_croissnt l_ 2756 2824 l_ Étpe 2 2751 vriles tri_croissnt l_ 2756 2824 l_ Étpe 3 2751 Étpe 4 Pge 2 sur 6

Déprtement Génie Electrique Automtique Le Jeu des Erreurs [30 mn] Cette nnée, le Père Nöel tente de se moderniser et de remplcer une prtie de ces lutins rélisnt l gestion des commndes pr un progrmme informtique (rssurez vous, il n y ur ps de réduction du personnel!!!). L poésie de Nöel est toujours présente mis le lngge C s est invité en Lponie. Le logiciel permet d enregistrer une liste de commnde de cdeu définie pr des types spéciux (vrile type_cdeu contennt un nom et l étt de l commnde 0 non trité, 1 tritée). Un menu propose soit d jouter un cdeu, soit d enregistrer le numéro d un cdeu trité, soit de lister l ensemle des cdeux et leur étt (trité ou non). Seulement, prolème, le Père Nöel n est ps une str de l progrmmtion (contrirement à JR) et son ppliction gestion des cdeux ne mrche, mis lors, ps du tout. Plntge en tout genre, interfce ncle, C est là que vous intervenez pour ider le puvre ougre à déugger son ppliction. Et çà urge, c est ientôt nöel!!! #include <stdio.h> typedef struct cdeu chr nom_enfnt[4]; int ett_cdeu ; type_cdeu ; void Ajouter_cdeu (type_cdeu *new_cdeu,int n_cdeu) printf ( " Entrez le nom de l'enfnt : \n " ) ; scnf ("%s",new_cdeu[n_cdeu].nom_enfnt) ; new_cdeu[n_cdeu].ett_cdeu = 0 ; n_cdeu = n_cdeu + 1 ; int Enregistrer_cdeu_pret() int num ; printf ( " Entrez le numero du cdeu prêt : \n " ) ; scnf ("%i",&num) ; return(num) ; Pge 3 sur 6

Déprtement Génie Electrique Automtique void Voir_liste_cdeu (type_cdeu *liste, int nomre_cdeu ) int i ; if (nomre_cdeu = 0) printf ( " Ps de cdeu dns l liste\n" ) ; else printf ( " Nomre de cdeux en commnde = %d\n", nomre_cdeu) ; printf ( " Nomre de cdeux prêt = %d\n", nomre_ceu_pret) ; for (i=0 ; i == nomre_cdeu ; i++ ) printf (" Cdeu %f \n",i); printf ( " Nom = %s \n",liste[i].nom_enfnt); printf ( " Ett cdeu = %d \n",liste[i].ett_cdeu); void min () type_cdeu Liste_cdeu[20] ; int nomre_cdeu = 0 ; // Nomre de cdeu en commnde int nomre_pret = 0 ; // Nomre de cdeu prêt int choix, i, numero ; printf ( " Logiciel de gestion des cdeux\n") ; do printf ( "1. Ajouter cdeu à l liste \n "); printf ( "2. Enregistrer un cdeu prêt\n "); printf ( "3. Voir Liste cdeu\n "); printf ( "4. Quittez\n "); printf ( "Entrez votre choix\n "); scnf ("%d",choix); switch (choix) cse 1 : Ajouter_cdeu (Liste_cdeu, nomre_cdeu) ; rek; cse 2 : numero=enregistrer_cdeu_pret () ; Liste_cdeu[numero].ett_cdeu = 1 ; nomre_pret = nomre_pret + 1 ; rek; cse 3 : Voir_liste_cdeu(Liste_cdeu,nomre_cdeu); rek ; cse 4 : while (choix == 4 ) ; printf ( " Bye \n"); rek ; Pge 4 sur 6

Déprtement Génie Electrique Automtique Exercice ALGO1: Le Crré Mgique [1h] En mthémtiques, un crré mgique d'ordre n est composé de n 2 nomres entiers générlement distincts, écrits sous l forme d'un tleu crré. Ces nomres sont disposés de mnière à ce que leurs sommes sur chque rngée, sur chque colonne et sur chque digonle soient égles. Un crré mgique est dit norml s'il est rempli vec les nomres entiers compris entre 1 et n 2 (inclus). Il existe des dispositions mgiques pour tout crré d'ordre n 1. Le crré d'ordre 1 est trivil, n'importe quel nomre indiqué dns l'unique cse permet de stisfire les règles. Le crré d'ordre 2 est églement trivil puisqu'il n'est possile qu'en répétnt le même nomre dns les qutre cses. Le plus petit cs non trivil est le crré d'ordre 3 : L somme otenue sur chque ligne, colonne ou digonle est ppelée constnte mgique ou somme mgique. L constnte mgique d'un crré mgique norml dépend uniquement de n et vut : On propose de réliser le remplissge d un crré mgique d ordre 3. L figure suivnte, nous montre un crré mgique d ordre 3 possédnt 9 cses. Ces cses sont à remplir vec des nomres llnt de 1 à 9. L mtrice ser initilisée vec des 0 (cse non remplie). Le nomre C correspondnt à l cse (0,0) ser demndé à l utilisteur u démrrge du progrmme. Ensuite, l lgorithme devr remplir les cses ligne pr ligne et proposer un crré mgique répondnt ux règles fondmentles énoncées précédemment. repérge des cellules Pge 5 sur 6

Déprtement Génie Electrique Automtique On utiliser trois fonctions permettnt de vérifier chcune de ces trois règles dont voici l définition : entier verifligne(entier ligne, entier colonne, entier proposition, entier t[4][4] ) Cette fonction vérifie que l entier proposition à mettre sur l cse (ligne, colonne) est cohérent sur l ligne considérée. Retourne 1 si unicité ou 0 sinon. entier verifcolonne(entier ligne, entier colonne, entier proposition, entier t[4][4] ) Cette fonction vérifie que l entier proposition à mettre sur l cse (ligne, colonne) est cohérent sur l colonne considérée. Retourne 1 si unicité ou 0 sinon. entier verifdig(entier ligne, entier colonne, entier proposition, entier t[4][4] ) Cette fonction vérifie que l entier proposition à mettre sur l cse (ligne, colonne) est cohérent sur l digonle considérée. Retourne 1 si unicité ou 0 sinon. On prendr soin églement de coder l fonction suivnte: void ffichge_crre_mg(entier t[3][3] ) Cette fonction ffiche le crré mgique. Progrmme principl Le progrmme principl devr initiliser le crré mgique (vec des 0), demnder à l utilisteur le nomre C et le positionner à l cse (0,0) puis remplir le crré mgique en vérifint chque proposition. Chque proposition ser effectuée pr un tirge létoire en utilisnt l fonction tirge(). int tirge() retourne un nomre compris entre 1 et 4 (Cette fonction n est ps à coder) Le progrmme principl fficher le crré mgique près l initilistion de l utilisteur puis près le remplissge. Pge 6 sur 6