Informatique, Algorithmique, Programmation, etc. CPEL2



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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Annexe : La Programmation Informatique

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


Évaluation et implémentation des langages

Cours d Algorithmique et de Langage C v 3.0

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

ACTIVITÉ DE PROGRAMMATION

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

L informatique en BCPST

Initiation à la programmation en Python

Cours 1 : Qu est-ce que la programmation?

Programmation C. Apprendre à développer des programmes simples dans le langage C

Cours 1 : La compilation

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

Introduction au langage C

I. Introduction aux fonctions : les fonctions standards

Notions fondamentales du langage C# Version 1.0

M Études et développement informatique

M Études et développement informatique

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

UE Programmation Impérative Licence 2ème Année

Cours 14 Les fichiers

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

Éléments de programmation et introduction à Java

1.6- Génération de nombres aléatoires

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

Claude Delannoy. 3 e édition C++

Conventions d écriture et outils de mise au point

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Dossier projet isn 2015 par Victor Gregoire

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

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Introduction à l héritage en C++

Chap III : Les tableaux

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique I. Algorithmique I p.1/??

ALGORITHMIQUE ET PROGRAMMATION En C

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Programmation stochastique

Algorithmique et Programmation, IMA

Initiation à JAVA et à la programmation objet.

Les chaînes de caractères

Présentation du langage et premières fonctions

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Solutions du chapitre 4

Outils pour la pratique

I00 Éléments d architecture

Le Langage C++ Patrick TRAU - ULP IPST version du 02/10/05

Cours Informatique Master STEP

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Éléments d'architecture des ordinateurs

Les structures. Chapitre 3

Chapitre 2. Classes et objets

1. Structure d'un programme FORTRAN 95

Introduction à NetCDF

Quelques éléments de compilation en C et makefiles

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

Mise en œuvre des serveurs d application

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

TP 1. Prise en main du langage Python

Langage Java. Classe de première SI

Chapitre I Notions de base et outils de travail

Architectures web/bases de données

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

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Chapitre 2 Devine mon nombre!

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

Présentation du module Base de données spatio-temporelles

Analyse et programmation 1

Le langage C. Séance n 4

Programmation Objet Java Correction

Initiation. àl algorithmique et à la programmation. en C

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

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

Introduction à l algorithmique et à la programmation (Info 2)

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

Burckel Thomas. Formation. Compétences

Chapitre 1 : Introduction aux bases de données

M Études et développement null informatique. R i. Appellations. Analyste cogniticien / cogniticienne informatique

V- Manipulations de nombres en binaire

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

Cours d algorithmique pour la classe de 2nde

Transcription:

Informatique, Algorithmique, Programmation, etc. CPEL2 1

Informatique? Mot valise créé en 1962: INFORMATION + AUTOMATIQUE En français moderne: science du traitement de l'information par un ordinateur 2

Ordinateur? Un ordinateur est une super machine à calculer Mot issu du vocabulaire religieux («qui met de l'ordre dans le monde...») Comparé à un humain, cette machine: A une mémoire constituée de cases (ou variables) Fait très vite ce qu'on lui dit Peut traiter beaucoup d'informations grâce à des algorithmes ou des programmes 3

Algorithme? Abou Jafar Muhammad Ibn Musa al-khuwarizmi (9ème siècle) «algorismus» (16ème siècle) En français moderne: programme que doit exécuter l'ordinateur 4

Ecrire un algorithme ou un programme... Suite d'instructions à exécuter Mais parfois il y a un bug : À cause d'une panne de l'ordinateur Plutôt en général à cause d'un fonctionnement non prévu par le programmeur 5

Un exemple amusant - Lightbot 6

Un autre exemple : Scratch 7

Des milliers de langages de programmation... Facilité de prise en main Vitesse d'exécution Langages «graphiques» (Scratch,Logo) Langages interprétés (Python, Visual Basic, PHP, langages TI/CASIO) Langages compilés (C/C++, Java, Ada, Fortran) Langage assembleur En théorie, tout algorithme peut être traduit d'un langage à un autre 8

Apprendre à programmer... 1. Trouver un problème à résoudre! 2. Imaginer une solution en tenant compte des capacités de l'ordinateur 3. Traduire sous forme de programme dans l'ordinateur 4. Tester et faire tester son programme 5. Si ça ne marche pas repartir à l'étape 2! 9

Que peut faire l'ordinateur? Déplacer un objet dans une variable Consulter la valeur d'une variable Calculer, comparer Etc. (voir les blocs Scratch) 10

Exemples de problèmes à résoudre... Trouver le plus petit objet parmi un ensemble d'objets Difficile Facile 11

Algorithme pour trouver le plus petit parmi un ensemble d'objets On définit une variable posmin = 1 On regarde chaque objet qui reste: Si cet objet est plus petit que celui en position posmin, alors on met sa position dans posmin On passe à l'objet suivant A la fin la variable posmin contient la position de l'objet le plus petit... Essayons avec des étudiants, puis avec Scratch On peut aussi faire une simulation d'exécution 12

Exemples de problèmes à résoudre Mettre des objets dans le bon ordre (ou trier) 13

Algorithme pour trier 1. On définit une variable pos = 1 2. On cherche le plus petit objet à partir de la position pos 3. On l'échange avec la case située en position pos 4. Si il y a encore des objets à traiter, alors on repart à l'étape 2 après avoir ajouté 1 à pos 5. A la fin, l'ensemble est trié! 14

Version Scratch 15

Ca devient un peu compliqué mais il ne faut pas craquer 16

Programme mystère? 17

Le C/C++ Langage très courant (90 % des jeux!) Des nouveautés importantes par rapport à Scratch : Les nombres sont typés (int pour les nombres entiers, float pour les nombres à virgule, char pour les caractères,...) Quelques lignes un peu mystérieuses à ajouter au début... On programme avec un éditeur de texte et un terminal Se référer à l'aide mémoire! 18

Un premier exemple en C/C++ #include <stdlib.h> #include <iostream> using namespace std; int main() { int valeur1, valeur2; int reponse; srand(time(null)); valeur1 = rand()%10; valeur2 = rand()%10; cout<<"quel est le résultat de "<<valeur1<< " fois "<<valeur2<<"?"<<endl; cin>>reponse; while (reponse!= (valeur1*valeur2)) { cout<<"non! Quel est le résultat de "<<valeur1<< " fois "<<valeur2<<"?"<<endl; cin>>reponse; } cout<<"bravo!"<<endl; } 19

Environnement Linux 20

Traduction en C/C++ d'un programme Scratch 21

Les points à retenir : Attention aux bornes d'une liste (ou vecteur) qui vont de 0 à n-1 Les accolades, virgules, parenthèses,... ne sont pas toujours obligatoires : les utiliser quand même Le but est d'écrire un programme lisible En TP ne pas hésiter à repartir d'un ancien programme pour le modifier Mise en application avec le tri par insertion... 22

Corriger un programme-mystère à l'aide du compilateur #include <stdlib.h> using namespace std; int main() int liste[6] int i; for (i = 0; i < 6; i++) { liste[i] = rand()%100; cout>>liste[i]>>endl; } i == 0; while (i <= 6) { if ((i%2) = 1) j = list[i]; list[i] = j+; cout<<"element " i " devient "<<liste[i]; } i=i+2; } 23

Tri à bulles! 24