Structures de base [bs] Évaluations et Questions

Documents pareils
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INF 321 : mémento de la syntaxe de Java

C++ - Classes, instances, objets [oo] Exercices résolus

Les structures de données. Rajae El Ouazzani


alg - Classes, instances, objets [oo] Exercices résolus

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Solutions du chapitre 4

ALGORITHMIQUE ET PROGRAMMATION En C

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

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)

Cours d Informatique

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

TP, première séquence d exercices.

Algèbre binaire et Circuits logiques ( )

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

Java Licence Professionnelle CISII,

Flux de données Lecture/Ecriture Fichiers

Exercices sur les interfaces

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programme Compte bancaire (code)

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Objets et Programmation. origine des langages orientés-objet

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Claude Delannoy. 3 e édition C++

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

DOCM Solutions officielles = n 2 10.

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Utilisation d objets : String et ArrayList

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

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

Programmation par les Objets en Java

Les structures. Chapitre 3

Programmation en langage C

Premiers Pas en Programmation Objet : les Classes et les Objets

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

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

Cours d Algorithmique et de Langage C v 3.0

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

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

Une introduction à Java

Chapitre I Notions de base et outils de travail

TP1 : Initiation à Java et Eclipse

Les bases de l informatique et de la programmation. École polytechnique

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours 1: Java et les objets

Architecture de l ordinateur

Chapitre 10. Les interfaces Comparable et Comparator 1

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Principes des langages de programmation INF 321. Eric Goubault

Algorithmique, Structures de données et langage C

Notions fondamentales du langage C# Version 1.0

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Représentation d un entier en base b

V- Manipulations de nombres en binaire

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Algorithmique et Programmation, IMA

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

as Architecture des Systèmes d Information

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Environnements de développement (intégrés)

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

ACTIVITÉ DE PROGRAMMATION

Programmation Classique en langage C

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

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

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

PROGRAMMATION PAR OBJETS

SUPPORT DE COURS. Langage C

2.4 Représentation graphique, tableau de Karnaugh

Programmation Objet Java Correction

Synchro et Threads Java TM

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Chapitre 1 : La gestion dynamique de la mémoire

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Programmation impérative

Introduction à l algorithmique et à la programmation M1102 CM n 3

Corrigé des TD 1 à 5

Chapitre 1 I:\ Soyez courageux!

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

Initiation à la Programmation en Logique avec SISCtus Prolog

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Chapitre 2. Eléments pour comprendre un énoncé

Le chiffre est le signe, le nombre est la valeur.

Transcription:

Structures de base [bs] Évaluations et Questions Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog, Version 11 octobre 2016 Table des matières 1 Le langage 2 1.1 Évaluations : Le langage........................... 2 1.2 Questions : Règles d écriture......................... 5 2 Variables, types et valeurs 6 2.1 Évaluations : Variables, types et valeurs.................. 6 2.2 Questions : Variables, types et valeurs.................... 6 3 Déclarations 7 3.1 Évaluations : Déclarations.......................... 7 3.2 Questions : Déclarations........................... 9 4 Structure d un algorithme 10 5 Interactions avec l extérieur 10 5.1 Évaluations : Interactions avec l extérieur.................. 10 5.2 Questions : Interactions avec l extérieur................... 11 6 Expressions algébriques 13 6.1 Évaluations : Expressions algébriques.................... 13 6.2 Questions : Expressions arithmétiques.................... 15 7 Affectation interne 17 7.1 Évaluations : Affectation interne....................... 17 7.2 Questions : Affectation interne........................ 23 8 Compléments 24 8.1 Questions : Compléments........................... 24 1

Unisciel algoprog bs00quizz-texte, October 11, 2016 2 Java - Évaluations et Questions (Cours) 1 Le langage 1.1 Évaluations : Le langage Mots-clés et identifiants Déplacez chacun des éléments (à gauche) dans sa catégorie (à droite). Etiquette _1surface taux_credit EurosVersFrancs 4eme no-commande taux change final case Cible Identifiants valides Identifiants non valides Mots-clés

Unisciel algoprog bs00quizz-texte, October 11, 2016 3 Identifiants bien formés Cochez les identifiants qui sont bien formés. A) imprimante en ligne B) zzz C) 1ere_variable D) imprimante-ligne E) case

Unisciel algoprog bs00quizz-texte, October 11, 2016 4 Identifiants mal formés Cochez les identifiants qui ne sont pas bien formés. A) _201 B) Français C) 40Voleurs D) Cout Achat E) Temper@ture F) Case

Unisciel algoprog bs00quizz-texte, October 11, 2016 5 1.2 Questions : Règles d écriture Règles d écriture Parmi les identifiants suivants, quels sont ceux dont le nom n est pas valide et pourquoi? Compte1, pourquoi#pas, 101espace, @adresse, VALEUR_temporaire, _201, public, val$solde, Long Choix d un nom (1) Quel nom choisir pour la longueur d un rectangle?

Unisciel algoprog bs00quizz-texte, October 11, 2016 6 2 Variables, types et valeurs 2.1 Évaluations : Variables, types et valeurs Littéraux entiers Cochez les littéraux entiers qui sont valides (car bien formés). A) 12 245 B) 36.0 C) 0h5280 D) 12245 Littéraux réels Cochez les littéraux réels qui sont valides (car bien formés). A) 1,000.0 B) 2.1968E+10.2 C) 3E 10 D) 19.6% E) 122.1968e-5 2.2 Questions : Variables, types et valeurs Choix d un type Quel type choisir pour la date de naissance d une personne?

Unisciel algoprog bs00quizz-texte, October 11, 2016 7 3 Déclarations 3.1 Évaluations : Déclarations Déclaration de variables Réordonnez les éléments afin de déclarer dans cet ordre : x de type Entier y et z de type Réel b de type Booléen c de type Caractère Mot boolean Mot char Mot double Mot int Mot b; Mot c; Mot x; Mot y,z;

Unisciel algoprog bs00quizz-texte, October 11, 2016 8 Déclaration de constante (1) Quelle ligne définit la constante GTERRE de type réel de valeur 9.81. A) final GTERRE = 9.81; B) final double GTERRE = 9.81; C) final GTERRE : double = 9.81; Déclaration de constante (2) Quelle(s) ligne(s) défini(en)t la constante MILLE de type caractère de valeur la lettre M? Supposez qu il n existe pas de variable ni constante nommée M. A) final char MILLE = 'M'; B) final char MILLE = "M"; C) final char MILLE = M;

Unisciel algoprog bs00quizz-texte, October 11, 2016 9 3.2 Questions : Déclarations Déclaration de variables Déclarez les variables : prenom de type Chaîne age de type Entier j et k de type Entier, x de type Réel et c1 de type Caractère sur une même ligne fini de type Booléen Déclaration de constantes Déclarez les constantes : ECHARGE de valeur 1.602 10 19 (valeur approchée de la charge de l électron) NMaxKits de valeur 20 ALLUME de valeur Vrai OUI de valeur 'o' MESSAGE de valeur "Erreur, réessayez à nouveau"

Unisciel algoprog bs00quizz-texte, October 11, 2016 10 4 Structure d un algorithme 5 Interactions avec l extérieur 5.1 Évaluations : Interactions avec l extérieur Réordonner un algorithme Réordonnez les instructions afin de réaliser la saisie puis l affichage de trois entiers. Faites les déclarations au début de votre programme. Mot a = cin.nextint(); Mot b = cin.nextint(); Mot c = cin.nextint(); Mot int a, b, c; Mot public static void main(string[] args) { Mot Scanner cin = new Scanner(System.in); Mot System.out.print("Trois entiers? "); Mot System.out.println("a=" + a + " b=" + b + " c=" + c); Mot }

Unisciel algoprog bs00quizz-texte, October 11, 2016 11 5.2 Questions : Interactions avec l extérieur Affichage de résultats (1) Écrivez un programme utilisant des variables de type chaîne de caractères qui affiche quatre phrases différentes obtenues à partir de : belle Marquise vos beaux yeux me font mourir d'amour

Unisciel algoprog bs00quizz-texte, October 11, 2016 12 Affichage de résultats (2) Réécrivez votre programme de sorte à afficher les délimiteurs (") de chacune des chaînes. Outil Java La solution consiste à préfixer le délimiteur par l antislash (\).

Unisciel algoprog bs00quizz-texte, October 11, 2016 13 6 Expressions algébriques 6.1 Évaluations : Expressions algébriques Math : Évaluation d expressions algébriques Indiquez la priorité (1=la plus haute, 3=la plus basse) puis évaluez les expressions. Texte Priorités : [ [ [ ] parenthèses ] opérateurs multiplicatifs ] opérateurs additifs (a) 4+5*2 = [ ]+[ ] = [ ] (b) (4+5)*2 = ([ ])*[ ] = [ ] (c) 2*-3-1 = [ ]-[ ] = [ ] (d) 11 div 3 = [ ] reste [ ] (e) 11 div [ ] = 2 reste 3 (f) 3 div 11 = [ ] reste [ ] (g) [ ] div 3 = 3 reste 2 Écriture algébrique div et mod Écrivez les expressions en termes de div (division entière) et mod (reste de la division entière). Texte a / b <==> [ ] [ ] [ ] a % b <==> [ ] [ ] [ ] Évaluation d expression div et mod Évaluez les expressions algébriques de la division entière et du modulo. Texte (a) ((4+5)/20)*19 = ([ ]/20)*19 = [ ]*19 = [ ] (b) (9%3)*6+1 = [ ]*6+1 = [ ] (c) 4-4-(5*2)%1 = [ ]-([ ]%1) = [ ]-[ ] = [ ] (d) (5+5)/20+3%3 = ([ ]/20)+[ ] = [ ]+[ ] = [ ] (e) (2-1)*((2*2)%1) = [ ]*([ ]%1) = [ ]*[ ] = [ ] Expressions algébriques Reliez les expressions (à gauche) aux expressions françaises (à droite) correspondantes.

Unisciel algoprog bs00quizz-texte, October 11, 2016 14 Etiquette Cible n / 2 % 2 + 1 Le premier nombre impair qui suit n n / 10 Le chiffre des dizaines de n n / 10 % 10 Le nombre de dizaines de n n+1 Le chiffre des unités de n n % 10 Le double de n n * 2 L entier qui suit n Opérateur puissance Y a-t-il un opérateur pour faire un calcul de puissance? Si oui, lequel? A) Oui B) Non

Unisciel algoprog bs00quizz-texte, October 11, 2016 15 6.2 Questions : Expressions arithmétiques Math : Opérateurs, opérandes Pour chacune des expressions, identifiez tous les opérateurs et leurs opérandes, indiquez si les opérateurs sont unaires ou binaires et identifiez les littéraux. Ensuite fournissez une version de l expression avec le moins de parenthèses possible et une autre avec un maximum de parenthèses (tout en respectant le sens de l expression bien sûr). a+1 (a+b)*12-4*(-a-b) a+(b*12)-4*-a Math : Évaluation d expressions Donnez le type et la valeur de chaque expression : 1. (4.0+2.25)*2.0 2. 15 div 2 3. 15.0/2 4. 15 mod 2 Math : Séquence de calcul Écrivez deux séquences de calcul (vraiment) différentes qui donne 35 en utilisant exactement 5 fois la touche 5 et autant que nécessaire les touches +, -, *, /, // (pour div), % (pour mod), ( et ). Expressions mathématiques Codez les expressions mathématiques suivantes : a 2 a c + bc + c d + e f b + b 2 4ac 2a 1 a + 1 b c + d Math : Opérateurs div et mod (1) L écriture «a b» désigne l opération d affectation de b dans a. Soit n une variable contenant un entier à 2 chiffres. Écrivez une suite d instructions qui permet de stocker n écrit «à l envers» dans une variable p. ex : si n=12 alors p=21. Math : Opérateurs div et mod (2) Même question ci-avant avec un entier à exactement 3 chiffres.

Unisciel algoprog bs00quizz-texte, October 11, 2016 16 Math : La carte vitale En France, le numéro de sécurité sociale est un numéro composé de 13 chiffres permettant d identifier une personne, suivi d une clé de contrôle de 2 chiffres pour déceler d éventuelles erreurs de saisie. Cette clé correspond à la différence entre 97 et le reste de la division du code dans la division par 97. Soit N ce code à 13 chiffres. Donnez l expression de la clé de sécurité.

Unisciel algoprog bs00quizz-texte, October 11, 2016 17 7 Affectation interne 7.1 Évaluations : Affectation interne Affectation d une variable Cochez toutes les cases validant ou non le programme Java suivant : public class QZXAssign1 { public static void main(string[] args) { int n1; System.out.println(n1); // M1 n1 = "bonjour"; // M2 n1 = 1.234; // M3 n1 = 1; // M4 } } A) L algorithme est correct. B) Erreur : La ligne M1 affiche n importe quoi. C) Erreur : Incohérence de type en ligne M2 et ligne M3. D) Erreur : En ligne M4, pour initialiser une variable, il faut impérativement une instruction de lecture.

Unisciel algoprog bs00quizz-texte, October 11, 2016 18 Séquence d affectations (1) «Jouez le rôle de la machine» en modifiant le contenu des cellules et déterminez ce qu il affiche. Mettez un point d interrogation (?) pour indéfinie. Texte public class QZAssign1 { public static void main(string[] args) { int a, b, c; a = 2; a = a + 2; b = a * 2 + a; c = 4; c = b - c; c = c + a - b; a = (b - a) * c; b = (a + c) * b; System.out.println("A=" + a + " B=" + b + " C=" + c); } }

Unisciel algoprog bs00quizz-texte, October 11, 2016 19 Réordonner un code Réordonnez les instructions afin que ce programme Java saisit trois entiers dans x, y et z puis calcule et affiche la somme s des trois entiers. Mot System.out.print("Trois entiers? "); Mot System.out.println("La somme vaut " + s); Mot public static void main(string[] args) Mot { Mot } Mot x = cin.nextint(); Mot y = cin.nextint(); Mot z = cin.nextint(); Mot s = x + y + z; Mot int x, y, z, s;

Unisciel algoprog bs00quizz-texte, October 11, 2016 20 Séquence d affectations (2) Déterminez ce que valent les variables à l issue de cet algorithme. Mettez un point d interrogation (?) pour indéfinie. Texte public class QZAssign2 { public static void main(string[] args) { int a, b, c; a = 12; b = 5; c = a - b; a = a + c; b = a; System.out.println("A=" + a + " B=" + b + " C=" + c); } }

Unisciel algoprog bs00quizz-texte, October 11, 2016 21 Séquence d affectations (3) Déterminez ce que valent les variables à l issue de cet algorithme. Mettez un point d interrogation (?) pour indéfinie et le mot «OUPS» si le calcul ne peut pas s effectuer. Concluez. Texte public class QZAssign3 { public static void main(string[] args) { int a, b, c; a = 12; c = a - b; e = c - 2; System.out.println("A=" + a + " B=" + b + " C=" + c); } }

Unisciel algoprog bs00quizz-texte, October 11, 2016 22 Permutation de valeurs Laquelle(s) des options suivantes permet d échanger les valeurs des variables a et b? A) a = b; b = a; B) t = a; a = b; b = t; C) t = a; b = a; t = b;

Unisciel algoprog bs00quizz-texte, October 11, 2016 23 7.2 Questions : Affectation interne Le jeu de l erreur (1) Quel est le problème de ce programme Java? public static void main(string[] args){ double n1, n2; System.out.println(n1 / n2); } Math : Analyse d une séquence (1) L écriture «a b» désigne l opération d affectation de b dans a. Quel est l effet des instructions suivantes sur les variables a et b numériques? (Notez A et B les contenus de a et b). a <- a + b b <- a - b a <- a - b Math : Analyse d une séquence (2) L écriture «a b» désigne l opération d affectation de b dans a. Quel est l effet des instructions suivantes sur les variables a et b numériques? a <- a + b + c b <- b + c c <- a - c a <- a - c b <- c - b + a c <- c - b Math : Analyse d une séquence (3) L écriture «a b» désigne l opération d affectation de b dans a. Quel est l effet des instructions suivantes sur les variables a et b numériques? b <- b + c c <- b - c b <- b - c a <- a + b b <- a - b a <- a - b

Unisciel algoprog bs00quizz-texte, October 11, 2016 24 8 Compléments 8.1 Questions : Compléments Analyse d une séquence (1) L écriture «a b» désigne l opération d affectation de b dans a. Que contiennent les variables à la fin du programme? a, b <- 3, 2 a <- a - b b, a <- a+1, 2*b b <- b mod 3 a <- a - b div 2 Analyse d une séquence (2) L écriture «a b» désigne l opération d affectation de b dans a. Que contiennent les variables à la fin du programme? a, b, c <- 1, 2, 3 a, b <- b, c b, c <- c, a b <- c c <- b Affectations simultanées (1) L écriture «a b» désigne l opération d affectation de b dans a. Parmi les expressions suivantes de la forme x,y<-q1,q2, lesquelles peuvent s écrire en deux lignes x<-q1 puis y<-q2 sans changer le résultat? 1. x, y <- 17, 32 2. x, y <- 5, x-3 3. x, y <- y, x 4. x, y <- x+1, y+2 Affectations simultanées (2) L écriture «a b» désigne l opération d affectation de b dans a. Quelles que soient les valeurs données à x et y, pour quelles valeurs des nombres a,b,c,d, peut-on remplacer l affectation simultanée : x, y <- a*x+b*y, c*x+d*y par : x <- a*x+b*y y <- c*x+d*y

Unisciel algoprog bs00quizz-texte, October 11, 2016 25 Cast d une expression Donnez la valeur et le type de chacune des expressions. 1. (double)2 * 5 / 3 ; 2. (double)(2 * 5 / 3) ; Variables de types différents Que se passe-t-il si l on met dans une expression deux variables de types différents de chaque côté d un opérateur?