TurboPascal - Prépa HEC Ipecom



Documents pareils
Corrigé des TD 1 à 5

Examen Médian - 1 heure 30

Enseignement secondaire technique

LES TYPES DE DONNÉES DU LANGAGE PASCAL

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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)

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

Cours Informatique Master STEP

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Algorithmes et programmation en Pascal. Cours

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

Programmation structurée et algorithmes de base en Pascal

Application 1- VBA : Test de comportements d'investissements

I. Introduction aux fonctions : les fonctions standards


Initiation à la programmation en Python

STAGE IREM 0- Premiers pas en Python

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Probabilités Loi binomiale Exercices corrigés

Exercices sur le chapitre «Probabilités»

1. Structure d'un programme FORTRAN 95

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

Cours 7 : Utilisation de modules sous python

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

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

Compilation (INF 564)

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

Algorithmique et Programmation, IMA

Recherche dans un tableau

0 si a=b. Si a^ et b^ sont deux éléments différents du même anneau, alors le résultat de

Plan du cours Cours théoriques. 29 septembre 2014

Cours d algorithmique pour la classe de 2nde

L ALGORITHMIQUE. Algorithme

Introduction à MATLAB R

Probabilités sur un univers fini

Algorithmique & programmation

Génie Logiciel avec Ada. 4 février 2013

Java Licence Professionnelle CISII,

Algorithmique et programmation : les bases (VBA) Corrigé

Utilisation d objets : String et ArrayList

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

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.

Programmer en JAVA. par Tama

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

Programmation Objet - Cours II

Découverte de Python

OCL - Object Constraint Language

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Les probabilités. Chapitre 18. Tester ses connaissances

Organigramme / Algorigramme Dossier élève 1 SI

Coefficients binomiaux

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

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

I. Cas de l équiprobabilité

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

Correction du Baccalauréat S Amérique du Nord mai 2007

CORRECTION EXERCICES ALGORITHME 1

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Licence Sciences et Technologies Examen janvier 2010

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

PROBABILITÉS CONDITIONNELLES

as Architecture des Systèmes d Information

Introduction à l approche bootstrap

Qu est-ce qu une probabilité?

Utilitaires méconnus de StrataFrame

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

4 Exemples de problèmes MapReduce incrémentaux

Probabilités conditionnelles Loi binomiale

Le prototype de la fonction main()

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

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

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Résolution de systèmes linéaires par des méthodes directes

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

1 Recherche en table par balayage

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

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

Programmation sous Delphi

TSTI 2D CH X : Exemples de lois à densité 1

ACTIVITÉ DE PROGRAMMATION

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Texte Agrégation limitée par diffusion interne

Simulation de variables aléatoires

AWS avancé. Surveiller votre utilisation d EC2

Probabilités sur un univers fini

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Gestion mémoire et Représentation intermédiaire

Programmation Classique en langage C

Les chaînes de caractères

Représentation d un entier en base b

Langage Java. Classe de première SI

Arbre de probabilité(afrique) Univers - Evénement

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

I4 : Bases de Données

Transcription:

TurboPascal - Prépa HEC Ipecom vendredi 29 mars 1 Exemples 1.1 Procédure simple procedure pause; writeln( Appuyez sur RETURN pour continuer ); readln; 1.2 Variables locales procedure tirage; var n1,n2 : integer; double : boolean; n1:=random(6)+1; n2:=random(6)+1; double:=(n1=n2); writeln( Le tirage donne,n1, et,n2); if n1=n2 then writeln( Double,n1,!!! Jour de chance... ); 1.3 Variables globales program bidon; const n : 10; var a,b,c : integer; procedure affiche; writeln( a :,a, b :,b, c :,c); for a:=1 to n do for b:=1 to a do for c:=1 to b do affiche; 1.4 Argument passés par valeur procedure salut(nom : string, numero : integer); writeln( Bonjour,nom,. Vous etes le numero,numero); page 1/ 6

1.5 Arguments passés par adresse procedure tri_croissant_int(var a,b : integer); var c : integer; if a>b then c:=a; a:=b; b:=c; program test; var n1,n2,m,s : integer; procedure plus_grand_somme_int(a,b : integer; var c,d : integer); if a>b then c:=a; else c:=b; d:=a+b; writeln( 2 nombres entiers SVP ); readln(n1,n2); plus_grand_int(a,b,m,s); writeln( Le plus grand est,m, et la somme vaut,s); 1.6 Fonction function f(a,b : real) : real; f:=log(sqr(a+b)/(sqr(a)+sqr(b))); function fact(n : integer) : integer; var i : integer; fact:=1; for i:=2 to n do fact:=fact*i; 1.7 Fonction, procédure et imbrication prog exemple; const n=10; type ligne=array[1..n] of integer; var a : ligne; i,s1,s2,s3 : integer; function puiss_int(a,b : integer) : integer; var i : integer; puiss_int:=1; for i:=1 to b do puiss_int:=puiss_int*a; page 2/ 6

procedure somme(t : ligne; expo : integer; var som : integer); var i : integer; som:=0; for i:=1 to n do som:=som+puiss_int(t[i],expo); for i:=1 to n do a[i]:=i; somme(a,1,s1); somme(a,2,s2); somme(a,3,s3); writeln( somme des,n, premiers entiers :,s1); writeln( au carre :,s2); writeln( au cube :,s3); page 3/ 6

2 Exercice de concours 2.1 HEC 99 Maths1 opt. sci. R est une matrice définie dans une question précédente, par la propriété W n+1 = RW n, où W n est un vecteur à N éléments. On a R = [ r i,j ], où ri,i = 1 β i(n i), r i,i+1 = β (i + 1)(N i 1) et r i,j = 0 si j / {i, i + 1} [β et sont des données] [r N,N+1 n existe pas, bien sur]. Dans le préambule d un programme écrit en TurboPascal on a défini: Const beta= constante fixée par l utilisateur ; N= constante fixée par l utilisateur ; Delta= constante fixée par l utilisateur ; Type vecteur=array[1..n] of real; Ecrire le corps de la procédure Procedure Calcul1(Var V : vecteur); qui doit retourner dans V le résultat de RV. Ecrire le corps de la procédure Procedure Calcul2(Var V : vecteur, i : integer); qui doit retourner dans V le contenu de W i défini plus haut [W 0 est entièrement nul, sauf son dernier élément qui vaut 1]. Cette procédure peut utiliser la procédure précédente. 2.2 HEC 99 Maths2 opt. sci. On suppose avoir défini dans un programme Pascal: Type Tableau=Array[1..100] of integer; Ecrire une procédure procedure Tirage(var C:Tableau); permettant de simuler le tirage avec remise de 100 boules dans une urne contenant des boules de couleur C 1 ou C 2 ou C 3 en proportion respectivement 1/4, 1/4, 1/2. L élément C[i] vaut 1, 2 ou 3 et représante la couleur de la iième boule tirée. On utilisera la fonction random : random(4) retourne un entier aléatoire compris entre 0 et 3. Ecrire une fonction Difference de paramètre C qui retourne la valeur de X 1 X 2 [on a défini précédemment dans le sujet X i comme le nombre de boules de couleur C i à l issue des tirages]. 2.3 HEC 99 Maths3 opt. éco. Dans le programme TurboPascal suivant, la fonction RANDOM renvoie, pour un argument M de type INTEGER, un nombre entier aléatoire de l intervalle [0; M 1]. PROGRAM simulation; VAR T : ARRAY[1..20001] OF INTEGER; U,S,i,n : INTEGER; coincide : BOOLEAN; PROCEDURE X; RANDOMIZE; {initialisation de la fonction RANDOM} FOR i:=1 TO 20001 DO T[i]:=1+RANDOM(20000); page 4/ 6

END; X; i:=1; coincide:=false; REPEAT i:=i+1; S:=0; WHILE (S<i-1) AND NOT coincide DO S:=S+1; IF T[S]=T[i] THEN coincide=true; END; UNTIL coincide=true; U:=1; FOR n:=1 TO i DO write(t[n],, ); WRITELN; WRITELN( U =,U); WRITELN( S =,S); END. Que fait la procédure X? Que représentent les variables U et S à la fin du programme? Pourquoi est-il certain que le nombre de passages dans la boucle REPEAT... est fini? UNTIL 2.4 ESC01 Maths2 opt. éco. On considère le tubopascal suivant, où RANDOM(10) désigne un nombre entier tiré au hasard par l ordinateur dans l intervalle [0; 9] (la procédure RANDOMIZE sert à initialiser la fonction RANDOM): PROGRAM Tirage; VAR a,b,c : INTEGER; RANDOMIZE; a:=random(10)+1; b:=random(1)+1; IF a>b THEN c:=a; a:=b; b:=c; END; IF a<b WRITELN( (,a,,,b, ) ); END. Que fait l ordinateur dans le cas où les variables a et b contiennent toutes deux le même nombre? Qu affiche l ordinateur dans le cas où les variables a et b contiennent respectivement les nombres 3 et 5? Qu affiche l ordinateur dans le cas où les variables a et b contiennent respectivement les nombres 10 et 1? page 5/ 6

2.5 ESC01 Maths3 opt. éco. Dans le langage informatique Pascal, la fonction random renvoie, pour un argument m entier vérifiant m 1, un nombre entier aléatoire compris entre 0 et m 1 (cette fonction est initialisée au début du corpa par la procédure randomize). On rappelle que, dans l éxécution d une boucle for i:=n downto 2, i prens successivement les valeurs n, n 1,..., 2. Dans un programme écrit en Pascal figurent la déclaration type tableau=array[1..5] of integer; et la procédure procedure aleatoire(var A:tableau); var aux,i,alea : integer; for i:=1 to 5 do A[i]:=i; for i:=5 downto 2 do alea:=random(i)+1; aux:=a[alea]; A[alea]:=A[i]; A[i]:=aux; On suppose que les valeurs successives de alea sont 4, 2, 3 et 2. Donner les valeurs de A[1], A[2], A[3], A[4] et A[5] à la fin de l éxécution de la procédure. Quelles valeurs successives doit prendre alea pour obtenir, à la fin de l éxécution de la procédure, le tableau A[1]=3, A[2]=5, A[3]=2, A[4]=4 et A[5]=1. Expliquer pourquoi cette procédure permet de simuler un tirage sans remise de 5 jetons, aussi appelée permutation de l ensemble {1,..., 5}. Ecrire une fonction d en-tête function T(A:tableau):integer; qui renvoie le nombre de sous-suites croissantes du tableau A correspondant à une permutation de {1,..., 5}. On suppose que le programme contient les déclarations var A:tableau; var k:integer; var S:real; et que le corps du programme est le suivant: randomize; S:=0; for k:=1 to 1000 do aleatoire(a); S:=S+T(A); S:=S/1000; writeln(s); Après exécution du programme la valeur affichée de S est 2.98. étonnant? Ce résultat est-il page 6/ 6