• Aucun résultat trouvé

Informatique et Programmation Examen N°1 10 mars 2009 18h30-20h30

N/A
N/A
Protected

Academic year: 2022

Partager "Informatique et Programmation Examen N°1 10 mars 2009 18h30-20h30"

Copied!
3
0
0

Texte intégral

(1)

Informatique et Programmation Examen N°1

10 mars 2009 18h30-20h30

Nom : Prénom :

Nom de la machine : Répertoire de travail : Remarques :

Exercice 1 :

Donner les résultats des codes suivants :

1) float re=0.5, im=0.866; printf("%.2f+j%.2f\n",re,im);

2) char c='c'; printf("%c -> %d -> Ox%x\n",c,c,c);

3) int N=4,res=0,i; for(i=1; i<=N; ++i) res+=i; printf("%d\n",res);

Exercice 2 :

Ecrire un programme qui calcule la somme des N premiers nombres entiers multiple de 3.

Exercice 3 :

Ecrire une fonction qui retourne un tableau : le premier élément du tableau et le dernier sont permutés, le deuxième et l’avant dernier sont permutés, etc …

Tester cette fonction au sein d’un petit programme qui permute le tableau constitué des élements suivants : 1 2 3 4 5

Exercice 4 :

Ecrite une fonction qui réalise l’arrondi d’un nombre réel au plus proche entier. Cette fonction devra avoir le prototype suivant :

void f2i(float *x);

Tester cette fonction au sein d’un petit programme qui demande un nombre réel et affiche son arrondi. La fonction devra si possible fonctionner également pour les nombres négatifs.

(2)

Correction

Exercice 1 :

Voici les résultats :

resultat1 : 0.50+j0.87 resultat2 : c -> 99 -> Ox63 resultat3 : 10

Exercice 2 :

#include <stdio.h>

#include <stdlib.h>

int main() {

int N,i,somme=0;

printf("Entrez la valeur de N : ");

scanf("%d",&N);

for(i=1; i<=N; i++) somme+=3*i;

printf("La somme des %d premiers nombres multiple de 3 est :

%d\n",N,somme);

return 0;

}

Exercice 3 :

#include <stdio.h>

#include <stdlib.h>

#define DIM 5

void permute(int x[], int taille) { int tmp,i;

for(i=0; i<taille/2; ++i) { tmp=x[i];

x[i]=x[taille-1-i];

x[taille-1-i]=tmp;

} }

int main() { int tab[DIM],i;

for(i=0; i< DIM; ++i) tab[i]=i+1;

printf("avant : ");

for(i=0; i< DIM; ++i) printf("%d ",tab[i]);

printf("\n");

permute(tab,DIM);

printf("apres : ");

for(i=0; i< DIM; ++i) printf("%d ",tab[i]);

printf("\n");

return 0;

}

(3)

Exercice 4 :

#include <stdio.h>

#include <stdlib.h>

void f2i(float *x);

int main() { float val;

printf("Entrez la valeur du nombre reel a arrondir : ");

scanf("%f",&val);

f2i(&val);

printf("Voici la valeur du nombre reel arrondir : %.0f\n",val);

return 0;

}

void f2i(float *x) {

*x=(int)(*x+(*x>0 ? 0.5:-0.5));

}

Références

Documents relatifs

On supposera qu’une saisie correcte est une suite de chiffres suivi d'un retour à la ligne, sans autres caractères comme par exemple : 0326811665↵ mais aussi : 644674↵.. 3)

Ecrire un programme conv.c qui convertit un fichier texte nommé &#34;saisie.txt&#34; contenant des nombres réels (comme celui créé lors de l'exercice 1), en un

Reprendre le programme de l'exercice 1 et fixer N à 5 puis traiter le cas où le nombre de caractères est trop important pour la taille du tableau en avertissant l'utilisateur et

Reprendre le programme de l'exercice 2 et trier dans l’ordre croissant les valeurs contenues dans le tableau à l’aide d’une fonction tri(…) qu’on définira. On vérifiera

Ecrivez un programme qui accepte une chaîne de caractères minuscules (255 caractères maximum) en entrée et qui affiche la même chaîne avec tous ses caractères en majuscule..

Ecrire un programme qui permet de saisir une ligne de caractères (suite de caractères terminé par le caractère '\n') et de la mémoriser dans un tableau (de caractères) comme une

La fonction devra renvoyer 1 dans le cas où les deux chaines (s1 et s2) sont identiques (même longueur et même contenu) et 0 sinon. Ecrire un petit programme permettant de tester

Modifier la fonction de l’exercice précédent pour obtenir une fonction recevant un pointeur s à la place du tableau tab (adresse de la case 0 d’un tableau) et retournant