Les algorithmes arithmétiques

Documents pareils
Corrigé des TD 1 à 5

Examen Médian - 1 heure 30

Recherche dans un tableau

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

Application 1- VBA : Test de comportements d'investissements

Cours Informatique Master STEP

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

Algorithmique & programmation


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)

Algorithmes et programmation en Pascal. Cours

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

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Organigramme / Algorigramme Dossier élève 1 SI

1. Structure d'un programme FORTRAN 95

Enseignement secondaire technique

Algorithmique et programmation : les bases (VBA) Corrigé

Propagation sur réseau statique et dynamique

Cours d algorithmique pour la classe de 2nde

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

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Plan du cours Cours théoriques. 29 septembre 2014

Licence Sciences et Technologies Examen janvier 2010

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

Cours d Informatique

Programmation structurée et algorithmes de base en Pascal

Correction TD algorithmique

TRIGONOMETRIE Algorithme : mesure principale

Compilation (INF 564)

L ALGORITHMIQUE. Algorithme

Problèmes liés à la concurrence

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

Feuille TD n 1 Exercices d algorithmique éléments de correction

STAGE IREM 0- Premiers pas en Python

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

Logiciel Libre Cours 2 Fondements: Programmation

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Algorithmique et Programmation, IMA

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Initiation à la programmation en Python

Ordonnancement temps réel

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

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Arbres binaires de recherche

Raisonnement par récurrence Suites numériques

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

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

Rappels sur les suites - Algorithme

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

Solutions du chapitre 4

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

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

TP Maple 4 Listes, tests, boucles et procédures

Le prototype de la fonction main()

Paginer les données côté serveur, mettre en cache côté client

ALGORITHMIQUE ET PROGRAMMATION En C

Théorie de la Programmation

Maple: premiers calculs et premières applications

OCL - Object Constraint Language

Introduction à MATLAB R

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Représentation d un entier en base b

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

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

Applications des mathématiques pdf. Introduction à la Programmation en Visual Basic 6

Programmation Objet - Cours II

Programmer en JAVA. par Tama

Programme Compte bancaire (code)

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

Polynômes à plusieurs variables. Résultant

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

Cours de Programmation 2

CM2 L architecture MIPS32

Création d installateurs pour Windows avec InnoSetup

Initiation à l algorithmique

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

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

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

Programmation sous Delphi

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

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

Algorithmes de recherche d itinéraires en transport multimodal

Cours 1 : La compilation

CHAPITRE 9. Codes source. 9.1 Insertion brute

Coefficients binomiaux

as Architecture des Systèmes d Information

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

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

Transcription:

Les algorithmes arithmétiques 1 I.Décomposition en facteurs premiers La décomposition en produit de facteurs premiers, d'un entier strictement positif, consiste à écrire cet entier sous forme d'un produit de ces diviseurs premiers. Par définition, un nombre premier ne peut pas être décomposé. Exemples : 11 = 11 25 = 5 * 5 45 = 3*3*5 = 3 2 * 5 125 = 5*5*5 360 = 2*2*2*3*3*5 Principe: +Vérifier si n est divisible par 2, si oui : remplacer n par n div 2 et continuer à le diviser par 2, jusqu'à ce qu'il ne soit pas multiple de 2 (n div 2 <>0) +Refaire l'étape précédente pour 3, 4, +Refaire les étapes précédentes jusqu'à avoir n = 1 Exercice : Ecrire un programme qui stocke la décomposition en facteurs premiers d'un nombre entier strictement positif dans un tableau T puis affiche les éléments de ce tableau. program facteur_premier; uses wincrt; type tab= array[1..10] of integer; var n,d,nb: integer; t:tab; procedure saisie(var n:integer); repeat write('entrez le nombre dont vous voulez la decomposition : '); readln(n); until n>0;

2 Procedure decomposition(var t:tab;n:integer;var nb:integer); var d:integer; nb := 0; d := 2; While (n <> 1) do Begin if ((n mod d) = 0) then t[nb + 1] := d; n := n div d; nb := nb + 1; end else d := d + 1; End; End; Procedure affichage(t:tab;nb:integer); var i:integer; Begin for i:=1 to nb-1 do write(t[i], '*'); writeln(t[nb]); saisie(n); decomposition(t,n,nb); affichage(t,nb); End. II.Le calcul du factoriel Le factoriel d'un entier n est noté par : n! = n*(n-1)*(n-2)* *3*2*1 Exemple : 5! = 5*4*3*2*1 = 120 Exercice : Ecrire un programme qui permet de : Saisir deux entiers strictement positifs n et p tel que n>p n n! Calculer et afficher Ap = ( n p)!

3 program arrange; uses wincrt; var n,p:integer; procedure saisie(var n,p:integer); repeat write('n=');read(n); write('p=');read(p); until (n>0) and (n>p); function fact(n:integer):longint; var i:integer; f:longint; f:=1; for i:=1 to n do f:=f*i; fact:=f; function arrangement(n,p:integer):real; arrangement:=fact(n)/fact(n-p); saisie(n,p); write('a=',arrangement(n,p):3:3); end.

4 Exercice 1 : Les nombres parfaits Soit n un entier naturel. On dit que n est un nombre parfait ssi la somme de ses diviseurs vaut 2.n. On dit que n est un nombre parfait ssi la somme de ses diviseurs stricts vaut n. Exemples : les premiers entiers parfaits sont 6 et 28. Propriétés Soit a un entier naturel. Si a s'écrit sous la forme 2n. (2n+1-1) et si 2n+1-1 est premier, alors a est parfait. On s'aperçoit ainsi que 6 = 21. (21+1-1) et 28 = 22. (22+1-1) car 3 et 7 sont premiers. Les dérivés des nombres parfaits Nombres "presque parfaits " Soit n un entier naturel. On dit que n est un nombre "presque parfait " si la somme de ses diviseurs vaut 2.n -1. Toute puissance de 2 est un nombre presque parfait. Ecrire un algorithme d'une fonction parfait qui permet de vérifier si un élément d'une matrice carrée d'entiers, M, est parfait ou non. Solution : 0) Fonction Parfait (M : matrice; n, i, j : entier) : Booléen 1) Parfait Faux 2) Pour k de 1 à M [i, j]-1 faire Si M [i, j] mod k = 0 Alors S S + k Fin Pour 3) Si S = M [i, j] Alors Parfait Vrai 4) Fin Parfait Appeler cette fonction dans un module qui permet d'afficher tous les éléments parfaits de la matrice M. Solution : 0) Procédure Affichage (M : matrice; n, i, j : entier) 1) Pour i de 1 à n Faire Pour j de 1 à n Faire Si Parfait (M, n, i, j) Alors Ecrire (M [i, j]) Fin Pour Fin Pour 2) Fin Affichage

5 Exercice 2 : Deux nombres a et b sont dits nombres jumeaux si : a et b sont premiers a = b + 2 Ecrire un algorithme 'une fonction Jumeaux permettant de tester si deux entiers a et b sont jumeaux ou non. Exemples : Pour a = 7 et b = 5, On a : 7 et 5 sont premiers et 7 = 5 + 2, donc sont jumeaux Pour a = 17 et b = 11, On a : 17 et 11 sont premiers mais 17 11 + 2, donc ne sont pas jumeaux 0) Fonction Premier (a : entier) : Booléen 1) P Vrai, i 2 2) Répéter Si a mod i = 0 Alors P Faux Sinon i i + 1 Jusqu'à (non P OU (i=a)) 3) Premier P 4) Fin Premier 0) Fonction jumeaux (a, b) : Booléen ; 1) Jumeaux Faux Si (Premier (a) ET (Premier (b) ET (a = b + 2)) Alors Jumeaux Vrai 2) Fin Jumeaux Exercices 3 : nombres Amis Deux nombres a et b sont dits amis si la sommes des diviseurs stricts de a égale à b et la sommes des diviseurs stricts de b égale à a. exemples : 220 et 284 Ecrire une fonction permettant de tester si deux entiers naturels sont amis ou non.

6 function amis(m,n:integer):boolean; Var sn,sm:integer; amis:=false; sn:=0; for i:=1 to n-1 do if n mod i=0 then sn:=sn+i; sm:=0; for i:=1 to m-1 do if m mod i=0 then sm:=sm+i; if ((sn=m) and (sm=n)) then amis:=true;