Vue normale

À partir d’avant-hierWayToLearnX

Top 50 QCM sur les réseaux informatiques avec corrigés

Par :Thomas
3 juin 2022 à 16:46

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Quel est le nombre de couches dans le modèle OSI ?

A 2 couches

B 4 couches

C 6 couches

D 7 couches

D
Le modèle OSI est constitué de 7 couches.
 

Les 7 couches du modèle OSILes 7 couches du modèle OSIOpen Systems Interconnection (OSI) est un modèle de référence sur la façon de communiquer sur un réseau. Un modèle de référence est un modèle conceptuel…Lire plus
 
2. La forme complète de OSI est _____ _______ ______

A Operating System interface

B Optical System interconnection

C Operating System Internet

D Open system interconnection

D
OSI signifie « Open system interconnection » (interconnexion de systèmes ouverts).
Les 7 couches du modèle OSILes 7 couches du modèle OSIOpen Systems Interconnection (OSI) est un modèle de référence sur la façon de communiquer sur un réseau. Un modèle de référence est un modèle conceptuel…Lire plus
 
3. Identifiez la forme complète de HTTP ?

A HyperText Transfer Protocol

B HyperText Transfer Package

C Hyper Transfer Text Package

D Hyper Transfer Text Pool

A
HTTP signifie HyperText Transfer Protocol (protocole de transfert hypertexte).
Protocole HTTPProtocole HTTPHTTP signifie « Hypertext Transfer Protocol ». HTTP est le protocole utilisé pour transférer des données sur le Web. Il fait partie de la suite…Lire plus
 
 
4. Identifiez le protocole principalement utilisé pour charger des pages web?

A DNS

B HTML

C HTTP

D FTP

C
HTTP est utilisé pour charger des pages web.
Protocole HTTPProtocole HTTPHTTP signifie « Hypertext Transfer Protocol ». HTTP est le protocole utilisé pour transférer des données sur le Web. Il fait partie de la suite…Lire plus
 
5. Que signifie PoP ?

A Post Office Protocol

B Pre Office Protocol

C Protocol of Post

D Protocol Office Post

A
PoP signifie Post Office Protocol.
Protocole POPProtocole POPLe protocole POP (Post Office Protocol) permet de télécharger des courriels d’un serveur de messagerie sur votre ordinateur.       POP a été mis…Lire plus
 
6. Quel est le numéro de port du PoP ?

A 25

B 110

C 43

D 80

B
Le numéro de port du PoP est 110.
Protocole POPProtocole POPLe protocole POP (Post Office Protocol) permet de télécharger des courriels d’un serveur de messagerie sur votre ordinateur.       POP a été mis…Lire plus
 
 
7. Identifiez la couche qui fournit des services à l’utilisateur.

A Couche session

B Couche physique

C Couche application

D Couche présentation

C
La couche application permet à l’utilisateur, qu’il soit humain ou logiciel, d’accéder au réseau. Elle fournit des interfaces utilisateur et un support pour des services tels que le courrier électronique, la gestion de bases de données partagées et d’autres types de services.
Les 7 couches du modèle OSILes 7 couches du modèle OSIOpen Systems Interconnection (OSI) est un modèle de référence sur la façon de communiquer sur un réseau. Un modèle de référence est un modèle conceptuel…Lire plus
 
8. Que définit un ensemble de règles ?

A System

B Opération

C Routeur

D Protocole

D
Protocole, en informatique, est un ensemble de règles ou de procédures pour la transmission de données entre des dispositifs électroniques, tels que des ordinateurs. Pour que les ordinateurs échangent des informations, il doit y avoir un contrat préalable sur la façon dont l’information sera structurée et sur la façon dont chaque partie l’enverra et la recevra.
Liste des protocoles internetListe des protocoles internetQue sont exactement les protocoles? Les protocoles sont des règles. Considérez les protocoles comme des règles – sur lesquelles nous sommes tous d’accord.    …Lire plus
 
9. Identifiez parmi les éléments suivants celui qui est principalement utilisé pour héberger un site web

A Serveur Mail

B Serveur Base de donnée

C Serveur Web

D Serveurs DNS

C
Le serveur web est principalement utilisé pour héberger un site web.
Différence entre Serveur d’application et Serveur webDifférence entre Serveur d’application et Serveur webLa différence entre un serveur d’applications et un serveur Web, est la suivante: Un serveur Web traite exclusivement les requêtes HTTP, tandis qu’un serveur d’applications…Lire plus
 
 
10. Déterminer le nombre total de versions du protocole IP.

A 1

B 2

C 3

D 4

B
IP a 2 versions, IPV4 et IPV6.
Différence entre les en-têtes IPv4 et IPv6Différence entre les en-têtes IPv4 et IPv6IPv4 (Internet Protocol version 4) est la quatrième version du protocole Internet (IP). Il est utilisé sur les réseaux à commutation de paquets tels que…Lire plus
 
11. Que signifie TCP/IP ?

A Transmission control protocol/Internet protocol

B Transmission control protocol/International protocol

C Transport control protocol/Internet protocol

D Transport control protocol/International protocol

A
TCP/IP est l’abréviation de Transmission control protocol/Internet protocol.
Protocole TCPProtocole TCPTCP (Transmission Control Protocol) est une norme qui définit comment établir et maintenir une conversation réseau via laquelle les programmes d’application peuvent échanger des données.…Lire plus
 
12. Identifiez la topologie de réseau incorrecte:

A Réseau en anneau

B Réseau en bus

C Réseau en étoile

D réseau P2P

D
Peer-to-peer (P2P) désigne les réseaux informatiques utilisant une architecture distribuée. Dans les réseaux P2P, tous les ordinateurs qui les composent sont appelés « pairs », et ils partagent et échangent des charges de travail. Dans un réseau pair à pair, chaque pair est égal aux autres pairs. Il n’y a pas de pairs privilégiés, et il n’y a pas de dispositif d’administration primaire au centre du réseau. Dans un réseau peer-to-peer (P2P), chaque ordinateur joue à la fois le rôle de serveur et de client.
 

Différence entre les réseaux client-serveur et peer-to-peerDifférence entre les réseaux client-serveur et peer-to-peerOn travaille sur des ordinateurs pendant longtemps, vous avez peut-être entendu les termes Client-Serveur et Peer-to-Peer. Ces deux modèles de réseau sont communs que nous…Lire plus
 
 
13. Choisissez le numéro de port du FTP.

A 80

B 20

C 23

D 21

D
Le numéro de port du FTP est 21.
Protocole FTPProtocole FTPLe protocole FTP (File Transfer Protocol) est un protocole client/serveur utilisé pour transférer ou échanger des fichiers avec un ordinateur hôte.   Le client peut…Lire plus
 
14. A quoi fait référence le numéro de port 143 ?

A POP

B IMAP

C SMTP

D POP3

B
Le numéro de port 143 fait référence à IMAP.
Protocole IMAPProtocole IMAPIMAP(Internet Messaging Access Protocol), est un standard Internet qui permet de récupérer des messages depuis un serveur de messagerie. Le document principal définissant le protocole…Lire plus
 
15. Que signifie MAC ?

A Media Access Carriage

B Media Access Collision

C Media Access Cable

D Media Access Control

D
MAC est l’abréviation de Media Access Control.
Adresse MacEthernet utilise les adresses MAC (Media Access Control) dans un environnement Ethernet. Chaque carte d’interface réseau Ethernet (NIC) a une adresse MAC gravée dans son…Lire plus
 
 
16. Quelle est la longueur de l’adresse MAC ?

A 8 bits

B 16 bits

C 32 bits

D 48 bits

D
La longueur de l’adresse MAC est de 48 bits.
Adresse MacEthernet utilise les adresses MAC (Media Access Control) dans un environnement Ethernet. Chaque carte d’interface réseau Ethernet (NIC) a une adresse MAC gravée dans son…Lire plus
 
17. Identifiez la couche qui est responsable de la traduction des données.

A Couche session

B Couche physique

C Couche présentation

D Couche application

C
La couche de présentation est utilisée pour la traduction des données. La couche de présentation du modèle OSI, qui sert de traducteur, convertit les données envoyées par la couche d’application du nœud de transmission en un format de données acceptable et compatible.
Les 7 couches du modèle OSILes 7 couches du modèle OSIOpen Systems Interconnection (OSI) est un modèle de référence sur la façon de communiquer sur un réseau. Un modèle de référence est un modèle conceptuel…Lire plus
 
18. Identifiez la couche qui établit le lien entre le système et l’utilisateur.

A Couche session

B Couche physique

C Couche présentation

D Couche application

D
La couche application est utilisée pour établir le lien entre le système et l’utilisateur.
Les 7 couches du modèle OSILes 7 couches du modèle OSIOpen Systems Interconnection (OSI) est un modèle de référence sur la façon de communiquer sur un réseau. Un modèle de référence est un modèle conceptuel…Lire plus
 
19. Qu’est-ce qu’un HUB ?

A Appareil de calcul

B Logiciel

C Périphérique réseau

D Dispositif de simulation

C
Un HUB est un dispositif de réseau.
Qu’est ce qu’un Hub - concentrateurQu’est ce qu’un Hub (concentrateur) ?Un concentrateur réseau est un nœud qui diffuse des données vers chaque ordinateur ou périphérique Ethernet connecté. Un concentrateur est moins sophistiqué qu’un commutateur(Switch), ce…Lire plus
 
 
20. Identifiez parmi les éléments suivants le périphérique réseau utilisé pour connecter deux types de réseaux différents.

A Switch

B Hub

C Bridge

D Passerelle

D
La passerelle est utilisée pour connecter deux types de réseaux différents.
Différence entre un Pont et une Passerelle – Réseau informatiqueDifférence entre un Pont et une Passerelle – Réseau informatiquePont et passerelle, sont les dispositifs de backbone de la mise en réseau. Un pont fonctionne sur les deux couches, la couche physique et la…Lire plus
 
21. Identifiez le dispositif utilisé pour renforcer un signal faible.

A Switch

B Hub

C Repeater

D Bridge

C
Repeater est utilisé pour renforcer un signal faible.
Qu’est ce qu’un répéteurQu’est ce qu’un répéteur ?Un répéteur est un périphérique réseau utilisé pour régénérer ou répliquer un signal. Les répéteurs sont utilisés dans les systèmes de transmission pour régénérer les…Lire plus
 
22. Lequel des éléments suivants est utilisé pour allouer et gérer les ressources d’un réseau ?

A Topologie

B Imprimante

C Serveur

D Protocoles

C
Le serveur est utilisé pour allouer et gérer les ressources d’un réseau.
Différence entre Serveur d’application et Serveur webDifférence entre Serveur d’application et Serveur webLa différence entre un serveur d’applications et un serveur Web, est la suivante: Un serveur Web traite exclusivement les requêtes HTTP, tandis qu’un serveur d’applications…Lire plus
 
23. Lequel des dispositifs suivants est utilisé dans la couche réseau ?

A Switch

B Hub

C Routeur

D Bridge

C
Le routeur est utilisé dans la couche réseau.
Différence entre Serveur d’application et Serveur webDifférence entre Serveur d’application et Serveur webLa différence entre un serveur d’applications et un serveur Web, est la suivante: Un serveur Web traite exclusivement les requêtes HTTP, tandis qu’un serveur d’applications…Lire plus
 
24. Lequel des arrangements topologiques suivants est une configuration ‘point-to-point’ ?

A Anneau

B Maillé

C Étoile

D Toutes les réponses sont vraies

D
Toutes les réponses consiste en une configuration ‘point-to-point’.
Topologie du Réseau InformatiqueTopologie du Réseau InformatiqueUne topologie de réseau est une disposition de noeuds (généralement des commutateurs, des routeurs, etc) et des connexions, souvent représenté sous forme de graphe.  …Lire plus
 
 
25. Identifiez le dispositif qui relie deux réseaux locaux homogènes à broadcast.

A Switch

B Hub

C Routeur

D Bridge

D
Le Bridge est utilisé pour relier deux réseaux locaux homogènes à broadcast.
Qu'est ce qu’un pont réseau BridgeQu’est ce qu’un pont réseau (Bridge) ?Un pont est un type de périphérique réseau qui assure l’interconnexion avec d’autres réseaux utilisant le même protocole.     Le pont fonctionnent au niveau…Lire plus
 
26. Que signifie LAN ?

A Local Agent Network

B Local Area Network

C Local Asynchronous Network

D Local Anonymous Network

B
LAN signifie Local Area Network (réseau local).
Différence entre LAN, MAN et WANDifférence entre LAN, MAN et WANLe réseau permet aux ordinateurs de se connecter et de communiquer avec différents ordinateurs via n’importe quel support. LAN, MAN et WAN sont les trois…Lire plus
 
27. Le serveur proxy est également connu sous le nom de __________

A Passerelle de niveau application

B Outils proxy

C Proxy d’application

D Serveur Mandataire

A
Une passerelle de niveau d’application est un proxy qui assure la sécurité du réseau. Elle filtre le flux de nœuds entrants selon certaines conditions, ce qui signifie que seules les données des applications réseau transmises sont filtrées.. Ces applications réseau sont notamment le protocole (FTP), Telnet, RTSP, etc…
 
28. Identifiez parmi les serveurs suivants ceux qui permettent aux utilisateurs du réseau local de partager des données.

A Serveur de communication

B Serveur DNS

C Serveur de fichiers

D Serveur d’application

C
Un serveur de fichiers est un ordinateur responsable du stockage et de la gestion des fichiers de données afin que d’autres ordinateurs du même réseau puissent y accéder.
 
 
29. Identifiez le réseau qui étend un réseau privé sur un réseau public.

A Virtual private network

B Storage Area network

C Enterprise Private network

D Local Area network

A
Le VPN étend un réseau privé sur un réseau public.
Différence entre VPN et proxyDifférence entre VPN et proxyL’objectif principal de VPN et de proxy est de fournir une connexion entre l’ordinateur hôte et l’ordinateur distant en masquant l’adresse IP de l’ordinateur hôte…Lire plus
 
30. Que faut-il pour utiliser SNMP(Simple Network Management System) ?

A Serveurs

B Protocoles

C Règles

D Routeurs

C
Les règles sont nécessaires pour utiliser SNMP(Simple Network Management System). Les règles définissent l’action qu’une stratégie doit exécuter en réponse à un type spécifique d’événement entrant.
 
31. Identifiez la principale différence entre SNMPv3 et SNMPv2.

A Intégration

B Classification

C Management

D Sécurité renforcée

D
La principale différence entre SNMPv3 et SNMPv2 est le renforcement de la sécurité.
Différence entre SNMP v1 et v2Différence entre SNMP v1 et v2SNMP (Simple Network Management Protocol) est un protocole Internet dédié à la gestion des périphériques sur les réseaux. Généralement, les routeurs, les commutateurs, les serveurs,…Lire plus Différence entre SNMP v2 et v3Différence entre SNMP v2 et v3SNMP (Simple Network Management Protocol) est un protocole Internet dédié à la gestion des périphériques sur les réseaux. Généralement, les routeurs, les commutateurs, les serveurs,…Lire plus
 
32. Identifiez parmi les adresse IP suivants ceux qui appartiennent à la classe A.

A 130.10.10.245

B 129.10.10.245

C 128.10.10.245

D 121.10.10.245

D
121.10.10.245 appartient à la classe A car la valeur du premier octet de l’adresse est comprise entre [0, 127].
Classe d'adresse IPClasse d’adresse IPAvec une adresse IP(IPv4), il existe cinq classes d’adresses IP disponibles: Classe A, Classe B, Classe C, Classe D et Classe E, alors que seules…Lire plus
 
 
33. A quoi servent les bits de parité ?

A Pour crypter des données

B Pour détecter les erreurs

C Pour identifier un utilisateur

D Pour chiffrer des données

B
Les bits de parité sont utilisés pour détecter les erreurs.
Techniques de détection d'erreurTechniques de détection d’erreurLes données communiquées sur n’importe quel support sont sujettes aux interférences et à la corruption, de sorte que les données d’origine envoyées peuvent ne pas…Lire plus
 
34. Qui garde la clé privée dans la cryptographie à clé asymétrique ?

A Émetteur

B Récepteur

C Les deux Émetteur et Récepteur

D Aucune de ces réponses

B
Le récepteur garde la clé privée dans la cryptographie à clé asymétrique.
Différence entre le cryptage symétrique et asymétriqueDifférence entre le cryptage symétrique et asymétriqueLorsqu’on communique sur un support non sécurisé comme Internet, vous devez faire attention à la confidentialité des informations que vous partagez avec d’autres. Cryptage symétrique…Lire plus
 
35. Identifiez la méthode de commutation dans laquelle le message est divisé en petits paquets.

A Commutation virtuelle

B Commutation de paquets

C Commutation des messages

D Aucune de ces réponses

B
Dans la commutation par paquets, le message est divisé en petits paquets.
Différence entre la commutation de circuit et commutation de paquetsDifférence entre la commutation de circuit et commutation de paquetsLa commutation de circuits et la commutation de paquets sont des méthodes de commutation utilisées pour connecter multiples dispositifs de communication entre eux. La commutation…Lire plus
 
36. Choisissez parmi les éléments suivants celui qui est un protocole orienté bit.

A HTTP

B P2P

C HDLC

D SSL

C
HDLC ou High-level link control est un protocole orienté bit qui est utilisé pour transmettre des informations d’un réseau à un autre.
Différence entre HDLC et PPPDifférence entre HDLC et PPPLa différence entre HDLC et PPP est que HDLC (High-Level Data Link Control) est un protocole de communication utilisé dans la couche liaison de données,…Lire plus
 
 
37. Identifiez le premier réseau qui était basé sur le protocole TCP/IP.

A ARPANET

B OSI

C Ethernet

D FDDI

A
ARPANET a été le premier réseau basé sur le protocole TCP/IP.
Protocole TCPProtocole TCPTCP (Transmission Control Protocol) est une norme qui définit comment établir et maintenir une conversation réseau via laquelle les programmes d’application peuvent échanger des données.…Lire plus
 
38. Choisissez parmi les suivants celui qui est le protocole Internet le plus courant.

A Ping

B SMTP

C HTTP

D FTP

B
Le SMTP est le protocole Internet le plus couramment utilisé.
Protocole SMTPProtocole SMTPLe protocole SMTP (Simple Mail Transfer Protocol) est un protocole de communication standard pour l’envoi de courriers électroniques sur des réseaux d’entreprise et sur Internet.…Lire plus
 
39. Comment appelle-t-on la collection du document hypertexte sur Internet ?

A HTTP

B HTML

C WWW

D COM

C
La collection de documents hypertexte sur internet connue sous le nom de WWW.
 
40. Comment est donné l’emplacement d’une ressource sur Internet ?

A IP

B MAC

C DNS

D URL

D
L’emplacement d’une ressource sur l’internet est indiqué par l’URL.
 
 
41. Quelle est la longueur de l’adresse IPv4 ?

A 8 bits

B 16 bits

C 32 bits

D 48 bits

C
La longueur d’une adresse IPv4 est de 32 bits.
 
 
42. Quelle est la longueur de l’adresse IPv6 ?

A 8 bits

B 16 bits

C 32 bits

D 128 bits

D
La longueur d’une adresse IPv6 est de 128 bits.
Différence entre les en-têtes IPv4 et IPv6Différence entre les en-têtes IPv4 et IPv6IPv4 (Internet Protocol version 4) est la quatrième version du protocole Internet (IP). Il est utilisé sur les réseaux à commutation de paquets tels que…Lire plus Quels sont les avantages de IPv6 ?Les avantages de IPv6Internet a commencé en 1969 avec ArpaNET. En 1981, Internet a adopté le protocole Internet version 4 (IPv4) et a été ouvert au public quelques…Lire plus
 
43. Quel est le protocole utilisé lorsque le serveur principal envoie du courrier à un autre serveur de courrier ?

A FTP

B IMAP

C SMTP

D POP

C
SMTP est le terme utilisé lorsque le serveur principal envoie du courrier à un autre serveur de courrier.
Protocole SMTPProtocole SMTPLe protocole SMTP (Simple Mail Transfer Protocol) est un protocole de communication standard pour l’envoi de courriers électroniques sur des réseaux d’entreprise et sur Internet.…Lire plus
 
 
44. Quel est le numéro de port du SMTP ?

A 20

B 21

C 23

D 25

D
Le numéro de port du SMTP est 25.
Protocole SMTPProtocole SMTPLe protocole SMTP (Simple Mail Transfer Protocol) est un protocole de communication standard pour l’envoi de courriers électroniques sur des réseaux d’entreprise et sur Internet.…Lire plus
 
45. Que signifie MIME ?

A Multipurpose Internet Mail Extra

B Multipurpose Internet Mail End

C Multipurpose Internet Mail Email

D Multipurpose Internet Mail Extension

D
MIME est l’abréviation de Multipurpose Internet Mail Extension.
 
46. L’arrangement où toutes les données passent par un ordinateur central est connu sous le nom de _______

A Réseau en anneau

B Réseau en bus

C Réseau en étoile

D réseau P2P

C
L’arrangement où toutes les données passent par un ordinateur central est connu sous le nom de topologie en étoile.
Topologie réseau en étoileTopologie réseau en étoileUne topologie en étoile est une topologie dans laquelle tous les nœuds sont connectés à un périphérique central, formant ainsi une étoile. Deux types de…Lire plus
 
47. Déterminez si l’affirmation suivante est vraie ou fausse :

La carte d’interface réseau (NIC) est un périphérique E/S.

A Vraie

B Fausse

A
La NIC est un périphérique d’entrée/sortie.
NIC carte réseauNIC – Carte réseau – InformatiqueNetwork Interface Card (NIC) ou (Carte d’Interface Réseau) est un composant matériel sans lequel un ordinateur ne peut pas être connecté via un réseau. Il…Lire plus
 
 
48. Le protocole UDP est sans connexion car ______?

A tous les paquets UDP sont traités indépendamment par la couche de transport

B il envoie des données sous forme de flux de paquets liés

C il est reçu dans le même ordre que l’ordre envoyé

D Aucune de ces réponses n’est vraie.

A
Le protocole UDP est sans connexion car tous les paquets UDP sont traités indépendamment par la couche de transport.
Protocole UDPProtocole UDPUDP (User Datagram Protocol) est un protocole de communication alternatif au protocole TCP (Transmission Control Protocol) utilisé principalement pour envoyer des messages courts appelés datagrammes,…Lire plus

 

 
49. Le protocole TCP est _______?

A un protocole orienté connexion

B utilise le three-way handshake pour établir une connexion

C reçoit les données de l’application sous forme de flux unique

D Aucune de ces réponses n’est vraie.

A
Le protocole TCP est un protocole orienté connexion.
Protocole TCPProtocole TCPTCP (Transmission Control Protocol) est une norme qui définit comment établir et maintenir une conversation réseau via laquelle les programmes d’application peuvent échanger des données.…Lire plus

 

 
50. Le délai de propagation dépend de ______?

A Taille du paquet

B Débit de transmission

C Distance entre les routeurs

D Aucune de ces réponses n’est vraie.

C
Le délai de propagation est le temps nécessaire pour la propagation d’un bit à un autre.
Les modes de transmissionLes modes de transmissionLa transmission de données peut s’effectuer dans une seule direction ou peut être bidirectionnelle. La transmission peut être classée en 3 modes: Simplex Half Duplex…Lire plus

 

 

L’article Top 50 QCM sur les réseaux informatiques avec corrigés est apparu en premier sur WayToLearnX.

QCM Réseau – Partie 1

Par :Thomas
19 novembre 2018 à 11:00

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Quel protocole fonctionne au niveau de la couche transport fournit un service sans connexion entre les hôtes?

A UDP

B TCP

C ARP

D IP

A
UDP(User Datagram Protocol) est utilisé au niveau de la couche transport pour fournir un service sans connexion.
Différence entre les protocoles TCP et UDPDifférence entre les protocoles TCP et UDPTCP et UDP se trouvent dans la quatrième couche du modèle OSI qui est la couche de transport juste au-dessus de la couche IP. TCP…Lire plus
2. Quel protocole fonctionne au niveau de la couche transport et fournit des circuits virtuels entre les hôtes?

A UDP

B TCP

C ARP

D IP

B
TCP(Transmission Control Protocol) établit un circuit virtuel avant de transmettre des données. Cela crée une session fiable et il fournit une session orientée connexion.
Différences entre circuits virtuels et datagrammesDifférences entre circuits virtuels et datagrammesIl existe un certain nombre de différences entre les circuits virtuels et les réseaux de datagrammes. Les circuits virtuels sont des réseaux informatiques qui fournissent…Lire plus
Exercices corrigés adressage IPExercices corrigés adressage IP – Partie 1La meilleur façon pour apprendre à utiliser les sous-réseaux est de pratiquer des exercices comme ceci. Voici certaines questions que vous pouvez avoir dans des…Lire plus
3. Quel protocole fonctionne au niveau de la couche Internet et fournit un service de connexion entre les hôtes?

A UDP

B TCP

C ARP

D IP

D
IP(Internet Protocol) est utilisé pour adresser les hôtes et acheminer les paquets via l’inter-réseau. La question ne fait pas référence à un service en mode connexion, qui diffère d’un service en connexion simple.
Différence entre internet et ethernetDifférence entre internet et ethernetEthernet et Internet sont des types de réseau utilisés pour connecter des ordinateurs. Cependant, la portée de ces réseaux diffèrent. Ethernet est un réseau local…Lire plus
4. Si un hôte diffuse une trame contenant une adresse MAC source et une adresse de destination et que son objectif est d’attribuer une adresse IP, quel protocole de la couche Réseau l’hôte utilise-t-il?

A IPX

B TCP

C ARP

D ARPA

E RARP

E
Le protocole RARP(Reverse ARP) est utilisé pour rechercher une adresse IP à partir d’une adresse MAC connue.
Différence entre ARP et RARPDifférence entre ARP et RARPARP (Address Resolution Protocol) et RARP (Reverse Address Resolution Protocol) sont deux des protocoles de réseau informatique utilisés pour résoudre l’adressage de la couche de…Lire plus
 
5. Si une interface de routeur est encombrée, quel protocole de la suite IP est utilisé pour informer les routeurs voisins?

A TCP

B IP

C ICMP

D ARP

E RARP

C
Le protocole ICMP (Internet Control Message Protocol) est un protocole de signalisation d’erreur utilisé par les périphériques réseau, précisément utilisés par les routeurs pour générer des messages d’erreur à l’adresse IP source lorsque des problèmes de réseau empêchent la livraison des paquets IP.

 

 
6. Quelle est la plage d’hôtes valide dont l’adresse IP 172.16.10.22 / 255.255.255.240 fait partie?

A 172.16.10.20 à 172.16.10.22

B 172.16.10.1 à 172.16.10.255

C 172.16.10.16 à 172.16.10.23

D 172.16.10.17 à 172.16.10.31

E 172.16.10.17 à 172.16.10.30

E
Commencez d’abord par utiliser le masque 256, dans ce cas là, 256–240 = 16. Le premier sous-réseau est 16; le deuxième sous-réseau est 32. Cet hôte doit être dans le 16 sous-réseau; l’adresse de diffusion est 31 et la plage d’hôtes valide est comprise entre 17 et 30.

 

7. Quelle plage d’adresses peut être utilisée dans le premier octet d’une adresse réseau de classe B?

A 1-126

B 1-127

C 128-190

D 128-191

E 129-192

F 192-220

D
Le premier octet d’une adresse IP de classe B commence toujours par 128–191.

 

10 commandes indispensables pour l'administration réseau sous Linux10 commandes indispensables pour l’administration réseau sous LinuxLinux est un système d’exploitation plus puissants et la mise en réseau est une partie essentielle des serveurs. Il offre de nombreuses commandes intégrées pour…Lire plus
8. Quel protocole est utilisé pour trouver l’adresse MAC d’un périphérique local?

A BootP

B ICMP

C IP

D ARP

E RARP

D
Le protocole ARP (Address Resolution Protocol) est utilisé pour chercher l’adresse MAC à partir d’une adresse IP connue.

 

9. Combien d’octets sont nécessaires pour coder une adresse Ethernet?

A 3

B 4

C 6

D 8

E 16

C
Une adresse Ethernet (MAC) a une longueur de 6 octets (48 bits).
 

 

10. Quelle plage d’adresses peut être utilisée dans le premier octet d’une adresse de classe C?

A 1-127

B 129-192

C 203-234

D 192-223

D
Le premier octet d’une adresse IP de classe C commence toujours par les numéros 192-223.

 

 
 

L’article QCM Réseau – Partie 1 est apparu en premier sur WayToLearnX.

QCM Réseau – Partie 2

Par :Thomas
19 novembre 2018 à 10:59

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Lequel des éléments suivants n’est pas un type de réseau informatique?

A Local Area Network (LAN)

B Personal Area Network (PAN)

C Remote Area Network (RAN)

D Metropolitan Area Network (MAN)

C
Les types de réseaux informatiques sont les suivants: LAN, MAN, PAN, WAN, CAN mais le réseau RAN n’est pas un type de réseaux informatiques.

 

2. Lequel parmi les types de câbles suivants est de type paire torsadée?

A Câble coaxial

B Paire torsadée blindée (STP)

C Paire torsadée non blindée (UTP)

D Les deux B et C sont vrais.

D
STP et UTP sont des types de câbles à paires torsadées qui sont principalement utilisés dans tous les réseaux.
Différence entre UTP et STPDifférence entre UTP et STPUTP (paire torsadée non blindée) et STP (paire torsadée blindée) sont les types de câbles à paires torsadées qui agissent comme un moyen de transmission…Lire plus
3. Quelle est la forme complète de NIC?

A Net Interface Card

B Network Interface Card

C Network Interface Connection

D New Internet Connection

B
NIC est une carte d’interface réseau utilisée pour connecter un ordinateur à un réseau.

 

4. IPX/SPX est utilisé dans ______________ ?

A Le réseau NetWare de Novell

B Mac – Macintosh

C Apple

D Microsoft

A
IPX/SPX(Internet Packet Exchanger/Sequenced Package Exchanger) est utilisé dans le réseau NetWare de Novell.

 

15 commandes Netstat pour la gestion de réseau sous Linux15 commandes Netstat pour la gestion de réseau sous LinuxNetstat (network statistics) est un outil en ligne de commande permettant de surveiller les connexions réseau entrantes et sortantes, ainsi pour afficher des tables de…Lire plus
5. TCP/IP est également connu sous le nom de _______?

A Modèle OSI

B Modèle TCP

C Modèle DOD

D Modèle de réseau

C
Le modèle TCP/IP est également appelé le modèle DOD. Le ministère de la Défense(Department of Defense, DOD) a créé TCP / IP pour assurer et préserver l’intégrité des données. Le modèle DoD est une version condensée du modèle OSI et ne comporte que quatre couches.

 

6. La topologie en étoile est basée sur un périphérique central peut être un ______?

A HUB

B Switch

C Les deux A et B sont vrais.

D Aucune de ces réponses n’est vraie.

C

HUB et Switch sont utilisés dans des réseaux de type étoile.

 

7. Le Switch est un périphérique de la _________ du modèle OSI.

A Couche réseau

B Couche liaison de données

C Couche application

D Couche session

B
Switch fonctionne dans la deuxième couche du modèle OSI.

 

Différence entre le Pont(Bridge) et le Commutateur(Switch)Différence entre le Pont(Bridge) et le Commutateur(Switch)Un réseau est formé lorsque deux périphériques ou plus se connectent pour partager des données ou des ressources. Un grand réseau peut être subdivisé pour…Lire plus
8. HUB est un appareil _________?

A Unicast

B Multicast

C Broadcast

D Aucune de ces réponses n’est vraie.

C
Hub est un périphérique de diffusion(Broadcast).

 

Différence entre Hub et SwitchDifférence entre Hub et SwitchUn Hub est un périphérique qui connecte plusieurs périphériques Ethernet sur un même réseau et les faire fonctionner ensemble en un seul réseau. Un Hub…Lire plus
9. Switch est un appareil _________?

A Unicast

B Multicast

C Broadcast

D Aucune de ces réponses n’est vraie.

A
Switch est un périphérique Unicast car le Switch a une mémoire pour stocker l’adresse MAC.

 

10. Quel type de câble est utilisé pour connecter des appareils similaires?

A Câble droit

B Câble croisé

C Câble série

D Tout les réponses sont vrais

B
Le câble croisé UTP est utilisé pour connecter des périphériques similaires tels que:
  • HUB <=> HUB
  • PC <=> PC
  • Switch <=> Switch

 

 
Exercices corrigés adressage IPExercices corrigés adressage IP – Partie 1La meilleur façon pour apprendre à utiliser les sous-réseaux est de pratiquer des exercices comme ceci. Voici certaines questions que vous pouvez avoir dans des…Lire plus

L’article QCM Réseau – Partie 2 est apparu en premier sur WayToLearnX.

QCM Réseau – Partie 3

Par :Thomas
19 novembre 2018 à 10:57

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Dans les normes IEEE, la norme 802.5 est également appelée?

A Ethernet

B Token Bus

C Wireless Token Area Network

D Token Ring

D
Dans les normes IEEE, la norme 802.5 est également appelée Token Ring.

 

2. Le réseau __________ a un seul canal de communication partagé par tous les utilisateurs du réseau?

A Point-to-Point

B Broadcast

C Protocole

D PAN

B
Réseau de diffusion(Broadcast) a un seul canal de communication.

 

Différence entre CCNA et CCNPDifférence entre CCNA et CCNPCisco est le fabricant de switches et de routeurs utilisés pour établir un réseau fiable et efficace. Cisco a mis en place un ensemble de…Lire plus
3. Un point d’accès sans fil se comporte-t-il de la même manière qu’une opération maître-esclave?

A Vrai

B Faux

A

 

4. Lequel des éléments suivants présente un avantage à utiliser la transmission de données par fibre optique?

A Résistance au vol de données

B Débit de transmission de données rapide

C Un niveau sonore aussi faible que possible.

D Tout les réponses sont vrais

D
Différence entre Fibre optique et Cable coaxialDifférence entre Fibre optique et Cable coaxialLes ordinateurs et autres appareils électroniques transmettent les données d’un appareil à un autre sous la forme de signaux en utilisant un support de transmission.…Lire plus
 
5. Lequel des éléments suivants est requis pour communiquer entre deux ordinateurs?

A Logiciel de communication

B Protocole

C Matériel de communication

D Tout les réponses sont vrais, y compris l’accès au support de transmission

D

 

6. Lequel des types de canaux suivants déplace les données relativement lentement?

A canal à large bande

B canal à bande vocale

C canal à bande étroite

D Tout les réponses sont vrais

C
Différence entre large bande et bande de baseDifférence entre large bande et bande de baseLa différence entre la transmission en bande de base et la transmission à large bande est que dans la transmission en bande de base, la…Lire plus
7. Un protocole est un ensemble de règles régissant une séquence temporelle d’événements qui doivent avoir lieu?

A Entre pairs

B Entre interfaces

C Entre modems

D à travers une interface

A

 

7 exemples avec la commande Dig pour interroger DNS7 exemples avec la commande Dig pour interroger DNSDig signifier « Domain information groper ». En utilisant la commande dig, vous pouvez interroger les serveurs de noms DNS pour des tâches liées à la recherche…Lire plus
8. Dans la hiérarchie des couches lorsque le paquet de données passe par les couches supérieures aux couches inférieures, les en-têtes sont _____?

A ajouté

B enlevé

C réarrangé

D modifié

A
Chaque couche ajoute son propre en-tête au paquet de la couche précédente.
 

 

9. La communication entre un ordinateur et un clavier implique une transmission __________?

A Automatic

B Half-duplex

C Full-duplex

D Simplex

D
Les données circulent dans une seule direction.

 

10. Le premier réseau est ______?

A CNNET

B NSFNET

C ASAPNET

D ARPANET

D
L’ARPANET était un projet financé par le gouvernement des États-Unis pendant la guerre froide afin de créer un réseau de communication solide et fiable. Cela a été fait en connectant divers ordinateurs à un réseau qui ne tombe pas en panne.
Exercices corrigés adressage IPExercices corrigés adressage IP – Partie 1La meilleur façon pour apprendre à utiliser les sous-réseaux est de pratiquer des exercices comme ceci. Voici certaines questions que vous pouvez avoir dans des…Lire plus

L’article QCM Réseau – Partie 3 est apparu en premier sur WayToLearnX.

QCM Réseau – Partie 4

Par :Thomas
19 novembre 2018 à 10:56

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Les circuits de communication qui transmettent des données dans les deux sens mais pas en même temps fonctionnent dans _____?

A un mode simplex

B un mode Half Duplex

C un mode Full Duplex

D un mode asynchrone

B
La transmission de données en Half Duplex signifie que les données peuvent être transmises dans les deux sens sur un signal porteur, mais pas en même temps.
Les modes de transmissionLes modes de transmissionLa transmission de données peut s’effectuer dans une seule direction ou peut être bidirectionnelle. La transmission peut être classée en 3 modes: Simplex Half Duplex…Lire plus
2. Le _______ est le chemin physique sur lequel un message passe.

A chemin

B support

C protocole

D itinéraire

B
Le message passe de l’expéditeur au destinataire via un support utilisant un protocole.

 

3. _________ Prend en charge le débit de données jusqu’à 1 000 Mbits/s Ethernet.

A CAT 1

B Thinnet

C CAT 5

D CAT 5e

D
CAT 5e est également connu sous le nom Ethernet 1000 Mbps Gigabyte et prend en charge le débit de données jusqu’à 1000 Mbps.
Différents types de câblage informatiqueDifférents types de câblage informatiqueLe câble est le support par lequel l’information passe généralement d’un périphérique réseau à un autre. Il existe plusieurs types de câbles couramment utilisés avec…Lire plus
Différence entre internet et ethernetDifférence entre internet et ethernetEthernet et Internet sont des types de réseau utilisés pour connecter des ordinateurs. Cependant, la portée de ces réseaux diffèrent. Ethernet est un réseau local…Lire plus
4. Quelle organisation a autorisé le commerce inter-États et international dans le domaine des communications?

A UIT-T

B IEEE

C FCC

D ISOC

C
La FCC (Federal Communications Commission) est l’organe gouvernemental chargé de maintenir les lois, la censure et les licences de diffusion relatives aux communications entre États et aux communications internationales aux États-Unis.

 

 
5. Lequel des systèmes de transmission suivants fournit le débit de données le plus élevé dans chaque périphérique?

A Réseau en bus

B Lignes téléphoniques

C Voix

D Aucune de ces réponses n’est vraie.

A

 
Dans le réseau en bus chaque nœud (station de travail ou autre périphérique) est connecté à un câble principal ou à une liaison appelée bus. Un réseau de bus est simple et fiable. Si un nœud ne fonctionne pas, tous les autres peuvent toujours communiquer entre eux.

 

6. L’ensemble de règles régissant la communication de données sont les ________?

A protocole

B normes

C RFC

D Aucune de ces réponses n’est vraie.

A
Un protocole est un ensemble de règles et de directives pour la communication de données.

 

Différences entre circuits virtuels et datagrammesDifférences entre circuits virtuels et datagrammesIl existe un certain nombre de différences entre les circuits virtuels et les réseaux de datagrammes. Les circuits virtuels sont des réseaux informatiques qui fournissent…Lire plus
7. Lorsque une collection de plusieurs ordinateurs constituer un système cohérent, nous appelons ça, un _______?

A réseau informatique

B système distribué

C système de réseau

D Aucune de ces réponses n’est vraie.

B

 
Un système distribué contient plusieurs nœuds séparés par le réseau. Tous les nœuds de ce système communiquent les uns avec les autres et gèrent les processus en tandem. Chacun de ces nœuds contient un système d’exploitation distribué.

 

8. Deux appareils sont en réseau si _______?

A un processus dans un appareil peut échanger des informations avec un processus dans un autre appareil

B un processus est en cours d’exécution sur les deux périphériques

C Les PID des processus exécutés par différents périphériques sont identiques

D Aucune de ces réponses n’est vraie.

A

 

9. En réseau informatique, les nœuds sont les _______?

A ordinateurs à l’origine des données

B ordinateurs qui acheminent les données

C ordinateurs qui terminent les données

D Tout les réponses sont vrais

D

 

Différence entre CCNA et CCNPDifférence entre CCNA et CCNPCisco est le fabricant de switches et de routeurs utilisés pour établir un réseau fiable et efficace. Cisco a mis en place un ensemble de…Lire plus
10. Le canal de communication est partagé par toutes les machines du réseau dans un ________?

A réseau de diffusion

B réseau unicast

C réseau de multidiffusion

D Aucune de ces réponses n’est vraie.

A
L’interconnexion de deux périphériques ou plus est appelée un réseau de diffusion

 

 
 

L’article QCM Réseau – Partie 4 est apparu en premier sur WayToLearnX.

Qu’est-ce qu’une topologie Hybride ?

Par :Thomas
11 mai 2024 à 15:20

Une topologie hybride est définie comme une topologie de réseau qui combine deux ou plusieurs topologies de réseau différentes. Une topologie hybride peut être une combinaison de topologie de bus, de topologie en anneau et de topologie maillée.

Dans la plupart des cas, seules les topologies en étoile et en anneau sont utilisées pour créer un réseau hybride. Le principal avantage ou facteur qui contribue à sa popularité est que la topologie hybride est simple à maintenir et qu’elle peut être facilement étendue ou réduite selon les besoins.

 
 


 
Fonctionnement de la topologie Hybride:
  • La topologie hybride dans les réseaux informatiques est une combinaison de plusieurs topologies.
  • Cette topologie hybride utilise des normes telles que le Wi-Fi et l’Ethernet pour effectuer ses différentes opérations.
  • Le fonctionnement de la topologie hybride dépend des différents types de routeurs hybrides utilisés, tels que les switchs et les hubs, car ils peuvent facilement connecter les appareils qui sont reliés à des réseaux câblés ou sans fil.
  • La topologie hybride comporte différentes branches de réseau et chaque branche a sa propre conception.
  • Le fonctionnement s’effectue en tirant divers avantages des deux topologies utilisées.

 

Types de topologies hybrides
1. Topologie hybride étoile-anneau

La combinaison d’une topologie en étoile et d’une topologie en anneau forme une topologie en étoile-anneau. Deux topologies en étoile ou plus sont reliées entre elles par une topologie en anneau au moyen d’une connexion câblée. Le flux de données dans la topologie en anneau est bidirectionnel ou unidirectionnel. Si l’un des nœuds de la topologie en anneau originale tombe en panne, le flux de données bidirectionnel garantit qu’il n’y aura pas d’effet sur le reste du flux de données du réseau.

 
 

2. Topologie hybride étoile-bus

La combinaison d’une topologie en étoile et d’une topologie en bus est connue sous le nom de topologie hybride étoile-bus. Deux ou plusieurs topologies en étoile sont connectées ensemble à l’aide d’une topologie en bus par le biais d’une connexion câblée. La topologie en bus peut relier différentes topologies en étoile et offre une structure dorsale. L’ensemble du réseau n’est pas affecté en cas de défaillance d’un nœud. Le nœud défaillant peut être facilement remplacé et offre un moyen simple d’ajouter ou de supprimer des nœuds. L’ensemble du réseau peut être facilement modifié en fonction des besoins.

 

3. Topologie de réseau hiérarchique

La topologie de réseau hiérarchique est conçue comme un arbre hiérarchique et est également connue sous le nom de topologie d’arbre de réseau. La topologie de réseau hiérarchique est une combinaison de la topologie hybride anneau-étoile et de la topologie hybride bus-étoile. Le niveau le plus élevé de la topologie de réseau hiérarchique est appelé nœud racine ou nœud parent. Les sous-nœuds du nœud parent sont appelés nœuds fils. Les derniers nœuds qui n’ont pas de fils sont appelés nœuds feuilles.

 

Avantages de la topologie hybride

Voici les avantages de la topologie hybride :

  • L’ajout d’un nouveau nœud ou la suppression d’un nœud existant est facile dans les topologies hybrides.
  • La topologie hybride est plus sûre, plus fiable et plus évolutive que les topologies en étoile, en anneau et en maillage.
  • La détection des erreurs et le dépannage sont plus faciles dans les topologies hybrides.
  • Lorsqu’une organisation dispose d’une zone géographique étendue, l’utilisation d’une topologie hybride est considérée comme une meilleure option.
  • La topologie hybride permet de gérer facilement un volume de trafic important.
  • Les performances globales et la vitesse sont plus élevées dans la topologie hybride.

 
 

Inconvénients de la topologie hybride

Les inconvénients de la topologie hybride sont décrits ci-dessous :

  • La conception et la mise en œuvre d’une topologie de réseau hybride sont difficiles.
  • La topologie hybride nécessite un plus grand nombre de câbles et d’autres dispositifs physiques.
  • Le processus d’installation de la topologie hybride est difficile.
  • L’ensemble de l’implémentation, de la configuration et du processus de la topologie hybride est beaucoup plus coûteux.

 

L’article Qu’est-ce qu’une topologie Hybride ? est apparu en premier sur WayToLearnX.

QCM Réseau – Partie 5

Par :Thomas
18 novembre 2018 à 10:56

QCM en réseau informatique avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Ainsi vous trouverez des questions sur CCNA, TCP/IP, Protocoles, Questions d’adressage IP, Modèle OSI et plus. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Bluetooth est un exemple du ________?

A réseau personnel

B réseau local

C réseau privé virtuel

D Aucune de ces réponses n’est vraie.

A
Différence entre Bluetooth et WifiDifférence entre Bluetooth et WifiBluetooth et Wifi fournissent une communication sans fil et utilisent des signaux radio pour le faire. La principale différence entre Bluetooth et Wifi est le…Lire plus
2. Un __________ est un dispositif qui transfère les paquets entre réseaux en traitant les informations de routage incluses dans le paquet.

A bridge

B firewall

C routeur

D Tout les réponses sont vrais

C
Un routeur est un appareil qui analyse le contenu des paquets de données transmis au sein d’un réseau ou à un autre réseau. Les routeurs déterminent si la source et la destination se trouvent sur le même réseau ou si les données doivent être transférées vers un autre réseau.

 

3. Une liste de protocoles utilisés par un système, est appelée une _____?

A architecture de protocole

B pile de protocoles

C suite de protocole

D Aucune de ces réponses n’est vraie.

B
Une pile de protocoles est un groupe de protocoles qui fonctionnent tous ensemble pour permettre à un logiciel ou à un matériel d’exécuter une fonction. La pile de protocoles TCP/IP est un bon exemple.

 

4. La congestion du réseau se produit _____?

A en cas de surcharge du trafic

B quand un système se termine

C lorsque la connexion entre deux nœuds se termine

D Aucune de ces réponses n’est vraie.

A
La congestion, concerne un état du réseau où elle entraîne une détérioration de la qualité des données du réseau, ce qui entraîne un délai de mise en file d’attente, une perte de trames ou de paquets de données et le blocage de nouvelles connexions.

 

Différence entre Gigue et LatenceDifférence entre Gigue et LatenceQuelle est la différence entre Gigue et Latence ? – La gigue et la latence sont utilisées pour mesurer la fiabilité du réseau. La principale…Lire plus  
5. Lequel des éléments suivants étend un réseau privé sur des réseaux publics?

A réseau local

B réseau privé virtuel

C réseau privé d’entreprise

D réseau de stockage

B
Un réseau privé virtuel (VPN) est une technique qui crée une connexion sécurisée et cryptée sur un réseau, tel que l’Internet.
Différence entre ip publique et privéeDifférence entre ip publique et privéeLes adresses IP ont des classifications différentes et il existe de nombreux types d’adresses IP disponibles pour la distribution incluent les adresses statiques, dynamiques, privées…Lire plus
6. Le nombre de couches dans la pile de protocole Internet est _______?

A 5

B 6

C 7

D Aucune de ces réponses n’est vraie.

A

 

7. Le nombre de couches dans le modèle de référence OSI est _______?

A 5

B 6

C 7

D Aucune de ces réponses n’est vraie.

C

 

Différence entre le modèle TCP IP et le modèle OSIDifférence entre le modèle TCP / IP et le modèle OSITCP / IP et OSI sont les deux modèles de réseau les plus utilisés pour la communication. Il y a quelques différence entre les deux.…Lire plus
8. La ________ sont des couches supplémentaires dans le modèle OSI par rapport au modèle TCP-IP.

A Couche Application

B Couche Présentation

C Couche Session

D Couche Session et Présentation

D

 

9. La couche application est implémentée dans ______?

A Les système d’extrémité

B NIC

C Ethernet

D Aucune de ces réponses n’est vraie.

A

 

10. La couche transport est implémentée dans ______?

A les Système d’extrémité

B NIC

C Ethernet

D Aucune de ces réponses n’est vraie.

A

 

Exercices corrigés adressage IPExercices corrigés adressage IP – Partie 1La meilleur façon pour apprendre à utiliser les sous-réseaux est de pratiquer des exercices comme ceci. Voici certaines questions que vous pouvez avoir dans des…Lire plus

L’article QCM Réseau – Partie 5 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 5

Par :Thomas
14 avril 2024 à 23:30

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 31 à 40 et de 51 à 60.

 

61. Ecrivez un programme C pour vérifier deux entiers donnés si l’un d’eux est compris dans l’intervalle 0…50 inclus.

Exemple de sortie:

checkNbr(1,20) -> TRUE
checkNbr(51,60) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkNbr" avec deux paramètres
int checkNbr(int n1, int n2); 

int main(void)
{
    /* Appeler la fonction "checkNbr" avec  
       l'argument 1 et 20 et afficher le résultat */
    printf("%d", checkNbr(1,20));

    /* Appeler la fonction "checkNbr" avec 
       l'argument 51 et 60 et afficher le résultat */
    printf("%d", checkNbr(51,60));
}

// Définition de la fonction "checkNbr"
int checkNbr(int n1, int n2)
{
    // Retourne 1 (true) si l'une des conditions suivantes est vraie
    return (n1 >= 100 && n1 <= 200) || (n2 >= 100 && n2 <= 200);
}
 
 
62. Ecrivez un programme C pour vérifier quel est le nombre le plus proche de la valeur 100 parmi deux nombres entiers donnés. Il renvoie 0 si les deux nombres sont égaux.

Exemple de sortie:

nbrProche(80,98) -> 98
nbrProche(70,70) -> 0
nbrProche(90,50) -> 90
#include <stdio.h>

//Déclarez la fonction "nbrProche" avec deux paramètres
int nbrProche(int n1, int n2); 

int main(void)
{
    /* Appeler la fonction "nbrProche" avec  
       l'argument 80 et 98 et afficher le résultat */
    printf("%d", nbrProche(80,98));

    /* Appeler la fonction "nbrProche" avec 
       l'argument 70 et 70 et afficher le résultat */
    printf("%d", nbrProche(70,70));
}

// Définition de la fonction "nbrProche"
int nbrProche(int n1, int n2)
{
    int n = 100;
    // Calculer la différence absolue entre n1 et n et la stocker dans v1
    int v1 = abs(n1 - n); 
    // Calculer la différence absolue entre n2 et n et la stocker dans v2
    int v2 = abs(n2 - n); 
    // Retourne 1 (true) si l'une des conditions suivantes est vraie
    return v1 == v2 ? 0 : (v1 < v2 ? n1 : n2);
}
 
 
63. Écrire un programme C pour trouver le troisième angle d'un triangle si deux angles sont donnés.

Exemple de sortie:

Entrée deux angles du triangle séparés par une virgule: 80,40 
Troisième angle du triangle: 60
#include <stdio.h>

int main()  
{  
    int A, B, C;

    printf("Entrée deux angles du triangle séparés par une virgule:");  
    // Lire les deux angles, séparés par virgule
    scanf("%d, %d", &B, &C);  

    A = 180 - (B + C);

    printf("Troisième angle du triangle: %d\n", A);  

    return 0;  
}
 
 
64. Écrire un programme C pour effectuer l'addition, la soustraction, la multiplication, la division et le reste de la division de deux nombres.

Exemple de sortie:

Entrez deux nombres séparés par une virgule: 20,10
La somme est: 30
La soustraction est: 10 
Le produit est: 200 
La division est: 2
Le reste de la division est: 0 
#include <stdio.h>

int main()  
{
	int n1, n2;   
	int som, sous, mult, mod;
	float div;

	printf("Entrez deux nombres séparés par une virgule:");
	scanf("%d,%d", &n1, &n2);

	som = n1 + n2;
	sous = n1 - n2;
	mult = n1 * n2;
	div = (float)n1 / n2;
	mod = n1 % n2;  

	printf("La somme est: %d\n", som); 
	printf("La soustraction est: %d\n", sous);
	printf("Le produit est: %d\n", mult);
	printf("La division est: %f\n", div);
	printf("Le reste de la division est: %d\n", mod);

	return 0;    
}
 
 
65. Ecrivez un programme en C pour calculer la somme de trois nombres saisis sur une ligne et séparés par une virgule.

Exemple de sortie:

Entrez trois nombres séparés par une virgule: 5,20,10 
La somme des trois nombres est: 35
#include <stdio.h>

int main() 
{  
	int n1, n2, n3;
	int s;
	char tab[100];
	
	printf("Entrez trois nombres séparés par une virgule:");
	
	// Lire la ligne de l'utilisateur et la stocker dans 'tab'
	fgets(tab, sizeof(tab), stdin);
	
	/* Convertit la ligne entrée en des nombres entiers et 
	   les stocke dans 'n1', 'n2', 'n3' */
	sscanf(tab, "%d, %d, %d", &n1, &n2, &n3);
	
	s = n1 + n2 + n3;
	
	printf("La somme des trois nombres est: %d\n", s);
	
	return 0; 
}
 
 
66. Écrire un programme en C qui lit le prénom, le nom et l'année de naissance et les affichent l'un après l'autre.

Exemple de sortie:

Saisissez votre prénom: Alex
Saisissez votre nom: Babtise
Saisissez votre année de naissance: 1994

Alex Babtise 1994
#include <stdio.h>

int main() {
	char prenom[20], nom[20];
	int an;

	printf("Saisissez votre prénom:");
	scanf("%s", prenom);

	printf("Saisissez votre nom:");
	scanf("%s", nom);

	printf("Saisissez votre année de naissance:");
	scanf("%d", &an);

	printf("%s %s %d\n", prenom, nom, an);

	return 0;  
}
 
 
67. Écrire un programme en C qui prend les minutes en entrée et affiche le nombre total d'heures et de minutes.

Exemple de sortie:

Entrez le nombre de minutes: 620
10 heures, 20 minutes
#include <stdio.h>

int main() {
	int minutes;
	int heures;
	int mins;

	// nombre de minutes par heure
	const int MinHR = 60; 

	printf("Entrez le nombre de minutes:");
	scanf("%d", &minutes);

	heures = (minutes / MinHR);
	mins = (minutes % MinHR);

	printf("%d Heures, %d Minutes.", heures, mins);

	return 0;  
}
 
 
68. Ecrivez un programme C qui prend en entrée les heures et les minutes et calcule le nombre total de minutes.

Exemple de sortie:

Entrez le nombre de heures: 10
Entrez le nombre de minutes: 20
Le nombre total de minutes est: 620
#include <stdio.h>

int main() {
	int minutes;
	int heures;
	int mins;

	// nombre de minutes par heure
	const int MinHR = 60; 

	printf("Entrez le nombre de heures:");
	scanf("%d", &heures);

	printf("Entrez le nombre de minutes:");
	scanf("%d", &minutes);
	
	// Calculez le nombre total de minutes
	mins = minutes + (heures * MinHR);

	printf("Le nombre total de minutes est: %d", mins);

	return 0;  
}
 
 
69. Écrire un programme C qui convertit les kilomètres par heure en miles par heure.

Exemple de sortie:

Entrer les kilomètres par heure: 20 
12.427424 miles par heure
#include <stdio.h>

int main() {
	float kmph;
	float miph; 

	printf("Entrer les kilomètres par heure");
	scanf("%f", &kmph);
	
	// Convertir les kilomètres par heure en miles par heure
	miph = (kmph * 0.6213712);

	printf("%f miles par heure", miph);

	return 0;  
}
 
 
70. Écrire un programme C qui affiche le périmètre d'un rectangle en utilisant sa hauteur et sa largeur comme entrée.

Exemple de sortie:

Saisir la hauteur du rectangle: 4
Saisir la largeur du rectangle: 6
Le périmètre du rectangle est: 20.000000
#include <stdio.h>

int main() {
	float largeur;
	float hauteur; 
	float perimetre; 

	printf("Saisir la hauteur du rectangle:");
	scanf("%f", &largeur);
	
	printf("Saisir la largeur du rectangle:");
	scanf("%f", &hauteur);
	
	perimetre = 2.0 * (hauteur + largeur);

	printf("Le périmètre du rectangle est: %f", perimetre);

	return 0;  
}
 

L’article 400 Exercices Corrigés En C – Partie 5 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 6

Par :Thomas
16 avril 2024 à 11:07

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 31 à 40, 51 à 60 et de 61 à 70.

 

71. Écrire un programme C qui calcule le volume d’une sphère.

Exemple de sortie:

Entrez le rayon de la sphère: 3.5 
Le volume de la sphère est: 179.594391.
#include <stdio.h>

int main() {
	float rayon;
	float volume; 
	const float PI = 3.14;

	printf("Entrez le rayon de la sphère:");
	scanf("%f", &rayon);
	
	volume = (4.0 / 3.0) * PI * (rayon * rayon * rayon);

	printf("Le volume de la sphère est: %f", volume);

	return 0;  
}
 
 
72. Écrire un programme C pour convertir une chaîne de caractères (ex:’3.14′) en un double.

Exemple de sortie:

Le double converti est: 3.14
#include <stdio.h>
#include <stdlib.h> 
  
int main() 
{ 
    // Définir un tableau de caractères contenant la chaîne de caractères 
    char str[] = "3.14"; 
  
    // Convertir la chaîne de caractères en un double et 
    // le stocker dans la variable n à l'aide de la fonction atof 
    double n = atof(str); 
  
    // Afficher la valeur double convertie à l'aide de printf 
    printf("Le double converti est: %f", n); 
  
    return 0; 
}
 
 
73. Écrire un programme C pour générer un nombre aléatoire.

Exemple de sortie:

Le nombre aléatoire est: 5332
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void main()  
{     
	// utiliser la fonction rand() pour générer le nombre  
	printf("Le nombre aléatoire est: %d", rand()); 
	
	return 0;  
}
 
 
74. Écrire un programme C pour calculer le quotient et le reste d’une division.

Exemple de sortie:

Entrez le numérateur: 200 
Entrez le dénominateur: 150
quotient = 1, reste = 50
#include <stdio.h>
#include <stdlib.h>

int main() {
	long int n, d;
	ldiv_t res;

	printf("Entrez le numérateur:"); 
	scanf("%ld",&n);

	printf("Entrez le dénominateur:");
	scanf("%ld",&d);

	/* Effectuez la division à l'aide de la fonction ldiv 
	   et stockez le résultat dans "res" */
	res = ldiv(n,d);   

	printf("quotient = %ld, reste = %ld", res.quot, res.rem);

	return 0;  
}
 
 
75. Écrire un programme C pour récupérer la chaîne d’environnement « PATH ».

Exemple de sortie:

La chaîne d'environnement "PATH" est: /usr/local/mysql/bin:/usr/local/java/bin:
#include <stdio.h>
#include <stdlib.h>

int main() {
	char * path;

	/* Récupérer la valeur de la variable d'environnement "PATH"
	et l'affecter à "path". */
	path = getenv("PATH");   

	/* Vérifier si 'path' n'est pas NULL 
	(c'est-à-dire si la variable d'environnement a été trouvée) */
	if(path != NULL)   
		printf("La chaîne d'environnement 'PATH' est: %s", path);

	return 0;  
}
 
 
76. Écrire un programme C pour convertir une chaîne de caractères (ex:’10’) en un entier.

Exemple de sortie:

La valeur entier converti est: 10
#include <stdio.h>
#include <stdlib.h> 
  
int main() 
{ 
    // Définir un tableau de caractères contenant la chaîne de caractères 
    char str[] = "10"; 
  
    // Convertir la chaîne de caractères en un entier et 
    // le stocker dans la variable n à l'aide de la fonction atoi 
    int n = atoi(str); 
  
    // Afficher la valeur int convertie à l'aide de printf 
    printf("La valeur entier converti est: %d", n); 
  
    return 0; 
}
 
 
77. Ecrivez un programme C pour vérifier si deux ou plusieurs nombres entiers non négatifs ont le même chiffre à droite.

Exemple de sortie:

checkList(11,21,41) -> TRUE
checkList(11,25,41) -> TRUE
checkList(13,21,46) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkList" avec trois paramètres
int checkList(int n1, int n2, int n3); 

int main(void)
{
    printf("%d", checkList(11,21,41));   // TRUE
    printf("%d", checkList(11,25,41));   // TRUE
    printf("%d", checkList(13,21,46));   // FALSE
}

// Définition de la fonction "checkList"
int checkList(int n1, int n2, int n3)
{
    /* Vérifier si le dernier chiffre de 'n1' est égal au dernier 
       chiffre de 'n2' ou de 'n3' ou si le dernier chiffre de 'n2' est
       égal au dernier chiffre de 'n3'. */
    if (n1 % 10 == n2 % 10 || n1 % 10 == n3 % 10 || n2 % 10 == n3 % 10) {
        //Si l'une de ces conditions est vraie, la valeur 1 est renvoyée
        return 1;
    } else {
        //Si aucune des conditions n'est vraie, la valeur 0 est renvoyée
        return 0; 
    }
}
 
 
78. Ecrivez un programme C pour vérifier s’il est possible d’additionner deux entiers pour obtenir le troisième entier à partir de trois entiers donnés.

Exemple de sortie:

checkSum(1,2,3) -> TRUE
checkSum(5,5,10) -> TRUE
checkSum(2,2,1) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkSum" avec trois paramètres
int checkSum(int n1, int n2, int n3); 

int main(void)
{
    printf("%d", checkSum(1,2,3));   // TRUE
    printf("%d", checkSum(5,5,10));  // TRUE
    printf("%d", checkSum(2,2,1));   // FALSE
}

// Définition de la fonction "checkSum"
int checkSum(int n1, int n2, int n3)
{
    /* Vérifier si deux nombres parmi 'n1', 'n2' et 'n3' 
       s'additionnent pour former le troisième nombre. */
    if (n1 == n2 + n3 || n2 == n1 + n3 || n3 == n1 + n2) {
        return 1; // Si la condition est vraie, retournez 1
    } else {
        return 0; // Si la condition est fausse, retournez 0
    }
}
 
 
79. Écrire un programme C qui vérifie si un nombre non négatif donné est un multiple de 3 ou de 7, mais pas les deux.

Exemple de sortie:

checkNbr(3) -> TRUE
checkNbr(7) -> TRUE
checkNbr(21) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkNbr" avec un paramètre
int checkNbr(int n); 

int main(void)
{
    printf("%d", checkNbr(3));   // TRUE
    printf("%d", checkNbr(7));   // TRUE
    printf("%d", checkNbr(21));  // FALSE
}

// Définition de la fonction "checkNbr"
int checkNbr(int n)
{
    /* Vérifier si "n" est divisible par 3 XOR divisible par 7
    XOR (^) retourne vrai si l'une des conditions est remplie, 
    mais pas les deux. */
    if (n % 3 == 0 ^ n % 7 == 0) {
        return 1; // Si la condition XOR est vraie, retourner 1 (vrai)
    } else {
        return 0; // Si la condition XOR est fausse, retourner 0 (faux)
    }
}
 
 
80. Écrivez un programme C qui accepte deux entiers et vérifie si l’un d’eux est 6 ou si leur somme ou différence est 6. Si l’une de ces conditions est remplie, le programme renvoie true. Dans le cas contraire, il renvoie false.

Exemple de sortie:

checkNbr(6,1) -> TRUE
checkNbr(3,3) -> TRUE
checkNbr(3,2) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkNbr" avec deux paramètre
int checkNbr(int n1, int n2); 

int main(void)
{
    printf("%d", checkNbr(6,1));  // TRUE
    printf("%d", checkNbr(3,3));  // TRUE
    printf("%d", checkNbr(3,2));  // FALSE
}

// Définition de la fonction "checkNbr"
int checkNbr(int n1, int n2)
{
    /* Vérifiez si "n1" est égal à 6, si "n2" est égal à 6, 
        si la somme de "n1" et "n2" est égale à 6 ou
        si la différence absolue entre "n1" et "n2" est égale à 6 */
    if (n1 == 6 || n2 == 6 || n1 + n2 == 6 || abs(n1 - n2) == 6) {
        //Si l'une des conditions est remplie, retourner 1 (true)
        return 1; 
    } else {
        //Si aucune des conditions n'est remplie, renvoyer 0 (false)
        return 0; 
    }
}
 

L’article 400 Exercices Corrigés En C – Partie 6 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 7

Par :Thomas
16 avril 2024 à 17:06

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 31 à 40, 51 à 60, 61 à 70 et de 71 à 80.

 

81. Ecrivez un programme C qui accepte deux entiers et vérifie s’ils sont égaux ou non.

Exemple de sortie:

Entrez deux nombres N1 et N2: 20 20
N1 et N2 sont égaux.
----------------------------------
Entrez deux nombres N1 et N2: 8 6
N1 et N2 ne sont pas égaux.
#include <stdio.h>

void main()
{
    int N1, N2;

    printf("Entrez deux nombres N1 et N2:");
    scanf("%d %d", &N, &N2);
	
    if (N == N2)
        printf("N1 et N2 sont égaux.");
    else
        printf("N1 et N2 ne sont pas égaux.");
}
 
 
82. Écrire un programme C pour vérifier si un nombre donné est positif ou négatif.

Exemple de sortie:

Entrez un nombre: 3
3 est un nombre positif
------------------------
Entrez un nombre: -3
-3 est un nombre négatif
#include <stdio.h>

void main()
{
    int n;

    printf("Entrez un nombre:");
    scanf("%d", &n);

    if (n >= 0)
        printf("%d est un nombre positif", n); 
    else
        printf("%d est un nombre négatif", n);
}
 
 
83. Ecrivez un programme C pour déterminer si une année donnée est bissextile ou non.

Les années bissextiles sont des années où un jour supplémentaire est ajouté à la fin du mois le plus court(Février).

Exemple de sortie:

Entrez une année: 2024
2024 est une année bissextile.
#include <stdio.h>

void main()
{
    int an;

    printf("Entrez une année:");
    scanf("%d", &an);

    if ((an % 400) == 0)
        printf("%d est une année bissextile.", an);
    else if ((an % 100) == 0)
        printf("%d n'est pas une année bissextile.", an);
    else if ((an % 4) == 0)
        printf("%d est une année bissextile.", an);
    else
        printf("%d n'est pas une année bissextile.", an);
}
 
 
84. Écrire un programme C pour lire l’âge d’un candidat et déterminer s’il a le droit de voter.

Exemple de sortie:

Entrez votre age: 21
Bienvenue. Vous êtes éligible pour voter.

Entrez votre age: 17
Désolé, vous n'avez pas le droit de voter.
#include <stdio.h>

void main()
{
  int age;

  printf("Entrez votre age:");
  scanf("%d",&age);

  if (age < 18)
    printf("Désolé, vous n'avez pas le droit de voter.");
  else
    printf("Bienvenue. Vous êtes éligible pour voter.");
}
 
 
85. Écrire un programme C pour lire la température et afficher un message approprié en fonction de l'état de température ci-dessous:
  • T < 0: Temps glacial
  • T 0-10: Temps très froid
  • T 10-20: Temps froid
  • T 20-30: Températures normales
  • T 30-40: Temps Chaud
  • T >=40: Temps très chaud

Exemple de sortie:

Entrez la températures: 21
Températures normales
#include <stdio.h>

void main()
{
    int T;

    printf("Entrez la températures:");
    scanf("%d", &T);

    if (T < 0)
        printf("Temps glacial");
    else if (T < 10)
        printf("Temps très froid");
    else if (T < 20)
        printf("Temps froid");
    else if (T < 30)
        printf("Températures normales");
    else if (T < 40)
        printf("Temps Chaud");
    else
        printf("Temps très chaud");
}
 
 
86. Écrire un programme C pour vérifier si un triangle est équilatéral, isocèle ou scalène.

Exemple de sortie:

Entrer les trois côtés du triangle: 40 40 50
Il s'agit d'un triangle isocèle.
#include <stdio.h>

int main()  
{  
    // Déclarer les variables correspondant aux côtés du triangle
    int a, b, c;

    //Lit tous les côtés du triangle  
    printf("Entrer les trois côtés du triangle:");
    scanf("%d %d %d", &a, &b, &c);
	
    // Vérifier si tous les côtés sont égaux
    if(a==b || a==c || b==c)
    {  
        printf("Il s'agit d'un triangle équilatéral.");
    }  
    // Vérifier si deux côtés sont égaux 
    else if(a==b && b==c)  
    {  
        printf("Il s'agit d'un triangle isocèle.");
    }  
    // Si aucun côté n'est égal à un autre
    else 
    {  
        printf("Il s'agit d'un triangle scalène.");
    }  

    return 0;  
} 
 
 
87. Ecrivez un programme C pour vérifier si un triangle peut être formé avec les valeurs données pour les angles.

Exemple de sortie:

Entrer les trois angles du triangle: 70 75 60
Le triangle n'est pas valide.
#include <stdio.h>

void main()  
{  
    int a, b, c, s;

    printf("Entrer les trois angles du triangle:");   
    scanf("%d %d %d", &a, &b, &c);

    // Calculer la somme de tous les angles du triangle 
    s = a + b + c;   

    /* Vérifier si la somme = 180 alors c'est un 
       triangle valide sinon non. */  
    if(s == 180)   
    {  
        printf("Le triangle est valide.");
    }  
    else  
    {  
        printf("Le triangle n'est pas valide."); 
    }  
}
 
 
88. Écrire un programme C pour vérifier si un caractère est un alphabet, un chiffre ou un caractère spécial.

Exemple de sortie:

Saisir un caractère: #
Il s'agit d'un caractère spécial.
#include <stdio.h>

int main()  
{  
    char c;

    printf("Saisir un caractère:");
    scanf("%c", &c);

    if((c>='a' && c<='z') || (c>='A' && c<='Z'))  
    {  
        printf("Il s'agit d'un alphabet.");
    } 	
    else if(c>='0' && c<='9')
    {  
        printf("Il s'agit d'un chiffre.");
    } 
    else 
    {  
        printf("Il s'agit d'un caractère spécial.");
    }  
}
 
 
89. Écrire un programme C pour vérifier si un alphabet est une voyelle ou une consonne.

Exemple de sortie:

Entrez une lettre quelconque de l'alphabet: a
La lettre est une voyelle.
#include <stdio.h>

void main()  
{  
    char c;

    printf("Entrez une lettre quelconque de l'alphabet:");
    scanf("%c", &c);

    if(c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='A' || c=='E' || c=='I' || c=='O' || c=='U')  
    {  
        printf("La lettre est une voyelle.");
    }  
    else if((c>='a' && c<='z') || (c>='A' && c<='Z'))  
    {  
        printf("La lettre est une consonne.");
    }  
    else  
    {  
        printf("Le caractère n'est pas un alphabet.");
    }   
}
 
 
90. Écrire un programme C pour calculer les pertes et profits sur une transaction.

Exemple de sortie:

Prix de vente: 500
Prix du coût en entrée: 300 
Vous pouvez provisionner le montant de votre bénéfice: 200
#include <stdio.h>

void main()  
{  
    int cprix, vprix, profit;

    printf("Prix de vente:");
    scanf("%d", &vprix);
    printf("Prix du coût en entrée:");
    scanf("%d", &cprix);

    // Vérifier si le prix de vente est supérieur au prix de coût.
    if(vprix > cprix)  
    {  
        // Calculer le montant du profit.
        profit = vprix - cprix;  
        printf("Vous pouvez provisionner le montant de votre bénéfice: %d\n", profit);
    }  
    // Vérifier si le prix de coût est supérieur au prix de vente.
    else if(cprix > vprix)  
    {  
        // Calculer le montant de la perte.
        profit = cprix - vprix;  
        printf("Vous avez subi une perte de somme: %d\n", profit);
    }  
    // S'il n'y a ni bénéfice ni perte.
    else  
    {  
        printf("Vous êtes dans une situation où il n'y a ni profit ni perte.");
    }  
}
 

L’article 400 Exercices Corrigés En C – Partie 7 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 4

Par :Thomas
12 avril 2024 à 23:50

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 30 à 40 et 40 à 50.

 

51. Écrire un programme en C qui convertit une température en degrés Celsius en degrés Fahrenheit. Utilisez les variables « celsius », « fahrenheit » et la formule de conversion pour effectuer le calcul.

Formule: Fahrenheit (°F) = (Température en degrés Celsius (°C) * 9/5) + 32

Exemple de sortie:

Entrez la température en degrés Celsius: 45
La température en Fahrenheit est: 113
#include <stdio.h>
 
void main()
{
    float celsius,fahrenheit;
 
    printf("Entrez la température en degrés Celsius:");
    scanf("%f",&celsius);
 
    fahrenheit = (1.8 * celsius) + 32;
    printf("La température en Fahrenheit est: %f ",fahrenheit);
 
    return 0;
}
 
 
52. Écrire un programme en C qui permute ou échange deux nombres saisis par l’utilisateur, mais avec seulement deux variables N1 et N2 sans utiliser une variable temporaire.

Exemple de sortie:

Entrer le nombre N1 : 10
Entrer le nombre N2 : 5
------permutation------
N1 = 5
N2 = 10
#include <stdio.h>

int main()
{
	int N1,N2;
	
	printf("Entrer le nombre N1:");
	scanf("%d", &N1);
	printf("Entrer le nombre N2:");
	scanf("%d", &N2);
	
	N1 = N1 + N2;
	N2 = N1 - N2;        
	N1 = N1 - N2;

	printf("N1 = %d\n", N1);
	printf("N2 = %d", N2);

	return 0; 
}
 
 
53. Écrire un programme en C qui permute et affiche les valeurs des trois nombres (N1, N2 et N3) saisis par l’utilisateur, en ordre croissant c’est-à-dire (N1 < N2 < N3).

Exemple de sortie:

Entrer le nombre N1 : 10
Entrer le nombre N2 : 1
Entrer le nombre N3 : 5
------permutation------
N1 = 1
N2 = 5
N3 = 10
#include <stdio.h>

int main()
{
	int N1,N2,N3,tmp;
	
	printf("Entrer le nombre N1:"); scanf("%d",&N1);
	printf("Entrer le nombre N2:"); scanf("%d",&N2);
	printf("Entrer le nombre N3:"); scanf("%d",&N3);


	if(N1>N2) { tmp = N1; N1 = N2; N2 = tmp; }
	if(N1>N3) { tmp = N1; N1 = N3; N3 = tmp; } 
	if(N2>N3) { tmp = N2; N2 = N3; N3 = tmp; }

	
	printf("N1 = %d\n", N1);
	printf("N2 = %d\n", N2);
	printf("N3 = %d", N3);

	return 0; 
}
 
 
54. Écrire une fonction qui vérifie deux températures données et renvoie TRUE si l’une des températures est inférieure à 0 et l’autre supérieure à 50, sinon il renvoie FALSE.

Exemple de sortie:

checkTemp(100, -1) -> TRUE
checkTemp(2, 100) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkTemp" avec deux paramètres
int checkTemp(int n); 

int main(void)
{
    /* Appeler la fonction "checkTemp" avec  
       l'argument 100 et -1 et afficher le résultat */
    printf("%d", checkTemp(100, -1));

    /* Appeler la fonction "checkTemp" avec 
       l'argument 2 et 100 et afficher le résultat */
    printf("%d", checkTemp(2, 100));
}

// Définition de la fonction "checkTemp"
int checkTemp(int t1, int t2)
{
    // Retourne 1 (true) si l'une des conditions suivantes est vraie
    return t1 < 0 && t2 > 50 || t2 < 0 && t1 > 50;
}
 
 
55. Écrire une fonction qui affiche si le nombre passé en paramètre est pair ou impair.

Exemple de sortie:

3 est impair.
2 est pair.
#include <stdio.h>
 
void paireOuImpaire(int N) 
{ 
    // Trouver le reste
    int reste = N % 2; 
  
    if (reste == 0){ 
        printf("Paire"); 
    } else{ 
        printf("Impaire"); 
    } 
} 

int main() 
{ 
    // Appel à la fonction
    paireOuImpaire(N); 
  
    return 0; 
}
 
 
56. Écrire une fonction qui retourne le nombre de caractères dans une chaîne de caractères passée en paramètre.

Exemple de sortie:

Entrez une chaîne de caractères: Hello
Le nombre de caractères est: 5
#include <stdio.h>
 
int nbrChar(char str[]) {
    int lg;  // lg stocke la longueur de la chaîne
    
    /* incrémenter la variable lg jusqu'à la fin 
       de la chaîne de caractères */
    for(lg = 0; str[lg] != '\0'; ++lg);
    
    // renvoie le nombre de caractères de la chaîne
    return lg; 
}

int main() 
{ 
    // Appel à la fonction
    int n = nbrChar("Hello");     // n = 5
  
    return 0; 
}
 
 
58. Écrire une fonction qui permet de calculer la valeur absolue d’un nombre donné (en utilisant l’opérateur ternaire ?: ).
#include <stdio.h>
 
int nbrAbsolue(int n)
{
    return n < 0 ? -n : n;
}

int main() 
{ 
    // Appel à la fonction
    int n = nbrAbsolue(-5);     // n = 5
  
    return 0; 
}
 
 
59. Écrire une fonction qui trouve le nombre de fois un caractère se trouve dans une chaîne de caractères. La fonction prend en paramètre le caractère à trouver et la chaîne de caractères.
#include <stdio.h>
 
int compterNbrOccurrence(char* str, char c) { 
    int compteur = 0; 
    while (*str) { //itérer caractère par caractère
        if (*str == c){ //vérifier s'il y a une correspondance 
            compteur++; //incrémenter le cmpt s'il y a une correspondance 
        }
        str++; // passer au caractère suivant
    } 
    return compteur; //renvoyer le nbr de fois le caractère s'est trouvé
} 
 
int main() { 
    char str[100]; 
    char c; 
     
    printf("Saisissez une chaîne de caractères:"); 
    scanf("%s", str); 
 
    printf("Saisir le caractère à rechercher:"); 
    scanf("%c", &c); 
 
    int o = compterNbrOccurrence(str, c); 
 
    printf("Le caractère '%c' apparaît %d fois(s) dans la chaîne de caractères.\n", c, o); 
 
    return 0; 
} 

Sortie:

Saisissez une chaîne de caractères: Hello World!
Saisir le caractère à rechercher: o
Le caractère 'o' apparaît 2 fois(s) dans la chaîne de caractères.
 
 
60. Écrire une fonction qui permet d'afficher la table de multiplication d’un nombre N.
#include <stdio.h>
 
void tableMultiplication(int N)  
{  
    int i;  
  
    for(i=1; i <= 10; i++)  
    {  
        printf("%d x %d = %d\n", N,i,N*i);  
    }  
} 
 
int main() { 

    int nbr; 
	
    printf("Saisir un nombre positif\n");  
    scanf("%d", &nbr);
	
    tableMultiplication(nbr); 
 
    return 0; 
} 
 

L’article 400 Exercices Corrigés En C – Partie 4 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 3

Par :Thomas
12 avril 2024 à 09:24

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30 et de 31 à 40.

 

41. Un magasin offre à ses clients 25% de réduction sur les montants d’achat supérieurs à 500 €. Ecrivez un programme en C qui permet d’entrer le prix total hors TVA et de calculer le montant TTC en tenant compte de la remise et du fait que la TVA = 10%.

Exemple de sortie:

Entrer le montant HT: 900
Le montant TTC est: 742.5
#include <stdio.h>

int main()
{
	float HT,TTC;
	
	printf("Entrer le montant HT:");
	scanf("%f", &HT);
	
	TTC = HT + HT * 0.2 ;
	
	if (TTC > 200) {
		TTC = TTC - TTC * 0.15;
		printf("Le montant TTC est: %f", TTC);
	}else{ 
		printf("Le montant TTC est: %f", TTC);
	}

	return 0; 
}
 
 
42. Écrire un programme en C qui demande à l’utilisateur deux nombres n1 et n2 et lui indique ensuite si le produit de ces deux nombres est positif ou négatif. On prévoit dans le programme le cas où le produit peut être nul.

Exemple de sortie:

Entrer le 1er nombre:  -1.5
Entrer le 2éme nombre:  3
Le produit est négatif
-----------------------------
Entrer le 1er nombre:   1
Entrer le 2éme nombre:  3
Le produit est positif
-----------------------------
Entrer le 1er nombre:   0
Entrer le 2éme nombre:  3
Le produit est nul
#include <stdio.h>

int main()
{
	float n1,n2;
	
	printf("Entrer le 1er nombre:"); 
	scanf("%f", &n1);
	printf("Entrer le 2éme nombre:"); 
	scanf("%f", &n2);
	
	if(n1 == 0 || n2 == 0)
		printf("Le produit est nul");
		
	if (n1*n2 < 0)
		printf("Le produit est négatif");
		
	if (n1*n2 > 0)  
		printf("Le produit est positif");

	return 0; 
}
 
 
43. Écrire un programme en C qui permette d’ajouter un commentaire sur le score saisi au clavier (si le score est supérieur à 10 alors il affiche « GOOD! » sinon « NOT GOOD! » (NB: le score est compris entre 0 et 20!).

Exemple de sortie:

Entrer le score: 15.5
GOOD!
------------------
Entrer le score: 5
NOT GOOD!
------------------
Entrer le score: -5
Score invalide!
#include <stdio.h>

int main()
{
	float score;
	printf("Entrer le score:"); 
	scanf("%f",&score);

	if (score < 0  || score > 20)
		printf("Score invalide!");
	if (score >= 0 && score < 10)
		printf("NOT GOOD!");
	if (score >= 10 && score <= 20)
		printf("GOOD!");

	return 0; 
}
 
 
44. Le service de photocopie de votre université facture 0,50 € pour les 10 premières photocopies, 0,45 € pour les 20 suivantes et 0,30 € au-delà de 30 photocopies. Ecrivez un programme en C qui demande à l'utilisateur le nombre de photocopies réalisées et affiche la facture correspondante.

Exemple de sortie:

Entrez le nombre de papies: 25
Le prix total est: 11.25 €
#include <stdio.h>

int main()
{
	int N;	
	float prix;
	
	printf("Entrer le nombre de papies:");
	scanf("%d", &N);
	
	if(N <= 20) 
		prix = N * 0.50;
		
	if(N > 10 && N <= 30) 
		prix = N * 0.45;
		
	if(N > 30) 
		prix = N * 0.30;
   
	printf("Le prix total est: %.2f €", prix);

	return 0; 
}
 
 
45. Ecrivez un programme en C qui teste l'égalité de deux tableaux de nombres entiers (tailles 5). Le programme affiche TRUE si les éléments des deux tableaux correspondent, sinon il affiche FALSE.

Exemple de sortie:

1	2	3	4	5
1	2	3	4	5
TRUE

10	20	30	40	50
20	30	40	50	60
FALSE
#include <stdio.h>

int main()
{
	int i,not_equal=0,tab1[10],tab2[10];
	
	//remplir tab1
	for(i=0; i<10; i++){
		scanf("%d", &tab1[i]);
	}
	printf("\n");
	
	//remplir tab2
	for(i=0; i<10; i++){
		scanf("%d", &tab2[i]);
	}

	for(i=0; i<10; i++) {
		//vérifier l'égalité
		if(tab1[i] != tab2[i]) 
			not_equal = 1;
	}
	
	if (not_equal == 0) 
		printf("TRUE");
	else  
		printf ("FALSE");

	return 0; 
}
 
 
46. Écrire un programme en C qui permet la saisie de 5 nombres et qui calcule la différence entre la somme des nombres pairs et la somme des nombres impairs.

Par exemple : 3 5 2 4 6 => (2+4+6) - (3+5) = 4

Exemple de sortie:

Entrer un nombre: 3
Entrer un nombre: 5
Entrer un nombre: 2
Entrer un nombre: 4
Entrer un nombre: 6
La différence égale à 4
#include <stdio.h>

int main()
{
	int tab[10],sum,i;

	sum = 0;
	for(i=0; i < 10; i++){
		printf("Entrer un nombre:"); 
		scanf("%d", &tab[i]);
		
		if(tab[i] % 2 == 0)
			sum = sum + tab[i];
		else
			sum = sum - tab[i];
	}
 
	printf("La différence égale à %d", sum);

	return 0; 
}
 
 
47. Écrire un programme en C qui permet à l'utilisateur d'entrer une série de nombres se terminant par 0, et qui affiche à la fin le nombre d'occurrences du nombre 3.

Exemple de sortie:

2	8	3	1	3	3	6	3	0
3 existe 4 fois
#include <stdio.h>

int main()
{
	int Nbr,i=0;

	do{ 
		scanf("%d", &Nbr);
		
		if(Nbr == 3){
			i = i + 1;
		}			   
	}while(Nbr != 0);
  
	if(i != 0) 
		printf("3 existe %d fois", i);
	else   
		printf("3 n'existe pas");  

	return 0; 
}

Le programme ci-dessus, invite l'utilisateur à saisir des nombres entiers jusqu'à ce qu'il entre 0. Le code à l'intérieur de la boucle do-while sera exécuté au moins une fois avant de vérifier la condition de la boucle. La boucle se répète tant que l'utilisateur n'entre pas 0. On vérifie si le nombre saisi est égale à 3. Si c'est le cas on incrémente le compteur i. Après on vérifie if(i != 0) alors il existe un nombre d’occurrence du nombre spécifié sinon il n'existe pas.

 
 
48. Écrire un programme en C pour afficher les mois en lettres en fonction du nombre saisi par l'utilisateur.

Exemple de sortie:

Entrer le numéro du mois: 1
Janvier

Entrer le numéro du mois: 3
Mars

Entrer le numéro du mois: 12
Décembre
#include <stdio.h>

int main()
{
	int M;
	
	printf("Entrer le numéro du mois:");
	scanf("%d", &M);
	
	switch (M) {
	case 1:
	  printf("Janvier"); break;
	case 2:
	  printf("Février"); break;
	case 3:
	  printf("Mars"); break;
	case 4:
	  printf("Avril"); break;
	case 5:
	  printf("Mai"); break;
	case 6:
	  printf("Juin"); break;
	case 7:
	  printf("Juille"); break;
	case 8:
	  printf("Aout"); break;
	case 9:
	  printf("Septembre"); break;
	case 10:
	  printf("Octobre"); break;
	case 11:
	  printf("Novembre"); break;
	case 12:
	  printf("Décembre"); break;
	default:
	  printf("Aucun mois ne correspondant!");
	  break;   
	}  

	return 0; 
}

L'instruction switch est une instruction de contrôle de flux dans laquelle nous pouvons définir une variable changeante et exécuter ensuite un code différent en fonction de la valeur de la variable changeante. C'est une alternative à If-Else.

 
 
49. Écrire un programme en C qui calcule les nombres de Fibonacci jusqu'à 50.

Exemple de sortie:

Fibonacci jusqu'à 50: 1  1  2  3  5  8  13  21  34
#include <stdio.h>

int main() {

  int i,n;

  // initialiser le 1er et le 2ème terme
  int t1=0, t2=1;

  // initialiser le terme suivant (3ème terme)
  int suivant = t1 + t2;

  // afficher les deux premiers termes t1 et t2
  printf("Fibonacci jusqu'à 50: %d, %d, ", t1, t2);

  // afficher les termes de la 3ème à la 50ème position
  for (i = 3; i <= 50; ++i) {
    printf("%d, ", suivant);
    t1 = t2;
    t2 = suivant;
    suivant = t1 + t2;
  }

  return 0;
}

La série de Fibonacci est une suite de nombres où chaque nombre est la somme des deux nombres précédents.

 
 
50. Écrire un programme en C qui calculera une somme courante. L'utilisateur saisira des nombres qui seront ajoutés à la somme et, lorsqu'un nombre négatif sera rencontré, arrêtera d'ajouter des nombres et écrira le résultat final.

Exemple de sortie:

1 2 3 4 -1
La somme est 10
#include <stdio.h>

int main()
{
	int Nbr,sum=0;

	do{ 
		scanf("%d", &Nbr);
		sum = Nbr + sum 			   
	}while(Nbr >= 0);
  
	printf("La somme est %d",sum); 

	return 0; 
}
 

L’article 400 Exercices Corrigés En C – Partie 3 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 1

Par :Thomas
11 avril 2024 à 19:19

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

1. Écrire un programme en C qui afficher le message ‘Hello, World!’ sur l’écran.

Exemple de sortie:

Hello, World!
#include <stdio.h>
 
int main()
{
  printf("Hello, World!");
  return 0;
}

Dans ce programme, nous avons utilisé la fonction « printf » pour afficher la chaîne de caractères Hello, world! sur notre écran.

 
 
2. Ecrivez un programme C qui affiche votre nom, votre date de naissance et votre numéro de téléphone portable.

Exemple de sortie:

Nom               : Alex Babtise 
Date de naissance : Janvier 10, 2004
Tél               : 0785463521
#include <stdio.h>
 
int main() 
{ 
    printf("Nom               : Alex Babtise \n"); 
    printf("Date de naissance : Janvier 10, 2004\n"); 
    printf("Tél               : 0785463521\n"); 
    return 0; 
} 
 
 
3. Écrire un programme en C permettant la saisie de deux nombres et l’affichage de leur somme.

Exemple de sortie:

Entrer 1er nombre: 10
Entrer 2éme nombre: 5
La somme de 10 et 5 = 15
---------------------------
Entrer 1er nombre: 2.5
Entrer 2éme nombre: 2.5
La somme de 2.5 et 2.5 = 5
#include <stdio.h>

int main() 
{
	float n1,n2,s;
	
	printf("Entrer 1er nombre:"); 
	scanf("%f",&n1);
	printf("Entrer 2éme nombre:"); 
	scanf("%f",&n2);
	
	s = n1 + n2 ;
	
	printf("La somme de %f et %f = %f",n1,n2,s);
	
	return 0;   
}

Ce programme invite l’utilisateur à saisir deux nombres, le format « %f » indique à scanf() de lire une valeur en virgule flottante. Puis les additionne, enfin affiche le résultat.

 
 
4. Ecrivez un programme C pour calculer le périmètre et la surface d’un rectangle d’une hauteur de 8 cm et d’une largeur de 4 cm.

Exemple de sortie:

Périmètre du rectangle = 24 cm 
Surface du rectangle = 32 cm²
#include <stdio.h>

int main() 
{
    int largeur,hauteur,surface,perimeter; 

    hauteur = 8;
    largeur = 4;

    /* Calculer le périmètre du rectangle */
    perimeter = 2*(hauteur + largeur);
    printf("Périmètre du rectangle = %d cm\n", perimeter);
	
    /* Calculer la surface du rectangle */
    surface = hauteur * largeur;
    printf("Surface du rectangle = %d cm²\n", surface);

    return(0);
}
 
 
5. Écrire un programme C pour calculer le périmètre et la surface d’un cercle dont le rayon est 5.

Exemple de sortie:

Périmètre du cercle = 31.4 cm 
Surface du cercle = 78.5 cm²
#include <stdio.h>

int main() {
   int rayon = 5;      
   float surface, perimeter;

   /* Calculer le périmètre du cercle */
   perimeter = 2 * 3.14 * rayon;
   printf("Périmètre du cercle = %f cm\n", perimeter);
	
   /* Calculer la surface du cercle */
   surface = 3.14 * rayon * rayon;
   printf("Surface du cercle = %f cm²\n", surface);

   return(0);
}
 
 
6. Écrire un programme en C permettant de permuter le contenu de deux entiers n1 et n2 entrés par l’utilisateur, et afficher ces entiers après permutation.

Exemple de sortie:

Entrer un entier n1 : 10
Entrer un entier n2 : 5
------permutation------
n1 = 5
n2 = 10
#include <stdio.h>

int main() 
{
	int n1,n2,tmp;
	
	printf("Entrer un entier n1:");
	scanf("%d",&n1);
	printf("Entrer un entier n2:");
	scanf("%d",&n2);
	
	tmp = n1;
	n1 = n2;        
	n2 = tmp;
	
	printf("------permutation------\n");
	printf("n1 = %d\n",n1);
	printf("n2 = %d",n2);

	return 0;   
}

Ce programme déclare d’abord trois variables n1, n2 et tmp, puis demande à l’utilisateur de saisir deux nombres entiers. Ensuite, il utilise une variable temporaire tmp pour échanger les valeurs de n1 et n2, et enfin affiche les valeurs échangées.

 
 
7. Écrire un programme en C pour calculer la factorielle d’un nombre entier saisi par l’utilisateur. (Remarque: le factoriel de 5, qui s’écrit 5! = 5 × 4 × 3 × 2 × 1).

Exemple de sortie:

Saisir un nombre : 5
Le factoriel de 5 est: 120
#include <stdio.h>

int main()
{
	int nbr,f=1,i; 

	printf("Saisir un nombre:");
	scanf("%d",&nbr);
	
	for(i=1; i<=nbr; i++){
		f = f * i;
	} 
	
	printf("Le factoriel de %d est: %d",nbr,f);
   
	return 0; 
}

Nous commençons par déclarer les variables que nous utiliserons dans le programme. Nous avons besoin de trois variables : nbr, f et i. Nous les déclarons comme des entiers.

Ensuite, nous demandons à l'utilisateur d'entrer la valeur de nbr à l'aide des instructions printf et scanf. Nous écrivons un message invitant l'utilisateur à saisir un entier nbr, puis nous lisons la valeur saisie par l'utilisateur et la stockons dans la variable nbr.

Ensuite, nous initialisons la variable f à 1. Cette variable stockera la factorielle de nbr au fur et à mesure que nous la calculerons dans la boucle. Nous utilisons le signe (=) pour attribuer une valeur à une variable.

Ensuite, nous utilisons une boucle for itérer de 1 à nbr et multiplier f par i à chaque itération. La boucle a une valeur de départ, une valeur d'arrivée et une valeur d'incrémentation. Dans ce cas, nous commençons à 1, nous terminons à nbr et nous incrémentons de 1. À chaque itération, nous mettons à jour la valeur de f en la multipliant par i à l'aide du symbole de l'astérisque (*). De cette façon, nous calculons la factorielle de nbr comme le produit de tous les entiers de 1 à nbr.

Enfin, nous affichons la factorielle de nbr à l'aide de l'instruction printf. Nous écrivons un message qui indique la valeur de nbr et sa factorielle séparées par des virgules.

 
 
8. Écrire un programme en C permettant d'afficher si un nombre saisi est pair ou impair.

Exemple de sortie:

Entrer un nombre: 8 
Nombre pair
#include <stdio.h>

int main() 
{
	int nbr;
	
	printf("Entrer un nombre:");
	scanf("%d",&nbr);
	
	if (nbr % 2 == 0) 
		printf("Nombre pair");
	else
		printf("Nombre impair");

	return 0; 
}

Si un nombre est divisible par 2 sans reste, il est pair. Vous pouvez calculer le reste à l'aide de l'opérateur modulo "%", comme ceci nbr % 2 == 0. Si un nombre divisé par 2 laisse un reste de 1, le nombre est impair. Vous pouvez le vérifier en utilisant nbr % 2 == 1.

 
 
9. Écrire un programme en C permettant d'afficher le plus grand des 3 nombres saisis au clavier.

Exemple de sortie:

Entrer 1er nombre : 2
Entrer 2éme nombre: 9
Entrer 3éme nombre: 7
Le nombre le plus grand est: 9
#include <stdio.h>

int main() 
{
	int n1,n2,n3,max;
	
	printf("Entrer 1er nombre:"); 
	scanf("%d",&n1);
	printf("Entrer 2éme nombre:"); 
	scanf("%d",&n2);
	printf("Entrer 3éme nombre:"); 
	scanf("%d",&n3);

	max = n1; 
	if (n2 >= max) 
		max = n2;
	if (n3 >= max) 
		max = n3;
  
	printf("Le nombre le plus grand est: %d",max);

	return 0; 
}
 
 
10. A quoi sert le programme en C suivant?
#include <stdio.h>

int main() 
{
	int nbr = 0;
	
	printf("Entrez un nombre entre 1 et 5:"); 
	
	do{
		scanf("%d",&nbr);
		if(nbr < 1 || nbr > 5)
			printf("Nombre incorrect. Recommencez!")
	}while(nbr < 1 || nbr > 5);

	return 0; 
}

Le programme ci-dessus demande à l'utilisateur un nombre de 1 à 5 jusqu'à ce que la réponse est correct.

 
 
11. Écrire un programme en C qui calcule la valeur absolue d'un nombre saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre: -5
La valeur absolue de -5 est 5
#include <stdio.h>

int main() 
{
	int n;
	
	printf("Entrer un nombre :");
	scanf("%d",&n);
	
	if(n >= 0)
		printf("La valeur absolue de %d est %d",n,n);
	else 
		printf("La valeur absolue de %d est %d",n,-n);
		
	return 0; 
}
 
 
12. Écrire un programme en C qui calcule la moyenne de 3 nombres entrés par l'utilisateur.

Exemple de sortie:

Entrer 1er nombre :  5
Entrer 2éme nombre:  7
Entrer 3éme nombre:  3
La moyenne est : 5
#include <stdio.h>

int main() 
{
	int n1,n2,n3,moy;
	
	printf("Entrer 1er nombre:"); 
	scanf("%d",&n1);
	printf("Entrer 2éme nombre:"); 
	scanf("%d",&n2);
	printf("Entrer 3éme nombre:"); 
	scanf("%d",&n3);
	
	moy = (n1 + n2 + n3) / 3 ; 
	
	printf("La moyenne est: %d", moy);
	return 0; 
}

La formule pour trouver la moyenne de nombres ou de valeurs donnés est très simple. Il suffit d'additionner tous les nombres et de diviser le résultat par le nombre de valeurs données. La formule pour calculer la moyenne est donc la suivante:

Moyenne = Total/Nombre

Ici, nous utilisons 3 nombres, donc pour calculer la moyenne, nous devons additionner les 3 nombres et les diviser par 3.

 
 
13. Écrire un programme en C qui affiche 10 fois "Hello". En utilisant la boucle "while".

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
#include <stdio.h>

int main()
{
	int i=1;  
	while(i <= 10 ) { 
		printf("Hello\n");
			i++; 
		}
	return 0;
}

Dans ce programme, la boucle while continuera à s'exécuter tant que la variable i est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable i est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie.

 
 
14. Ecrivez un programme en C qui calcule la somme de 1 à 10. En utilisant la boucle "while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
#include <stdio.h>

int main()
{
	int i=1, sum=0;  
	while(i <= 10){ 
	   sum = sum + i;
	   i++;  
	}
   
	printf("La somme de 1 à 10 est: %d\n", sum);
	return 0; 
}

Dans la boucle while ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

Enfin, la boucle incrémente la valeur de i de 1, et le processus se répète jusqu'à ce que la condition i <= 10 ne soit plus vraie. Dans ce cas on affiche le message "La somme de 1 à 10 est: 55".

 
 
15. Ecrivez un programme en C qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 10 est 28
#include <stdio.h>

int main()
{
	int i=1,sum=0,n;  
	
	printf("Entrer un nombre:");
	scanf ("%d",&n);
	
	while (i <= n) { 
		sum = sum + i;
		i++;  
	}
	
	printf("la somme de 1 à %d est: %d\n",n,sum);
	return 0; 
}

La boucle while est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 
16. Ecrivez un programme en C qui affiche "Hello" 10 fois. En utilisant la boucle "for".

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
#include <stdio.h>

int main()
{
	int i;  
	for (i= 0; i < 10; i++) { 
		printf("Hello\n");
	}
	return 0; 
}

Dans cet algorithme, la boucle for continuera à s'exécuter tant que la variable i est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable i est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie.

 
 
17. Ecrivez un programme en C qui calcule la somme de 1 à 10. En utilisant la boucle "for".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
#include <stdio.h>

int main()
{
	int i, sum=0; 
	for (i=1; i<=10; i++){ 
		sum = sum + i ;
	} 
	printf("La somme de 1 à 10 est: %d" , sum);
	return 0; 
}

Dans la boucle for ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

 
 
18. Ecrivez un programme en C qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "for".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 10 est 28
#include <stdio.h>

int main()
{
	int i,sum=0,n; 
	
	printf("Entrer un nombre:");
	scanf("%d",&n);
	
	for(i=1; i<=n; i++){ 
		sum = sum + i;
	} 
	
	printf("La somme de 1 à n est: %d",n,sum);
	return 0; 
}

La boucle for est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 
19. Écrire un programme en C qui affiche la table de multiplication de 3. En utilisant la boucle "for".

Exemple de sortie:

3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10= 30  
#include <stdio.h>

int main()
{
	int i; 

	for (i=0; i<=10 ; i++){ 
		printf("3 x %d = %d \n",i,i*3);
	} 
	return 0; 
}

Nous utilisons la boucle for pour afficher la table de multiplication de 3. La boucle s'exécute de i = 0 à i = 10. À chaque itération de la boucle, i * 3 est affiché.

 
 
20. Écrire un programme en C qui affiche la table de multiplication d'un entier saisi par l'utilisateur, en utilisant la boucle "for".

Exemple de sortie:

Entrer un nombre: 7
7 x 0 = 0
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10= 70
#include <stdio.h>

int main()
{
	int i,n; 
	
	printf("Entrer un entier:");
	scanf("%d",&n);
	
	for(i=1; i<=10; i++){ 
		printf("%d x %d = %d\n",n,i,i*n);
	} 
	
	return 0; 
}

Nous utilisons la boucle for pour afficher la table de multiplication de n. La boucle s'exécute de i = 1 à i = 10. À chaque itération de la boucle, i * n est affiché.

 
 
21. Ecrivez un programme en C qui affiche "Hello" 10 fois. En utilisant la boucle "do-while".

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
#include <stdio.h>

int main()
{
	int i=0;  
   
	do  { 
		printf("Hello\n");
		i++;
	} while (i<10);
	
	return 0; 
}

La principale différence entre la boucle "while" et "do while" est que dans la boucle "do while", la boucle s'exécute une fois avant même de vérifier la condition, alors que dans une boucle "while", la boucle s'exécute si la condition est vraie.

 
 
22. Ecrivez un programme en C qui calcule la somme de 1 à 10. En utilisant la boucle "do-while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
#include <stdio.h>

int main()
{
	int i=1,sum=0;  

	do{ 
		sum = sum + i;
		i++;
	} while (i <= 10) ;

	printf("La somme de 1 à 10 est: %d",sum);

	return 0; 
}
 
 
23. Écrire un programme en C qui affiche la table de multiplication de 2. En utilisant la boucle "do-while".

Exemple de sortie:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10= 20  
#include <stdio.h>

int main()
{
	int i=0; 

	do{ 
		printf ("2 x %d = %d\n",i,i*2);
		i++;
	}while(i<10);

	return 0; 
}
24. Écrire un programme C pour convertir les jours spécifiés en années, semaines et jours. Note : Ne pas tenir en compte les années bissextiles.

Exemple de sortie:

Entrez le nombre de jours: 2570
Années: 7
Semaines: 2
Jours: 1
#include <stdio.h>

int main()
{
    int jours, an, semaines;

    jours = 2570; // Nombre total de jours

    // Calculer les années
    an = jours/365; 
    // Calculer les semaines restants
    semaines = (jours % 365)/7; 
    // Calculer les jours restants
    jours = jours - ((an*365) + (semaines*7)); 

    // Afficher les résultats
    printf("Années: %d\n", an);
    printf("Semaines: %d\n", semaines);
    printf("Jours: %d", jours);

    return 0;
}
 
 
25. Écrivez un programme C qui accepte le nombre total d'heures travaillées au cours d'un mois et le montant que l'employé a reçu par heure. Affichez le salaire (avec deux décimales) de l'employé pour un mois donné.

Exemple de sortie:

Saisir les heures de travail: 7
Montant du salaire/heure: 2000 

Salaire = 14000.00 €
#include <stdio.h>

int main() {
    int heures;
    double sph, salaire;

    printf("Saisir les heures de travail: ");
    scanf("%d", &heures);

    printf("Montant du salaire/heure: ");
    scanf("%lf", &sph);

    // Calculer le salaire total
    salaire = sph * heures;

    // Afficher le salaire
    printf("Salaire = %.2lf €\n", salaire);

    return 0;
}
 
 
26. Écrire un programme en C pour afficher les nombres pairs entre 0 et N, où N est saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre :  9
0  2  4  6  8 
#include <stdio.h>

int main()
{
	int i,n;   
	printf("Entrer un nombre: ");
	scanf("%d",&n);

	for(i=0; i<=n; i++){
    	if (i%2 == 0)
			printf(" %d ",i);
	}

	return 0; 
}

Description pas à pas de la logique permettant d'afficher tous les nombres pairs compris entre 1 et n à en utilisant l'instruction "IF":

  • L'utilisateur doit saisir la limite supérieure des nombres pairs. Stockez-la dans la variable N.
  • Exécutez la boucle "for" à partir de 1, jusqu'à n.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i est divisible par 2, alors i est pair. Autrement dit, if (i%2 == 0), la valeur de i est affichée.
 
 
27. Ecrivez un programme en C qui calcule la somme des nombres impairs compris entre 1 et un nombre entier N saisi par l'utilisateur. Exemple N=10 Somme=1+3+5+7+9=25

Exemple de sortie:

Entrer un nombre :  10
La somme des nombres impairs est: 25
#include <stdio.h>

int main()
{
	int n,i,sum=0;    
	printf("Entrer un nombre:");
	scanf("%d",&n);

	for(i=1; i<=n; i++){
		if(i%2 != 0)
			sum = sum + i;
	}
	printf("La somme des nombres impairs est: %d",sum);

	return 0; 
}

Dans ce programme:

  • L'utilisateur doit saisir la limite supérieure des nombres impairs. Stockez-la dans la variable N.
  • Exécutez la boucle "for" à partir de 1, jusqu'à n.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i n'est pas divisible par 2, alors i est impair. Autrement dit, if(i%2 != 0), nous ajoutons le nombre actuel i à la variable sum.
  • Enfin nous affichons la somme des nombres impairs.
 
 
28. Écrire un programme en C permettant de calculer le plus grand commun diviseur (PGCD) entre deux nombres entiers entrés par l'utilisateur.

Exemple:

n1=18 et n2=45
PGCD(18, 45) = 9

Exemple de sortie:

Entrer deux nombres: 18  45
Le PGCD est : 9
#include <stdio.h>

int main()
{
	int n1,n2,pgcd,i=1; 
	
	printf("Entrer un nombre:");
	scanf("%d",&n1);
	printf("Entrer un nombre:");
	scanf("%d",&n2);

	while(i<=n1 && i<=n2){
		if(n1%i==0 && n2%i==0){
			pgcd = i; 
		}
		i++;
	}
	printf("Le PGCD de %d et %d est:) = %d",n1,n2,pgcd);

	return 0; 
}

Dans ce programme, deux nombres entiers entrés par l'utilisateur sont stockés dans les variables n1 et n2. Ensuite, la boucle while est itérée jusqu'à ce que i soit inférieur à n1 et n2.

A chaque itération, si n1 et n2 sont exactement divisibles par i, la valeur de i est affectée à la variable "pgcd".

Lorsque la boucle while est terminée, le plus grand diviseur commun de deux nombres est stocké dans la variable "pgcd".

 
 
29. Écrire un programme en C qui affiche un triangle d'entiers, en fonction d'un entier N saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 7
1
22
333
4444
55555
666666
7777777
#include <stdio.h>

int main()
{
	int n,i,j;
	
	printf("Donner un nombre:");
	scanf("%d",&n);

	for(i=1; i<=n; i++){
		for(j=1; j<=i; j++){
			printf("%d",i);
		}	
		printf("\n");
	}

	return 0; 
}

Le programme invite l'utilisateur à saisir un nombre à l'aide de la fonction printf() et stocke la valeur dans la variable "n" à l'aide de la fonction scanf(). La boucle for est ensuite utilisée pour exécuter le code à l'intérieur de la boucle le nombre de fois spécifié par l'utilisateur. La boucle for commence avec "i" initialisé à 1, et la boucle continue jusqu'à ce que "i" soit inférieur ou égal à "n".

La deuxième boucle for est imbriquée dans la première boucle for et est utilisée pour exécuter de manière répétée le code à l'intérieur de la boucle pendant le nombre de fois spécifié par l'utilisateur. La boucle for commence avec "j" initialisé à 1, et la boucle continue jusqu'à ce que "j" soit inférieur ou égal à "i".

La fonction printf() à l'intérieur de la boucle imbriquée est utilisée pour afficher le nombre actuelle (i) à l'écran à chaque fois que la boucle est exécutée. Les valeurs de "i" et "j" sont incrémentées de 1 à chaque itération des boucles, de sorte que les boucles se terminent finalement lorsque "i" et "j" atteignent la valeur de "n".

 
&nbsp
30. Ecrire un programme en C qui compte le nombre de chiffres dans un nombre saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 9876
Le nombre de chiffres est 4
#include <stdio.h>

int main()
{
	int n,i=1;   
	printf("Donner un nombre:");
	scanf("%d",&n);   
  
	while(n/10 != 0){
		n = n/10;  
		i = i+1;
	}
	printf("Le nombre de chiffres est %d",i);    

	return 0; 
}

Le programme divise le nombre saisi par l'utilisateur par 10 dans la boucle while jusqu'à ce que le résultat atteigne zéro. Le nombre d'itérations correspondra au nombre de chiffres.

L'entier saisi par l'utilisateur est stocké dans la variable n. Ensuite, la boucle while est itérée jusqu'à ce que la condition (n/10 != 0) soit évaluée à 0 (False).

  • Après la première itération, la valeur de n est de 987 et le compteur est incrémenté à 1.
  • Après la deuxième itération, la valeur de n sera de 98 et le compteur sera incrémenté à 2.
  • Après la troisième itération, la valeur de n sera de 9 et le compteur sera incrémenté à 3.
  • Après la quatrième itération, la valeur de n sera 0 et le compteur sera incrémenté à 4.
  • La condition de la boucle est alors évaluée à false et la boucle se termine.
Veuillez voir les exercices de 31 à 40 sur ce lien.

 

L’article 400 Exercices Corrigés En C – Partie 1 est apparu en premier sur WayToLearnX.

400 Exercices Corrigés En C – Partie 2

Par :Thomas
12 avril 2024 à 00:50

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30 sur ce lien.

 

31. Écrire un programme C pour calculer la consommation moyenne d’une voiture à partir d’une distance parcourue (en km, valeur entière) et du carburant consommé (en litres, nombre flottant).

Exemple de sortie:

Entrer la distance totale en km: 470 
Entrer le carburant total dépensé en litres: 5

Consommation moyenne (km/litre) = 94.000
#include <stdio.h>

int main() 
{
    int distance;
    float carburant;

    printf("Entrer la distance totale en km:");
    scanf("%d", &distance);
    
    printf("Entrer le carburant total dépensé en litres:");
    scanf("%f", &carburant);
    
    printf("Consommation moyenne (km/litre) = %.3f ",distance/carburant);
    printf("\n");

    return 0;
}
 
 
32. Écrire un programme C pour calculer la distance entre deux points.

Remarque: x1, y1, x2, y2 sont tous des valeurs flottants.

Exemple de sortie:

Entrée x1: 10
Entrée y1: 18 

Entrée x2: 40 
Entrée y2: 20 

Distance entre ces points est: 30.0666
#include <stdio.h>
#include <math.h>

int main() {
    float x1, y1, x2, y2, distance; 
    
    printf("Entrée x1:");
    scanf("%f", &x1);
    printf("Entrée y1:");
    scanf("%f", &y1);
    
    printf("Entrée x2:");
    scanf("%f", &x2);
    printf("Entrée y2:");
    scanf("%f", &y2);
    
    // Calculer la distance entre les points
    distance = ((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1));
    
    printf("Distance entre ces points est: %.4f", sqrt(distance));
    
    return 0;
}
 
 
33. Ecrivez une fonction pour calculer la somme de deux nombres. Si les deux nombres sont identiques, le programme renvoie le triple de leur somme.

Exemple de sortie:

foncSomme(1,2) -> 3
foncSomme(2,2) -> 12
#include <stdio.h>

//Déclarez la fonction "foncSomme" avec deux paramètres
int foncSomme(int a, int b); 

int main(void)
{
    /* Appeler la fonction "foncSomme" avec  
       les arguments 1 et 2 et afficher le résultat */
    printf("%d \n", foncSomme(1, 2));

    /* Appeler la fonction "foncSomme" avec 
       les arguments 2 et 2 et afficher le résultat */
    printf("%d", foncSomme(2, 2));
}

// Définition de la fonction "foncSomme"
int foncSomme(int a, int b)
{
    /* Expression conditionnelle : Si a est égal à b, 
	   retourner (a + b) multiplié par 3, sinon retourner a + b */
    return a == b ? (a + b) * 3 : a + b;
}
 
 
34. Écrivez un programme C qui vérifie deux entiers donnés et renvoie TRUE si au moins l’un d’entre eux est égal à 20 ou si leur somme est égale à 20.

Exemple de sortie:

check(15, 5) ->  TRUE
check(15, 20) ->  TRUE
check(15, 25) ->  FALSE
#include <stdio.h>

//Déclarez la fonction "check" avec deux paramètres
int check(int a, int b); 

int main(void)
{
    /* Appeler la fonction "check" avec  
       les arguments 25 et 5 et afficher le résultat */
    printf("%d", check(15, 5));

    /* Appeler la fonction "check" avec 
       les arguments 25 et 5 et afficher le résultat */
    printf("%d", check(15, 20));
}

// Définition de la fonction "check"
int check(int a, int b)
{
    // Retourne 1 (true) si l'une des conditions suivantes est vraie
    return a == 20 || b == 20 || (a + b == 20);
}
 
 
35. Ecrivez un programme C qui vérifie si un entier positif est divisible par 3 ou 7, ou les deux. Si l’entier est un multiple de 3, le programme retournera TRUE. De même, si l’entier est un multiple de 7, le programme renvoie également TRUE. Si l’entier n’est pas un multiple de 3 ou de 7, le programme renvoie FALSE.

Exemple de sortie:

check(3) ->  TRUE
check(12) ->  TRUE
check(4) ->  FALSE
#include <stdio.h>

//Déclarez la fonction "check" avec deux paramètres
int check(int n); 

int main(void)
{
    /* Appeler la fonction "check" avec  
       l'argument 3 et afficher le résultat */
    printf("%d", check(3));

    /* Appeler la fonction "check" avec 
       l'argument 12 et afficher le résultat */
    printf("%d", check(12));
}

// Définition de la fonction "check"
int check(int n)
{
    // Retourne 1 (true) si l'une des conditions suivantes est vraie
    return n % 3 == 0 || n % 7 == 0;
}
 
 
36. Ecrivez un programme en C pour inverser les chiffres d’un nombre saisi par l’utilisateur.

Exemple de sortie:

Donner un nombre: 123
321
#include <stdio.h>

int main()
{
	int Nbr,rev=0;   
	printf("Donner un nombre:");
	scanf("%d",&Nbr);

	while(Nbr > 0){
		rev = rev * 10;  
		rev = rev + Nbr%10; 
		Nbr = Nbr/10;
	}
	printf("%d",rev);   

	return 0; 
}

Voici ce que fait le programme ci-dessus:

  • Initialise la variable rev = 0.
  • Dans la boucle while multiplie le nombre inversé ‘rev’ par 10, ajoutez le reste du nombre original ‘Nbr’ divisé par 10 à ‘rev’.
    • C’est-à-dire, rev = rev + Nbr%10
  • Diviser le nombre original par 10.
    • Dans cette étape, la valeur du nombre original ‘Nbr’ est mise à jour en la divisant par 10. À chaque itération, le dernier chiffre du nombre original ‘Nbr’ est supprimé et la boucle se termine lorsque la valeur du nombre original ‘Nbr’ est égale à 0.

Maintenant, inversons le nombre 123 en utilisant le programme ci-dessus.

Nbr = 123
rev = 0
rev = rev * 10 + Nbr % 10 = 0 * 10 + 123 % 10 = 3
Nbr = Nbr/ 10 = 12
rev = rev * 10 + Nbr % 10 = 3 * 10 + 12 % 10 = 32
Nbr = Nbr/ 10 = 1
rev = rev * 10 + Nbr % 10 = 32 * 10 + 1 % 10 = 321
Nbr = Nbr/10 = 0.

Le résultat sera donc 321.

 
 
37. Écrire un programme en C permettant d’entrer un nombre et d’afficher le triangle d’étoiles.

Exemple de sortie:

Entrez un nombre: 5
    *
   ***
  *****
 *******
*********
#include <stdio.h>

int main()
{
	int Nbr,i,j;   
	printf("Entrez un nombre:");
	scanf("%d",&Nbr);

	for(i=0; i < Nbr; i++){
		for(j=1; j <= (Nbr*2)-1; j++){
			if (j >= Nbr-i && j <= Nbr+i)                    
				printf("*");
			else   
				printf(" ");   
		}
		printf("\n");      
	}  
	return 0; 
}
 
 
38. Écrire un programme en C qui permet de savoir si le nombre saisi est Premier ou non. (Un nombre premier est un nombre uniquement divisible par 1 ou par lui-même).

Exemple de sortie:

Entrer un nombre : 29
29 est un nombre premier

Entrer un nombre : 21
21 n'est pas un nombre premier

21 a quatre diviseurs (1, 3, 7 et 21) donc ce n'est pas un nombre premier.

#include <stdio.h>

int main()
{
	int i=2,Nbr;
	
	printf("Entrer un nombre :"); 
	scanf("%d",&Nbr);
	
	while(Nbr%i != 0 && i < Nbr){
		i++;
	}
	
	if (i == Nbr) 
		printf("%d est un nombre premier",Nbr);
	else  
		printf("%d n'est pas un nombre premier",Nbr);
		
	return 0; 
}

Une façon simple de déterminer si un nombre est premier est de faire une boucle allant de 2 à n-1 et de vérifier si le nombre est divisible par n'importe quel nombre de cette plage. Si c'est le cas, il ne s'agit pas d'un nombre premier ; sinon, c'est le cas.

 
 
39. Écrire un programme en C qui prend deux entiers de l'utilisateur (un nombre de base et un exposant) et calcule la puissance.

Exemple: Dans le cas de 23

  • 2 est le nombre de base
  • 3 est l'exposant
  • Et la puissance est égale à 2*2*2

Exemple de sortie:

Entrer la base: 2
Entrer l'exposant: 3
2 ^ 3 = 8
#include <stdio.h>

int main()
{
	int e, i;
	float puissance,b;
	puissance = 1;
	
	printf("Entrer la base:"); 
	scanf("%f",&b);
	printf("Entrer l'exposant:"); 
	scanf("%d",&e);
     
	for(i=1; i<=e; i++){
		puissance = puissance * b;
	}
 
	printf("%.1f ^ %d = %.1f",b,e,puissance);

	return 0; 
}

Voici la logique descriptive étape par étape:

  • L'utilisateur entre la base et les exposants. Les stocker dans deux variables, b et e.
  • Déclarer et initialiser une autre variable pour stocker la puissance, puissance = 1.
  • Exécutez une boucle de 1 à exposant, en incrémentant le compteur de la boucle de 1 à chaque itération. La structure de la boucle doit ressembler à for(i=1; i<=e; i++).
  • Pour chaque itération à l'intérieur de la boucle, multipliez la puissance par la base, c'est-à-dire puissance = puissance * b.
  • Enfin, à la fin de la boucle, il ne reste plus que la puissance dans la variable puissance.
 
 
40. Ecrivez un programme en C qui demande l'âge et permet de renseigner sa catégorie sachant que les catégories sont les suivantes:
  • Gamin de 6 à 7 ans
  • Pupille de 8 à 9 ans
  • Jeune de 10 à 11 ans
  • Cadet après 12 ans

Exemple de sortie:

Entrer votre age : 6
Vous êtes Gamin
#include <stdio.h>

int main()
{
	int age;
	
	printf("Entrer votre age :"); 
	scanf("%d",&age);

	if(age >= 6 && age <= 7) 
		printf("Vous êtes Gamin");
		
	if(age >= 8 && age <= 9) 
		printf("Vous êtes Pupille");

	if(age >= 10 && age <= 11)
		printf("Vous êtes Jeune");

	if(age >= 12) 
		printf("Vous êtes Cadet"); 

	return 0; 
}
 

L’article 400 Exercices Corrigés En C – Partie 2 est apparu en premier sur WayToLearnX.

100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 1

Par :Thomas
7 avril 2024 à 19:36

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.

 
 

1. Écrire un algorithme pour afficher le message ‘Hello, World!’ sur l’écran.

Exemple de sortie:

Hello World!
Algorithme HelloWorld
Début  
  Ecrire("Hello, World!")
Fin

Dans cet algorithme, nous avons utilisé le mot « Écrire » pour afficher la chaîne de caractères Hello, world! sur notre écran. Voici l’organigramme de cet algorithme:

 
 
2. Écrire un algorithme permettant la saisie de deux nombres et l’affichage de leur somme.

Exemple de sortie:

Entrer 1er nombre: 10
Entrer 2éme nombre: 5
La somme de 10 et 5 = 15
Algorithme SommeDeuxNombres
Variables n1,n2,s :réels
Début  
 Ecrire("Entrer 1er nombre:") 
 Lire(n1)
 Ecrire("Entrer 2éme nombre:") 
 Lire(n2)
 s ← n1 + n2 
 Ecrire("La somme de ",n1,"et",n2,"=",s)
Fin

Cet algorithme invite l’utilisateur à saisir deux nombres, les additionne, puis affiche le résultat. Voici l’organigramme de cet algorithme:

 
 
3. Écrire un algorithme permettant de permuter le contenu de deux entiers n1 et n2 entrés par l’utilisateur, et afficher ces entiers après permutation.

Exemple de sortie:

Entrer un entier n1 : 10
Entrer un entier n2 : 5
------permutation------
n1 = 5
n2 = 10
Algorithme Permutation

Variables n1,n2,tmp :entiers
Début  
 Ecrire("Entrer un entier n1:") 
 Lire (n1)
 Ecrire("Entrer un entier n2:") 
 Lire (n2)
 
 tmp ← n1 
 n1 ← n2 
 n2 ← tmp 
 
 Ecrire("------permutation------")
 Ecrire("n1 = ",n1)
 Ecrire("n2 = ",n2)
Fin

Cet algorithme déclare d’abord trois variables n1, n2 et tmp, puis demande à l’utilisateur de saisir deux nombres entiers. Ensuite, il utilise une variable temporaire tmp pour échanger les valeurs de n1 et n2, et enfin affiche les valeurs échangées. Voici l’organigramme de cet algorithme:

 
 
4. Écrire un algorithme pour calculer la factorielle d’un nombre entier saisi par l’utilisateur. (Remarque: le factoriel de 5, qui s’écrit 5! = 5 × 4 × 3 × 2 × 1).

Exemple de sortie:

Saisir un nombre : 5
Le factoriel de 5 est: 120
Algorithme Factoriel
Variables nbr,f,i: entiers 
Début
   Ecrire("Saisir un nombre")
   Lire (nbr)
   f ← 1 
   Pour i de 1 jusqu'à nbr faire 
       f ← f * i   
   FinPour 
   Ecrire("Le factoriel de ",nbr," est: " f)
Fin

Nous commençons par déclarer les variables que nous utiliserons dans l’algorithme. Nous avons besoin de trois variables : nbr, f et i. Nous les déclarons comme des entiers en utilisant le symbole deux points (:).

Ensuite, nous demandons à l’utilisateur d’entrer la valeur de nbr à l’aide des instructions Ecrire et Lire. Nous écrivons un message invitant l’utilisateur à saisir un entier nbr, puis nous lisons la valeur saisie par l’utilisateur et la stockons dans la variable nbr.

Ensuite, nous initialisons la variable f à 1. Cette variable stockera la factorielle de nbr au fur et à mesure que nous la calculerons dans la boucle. Nous utilisons le signe (←) pour attribuer une valeur à une variable.

Ensuite, nous utilisons une boucle pour itérer de 1 à nbr et multiplier f par i à chaque itération. La boucle a une valeur de départ, une valeur d’arrivée et une valeur d’incrémentation. Dans ce cas, nous commençons à 1, nous terminons à nbr et nous incrémentons de 1. Nous utilisons le mot-clé ‘POUR’ pour commencer la boucle et le mot-clé ‘FinPour’ pour la terminer. Nous utilisons également l’indentation pour montrer le corps de la boucle. À chaque itération, nous mettons à jour la valeur de f en la multipliant par i à l’aide du symbole de l’astérisque (*). De cette façon, nous calculons la factorielle de nbr comme le produit de tous les entiers de 1 à nbr.

Enfin, nous affichons la factorielle de nbr à l’aide de l’instruction Écrire. Nous écrivons un message qui indique la valeur de nbr et sa factorielle séparées par des virgules. Voici l’organigramme de cet algorithme:

 
 
5. Écrire un algorithme permettant d’afficher si un nombre saisi est pair ou impair.

Exemple de sortie:

Entrer un nombre: 8 
Nombre pair
Algorithme  PairImpair
Variables nbr :entier
Début 
  Ecrire("Entrer un nombre:")
  Lire(nbr)
  Si(nbr mod 2 = 0) alors
      Ecrire("Nombre pair")
     SiNon
      Ecrire("Nombre impair")
  FinSi
Fin

Si un nombre est divisible par 2 sans reste, il est pair. Vous pouvez calculer le reste à l’aide de l’opérateur modulo « mod », comme ceci nbr mod 2 = 0. Si un nombre divisé par 2 laisse un reste de 1, le nombre est impair. Vous pouvez le vérifier en utilisant nbr mod 2 = 1. Voici l’organigramme de cet algorithme:

 
 
6. Écrire un algorithme permettant d’afficher le plus grand des 3 nombres saisis au clavier.

Exemple de sortie:

Entrer 1er nombre : 2
Entrer 2éme nombre: 9
Entrer 3éme nombre: 7
Le nombre le plus grand est: 9
Algorithme Max3Nbr
Variables n1,n2,n3,max :entiers
Début
  Ecrire("Entrer 1er nombre :")  
  Lire(n1)
  Ecrire("Entrer 2éme nombre:")  
  Lire(n2)
  Ecrire("Entrer 3éme nombre:")  
  Lire(n3)
   max ← n1  
   Si (n2 >= max) alors
	    max ← n2 
   FinSi
   
   Si(n3 >= max) alors 
      max ← n3 
   FinSi
 Ecrire("Le nombre le plus grand est: ",max)
Fin

Voici l’organigramme de cet algorithme:

 
 
7. A quoi sert l’algorithme suivant?
Variable nbr : entier
Debut
nbr ← 0
Ecrire("Entrez un nombre entre 1 et 5")
TantQue(nbr < 1 ou nbr > 5)
    Lire(nbr)
    Si(nbr < 1 ou nbr > 5) Alors
        Ecrire("Nombre incorrect. Recommencez")
    FinSi
FinTantQue
Fin

L’algorithme demande à l’utilisateur un nombre de 1 à 5 jusqu’à ce que la réponse est correct.

 
 
8. Écrire un algorithme qui calcule la valeur absolue d’un nombre saisi par l’utilisateur.

Exemple de sortie:

Entrer un nombre: -5
La valeur absolue de -5 est 5
Algorithme NbrAbsolue
Variable n :entier
Début
   Ecrire("Entrer un nombre :") 
   Lire(n)
   Si(n >= 0) alors
     Ecrire("La valeur absolue de ",n," est ",n)
   SiNon 
     Ecrire("La valeur absolue de ",n," est ",-n)
   FinSi
Fin

Voici l’organigramme de cet algorithme:

 
 
9. Écrire un algorithme qui calcule la moyenne de 3 nombres entrés par l’utilisateur.

Exemple de sortie:

Entrer 1er nombre :  5
Entrer 2éme nombre:  7
Entrer 3éme nombre:  3
La moyenne est : 5
Algorithme Moyenne3Nbr
Variables n1,n2,n3,moy:entiers
Début
	Ecrire("Entrer n1:")
	Lire(n1)
	Ecrire("Entrer n2:")
	Lire(n2)
	Ecrire("Entrer n3:")
	Lire(n3)
	moy ← (n1+n2+n3) div 3  
	Ecrire("La moyenne est: ",moy)
Fin

La formule pour trouver la moyenne de nombres ou de valeurs donnés est très simple. Il suffit d’additionner tous les nombres et de diviser le résultat par le nombre de valeurs données. La formule pour calculer la moyenne est donc la suivante:

Moyenne = Total/Nombre

Ici, nous utilisons 3 nombres, donc pour calculer la moyenne, nous devons additionner les 3 nombres et les diviser par 3.

 
 
10. Écrire un algorithme qui affiche 10 fois « Hello ». En utilisant la boucle Tant que.

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Algorithme Hello10Fois 
Variable n: entier 
Début
   n ← 1 
   TantQue(n <= 10) faire 
      Ecrire("Hello")
      n ← n + 1      
   FinTantQue
Fin

Dans cet algorithme, la boucle TantQue continuera à s'exécuter tant que la variable n est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable n est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie. Voici l'organigramme de cet algorithme:

 
 
11. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle TantQue.

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
Algorithme Somme1A10
Variable i,sum: entiers 
Début
  i  ← 1
  sum  ← 0 
  TantQue(i <= 10) faire 
      sum ← sum + i
      i ← i + 1     
  FinTantQue
  Ecrire("La somme de 1 à 10 est: ",sum)
Fin

Dans la boucle TantQue ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

Enfin, la boucle incrémente la valeur de i de 1, et le processus se répète jusqu'à ce que la condition i <= 10 ne soit plus vraie. Dans ce cas on affiche le message "La somme de 1 à 10 est: sum".

 
 
12. Ecrivez un algorithme qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle TantQue.

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 10 est 28
Algorithme SommeDe1AN
Variables i,sum,n: entiers 
Debut
  i ← 1     
  sum ← 0 
  Ecrire("Entrer un nombre:")
  Lire(n)
  TantQue(i <= n) faire 
	    sum ← sum + i
	    i ← i + 1     
  FinTantQue
  Ecrire("La somme de 1 à n est:",sum)
Fin

La boucle TantQue est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 
13. Ecrivez un algorithme qui affiche "Hello" 10 fois. En utilisant la boucle POUR.

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Algorithme Hello10Fois
Variable n: entier 
Début
  Pour n de 1 jusqu'à 10 faire 
    Ecrire("Hello")
  FinPour 
Fin

Dans cet algorithme, la boucle POUR continuera à s'exécuter tant que la variable n est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable n est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie. Voici l'organigramme de cet algorithme:

 
 
14. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle POUR.

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
Algorithme Somme1A10
Variable i,sum: entiers 
Début
   sum ← 0 
   Pour i de 1 jusqu'à 10 faire 
        sum ← sum + i   
   FinPour 
   Ecrire("La somme de 1 à 10 est:", sum)
Fin

Dans la boucle POUR ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

 
 
15. Ecrivez un algorithme qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle POUR.

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 10 est 28
Algorithme SommeDe1AN
Variables i,sum,n: entiers 
Début
   sum ← 0 
   Ecrire("Entrer un nombre:")
   Lire(n)
   Pour i de 1 jusqu'à n faire 
       sum ← sum + i   
   FinPour 
   Ecrire("La somme de 1 à n est:",sum)
Fin

La boucle POUR est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 
16. Écrire un algorithme qui affiche la table de multiplication de 3. En utilisant la boucle For.

Exemple de sortie:

3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10= 30  
Algorithme TableMultiplication
Variable i:entier
Début
   Pour i de 0 jusqu'à 10 faire 
      Ecrire("3 x ",i," = ",i*3)
   FinPour 
Fin

Nous utilisons la boucle POUR pour afficher la table de multiplication de 3. La boucle s'exécute de i = 1 à i = 10. À chaque itération de la boucle, i * 3 est affiché.

 
 
17. Écrire un algorithme qui affiche la table de multiplication d'un entier saisi par l'utilisateur, en utilisant la boucle POUR.

Exemple de sortie:

Entrer un nombre: 7
7 x 0 = 0
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10= 70
Algorithme TableMultiplicationDeN
Variables i,n :entiers
Début
   Ecrire("Donner un nombre:")
   Lire(n)
   Pour i de 0 jusqu'à 10 faire 
      Ecrire(n," x ",i," = ",i*n)
   FinPour 
Fin

Nous utilisons la boucle POUR pour afficher la table de multiplication de n. La boucle s'exécute de i = 1 à i = 10. À chaque itération de la boucle, i * n est affiché.

 
 
18. Ecrivez un algorithme qui affiche "Hello" 10 fois. En utilisant la boucle Répéter Jusqu’à.

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Algorithme Hello10Fois 
Variables i: entier 
Début
   i ← 1 
   Répéter
	  Ecrire("Hello")
	  i ← i+1    
   Jusqu'à i>10 
Fin

La principale différence entre la boucle "TantQue" et "Répéter Jusqu’à" est que dans la boucle Répéter Jusqu’à", la boucle s'exécute une fois avant même de vérifier la condition, alors que dans une boucle "TantQue", la boucle s'exécute si la condition est vraie.

 
 
19. Ecrivez un algorithme qui calcule la somme de 1 à 10. En utilisant la boucle Répéter Jusqu’à.

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
Algorithme Somme1A10
Variables i,sum: entiers 
Début
    sum ← 0    
	i ← 1
    Répéter 
       sum ← sum + i 
       i ← i+1	  
    Jusqu'à  i > 10 
   Ecrire("La somme de 1 à 10 est:" sum)
Fin
 
 
20. Écrire un algorithme qui affiche la table de multiplication de 2. En utilisant la boucle Répéter Jusqu’à.

Exemple de sortie:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10= 20  
Algorithme TableMultiplication
Variable i:entier
Début
   i ← 0
   Répéter  
      Ecrire("2 x ",i," = ",i*2)
      i ← i+1
   Jusqu'à i > 10 
Fin
 
 
21. Écrire un algorithme permettant de saisir 10 nombres et de les stocker dans un tableau appelé myTab, puis de les afficher.

Exemple de sortie:

6   3   8   1   5   9   4   2   6   0
6   3   8   1   5   9   4   2   6   0
Algorithme AfficherTableau
Variable myTab[10]:reéls 
         i : entier
Début
    Pour i de 1 jusqu❛à 10 faire 
	    lire(myTab[i])
    FinPour 

    Pour i de 1 jusqu'à 10 faire 
	    Ecrire(myTab[i])
    FinPour 
Fin

L'algorithme ci-dessus invite l'utilisateur à saisir 10 entiers dans un tableau nommé myTab, puis affiche les éléments du tableau.

La première boucle POUR demande à l'utilisateur de saisir 10 éléments dans le tableau, et la boucle POUR s'exécute de 1 jusqu'à 10, invitant l'utilisateur à saisir chaque élément à l'aide de lire(), et stockant chaque entrée dans l'index correspondant du tableau myTab[i].

La deuxième boucle POUR affiche ensuite le contenu du tableau, qui parcourt les éléments de myTab et affiche chaque élément à l'aide de Ecrire().

 
 
22. Écrire un algorithme permettant d'entrer 10 notes et d'afficher la moyenne de ces notes.

Exemple de sortie:

6   3   8   1   5   9   4   2   6   0
La moyenne est: 4,4
Algorithme NoteMoyenne 
Variables Notes[10], sum :réels
          i :entier
Début
    sum ← 0
    Pour i de 1 jusqu'à 10 faire 
       Lire(Notes[i])
       sum ← sum + Notes[i]
    FinPour
    Ecrire("La moyenne est:",sum/10)
Fin

L'algorithme demande à l'utilisateur de saisir 10 notes dans le tableau, et la boucle POUR s'exécute de 1 jusqu'à 10, invitant l'utilisateur à saisir chaque élément à l'aide de lire(), et stockant chaque entrée dans l'index correspondant du tableau Notes[i].

Ensuite, à chaque itération de la boucle, la somme de chaque élément saisi est calculée. Une fois la boucle POUR terminée, la moyenne est calculée et affichée à l'écran à l'aide de Ecrire().

 
 
23. Écrire un algorithme permettant la saisi de 10 nombres et l'affichage du maximum de ces nombres.

Exemple de sortie:

Entrer un nombre: 6   
Entrer un nombre: 3   
Entrer un nombre: 8   
Entrer un nombre: 1   
Entrer un nombre: 5   
Entrer un nombre: 7   
Entrer un nombre: 4   
Entrer un nombre: 2   
Entrer un nombre: 6   
Entrer un nombre: 0
Le maximum est: 8
Algorithme myTabMax 
Variables myTab[10],max,i:réels
Début
   Ecrire("Entrer un nombre:")
   Lire(myTab[0])        
   max ← myTab[0] 
   
   Pour i de 1 jusqu'à 10 faire
      Ecrire("Entrer un nombre:")
      Lire(myTab[i])
	    Si (myTab[i] > max) alors
	      max ← myTab[i] 
	    FinSi
   FinPour 
   Ecrire("Le maximum est:",max)
Fin

Dans cet algorithme nous avons créer une variable max et l'initier à myTab[0] pour stocker le maximum dans le tableau.

Itérer sur le tableau

  • Comparer myTab[i] avec max.
  • Si myTab[i] > max, mettre à jour max ← myTab[i].

Une fois l'itération terminée, renvoyer max comme réponse.

 
 
24. Ecrivez un algorithme qui permet d'entrer 10 nombres dans un tableau, et de calculer le nombre d'occurrences d'un élément E dans ce tableau. Où E est entré par l'utilisateur.

Exemple de sortie:

Entrer un nombre: 6   
Entrer un nombre: 3   
Entrer un nombre: 8   
Entrer un nombre: 6   
Entrer un nombre: 5   
Entrer un nombre: 7   
Entrer un nombre: 4   
Entrer un nombre: 6   
Entrer un nombre: 6   
Entrer un nombre: 0
Entrer Le nombre recherché: 6
Nombre d'occurences de 6 est 4
Algorithme NbrOccurences
Variables nbrRech,myTab[10]:réels
          nbrOcc,i:entiers
Début
   nbrOcc ← 0
   Pour i de 1 jusqu❛à 10 faire 
       Ecrire("Entrer un nombre:")
       Lire(myTab[i])
   FinPour 
   
    Ecrire("Entrer Le nombre recherché:")
    Lire(nbrRech)
    
     Pour i de 1 jusqu❛à 10 faire
         Si(myTab[i] = nbrRech) alors
                nbrOcc ← nbrOcc + 1 
         FinSi
     FinPour 
 Ecrire("Nombre d'occurences de ",nbrRech," est ",nbrOcc)
Fin

Pour compter le nombre d'occurrences d'une valeur spécifique dans un tableau, nous pouvons utiliser une simple boucle POUR tout en recherchant notre valeur cible. Si la valeur cible est trouvée, nous incrémentons la variable nbrOcc. Nous procédons de cette façon jusqu'à ce que l'ensemble du tableau soit parcouru.

Approche:

  • Initialiser la variable nbrOcc à zéro.
  • On parcourt le tableau et on vérifie si l'élément courant(myTab[i]) correspond à la valeur cible(nbrRech).
  • Si c'est le cas, nbrOcc est incrémenté de 1.
  • Dans le cas contraire, passer à l'itération suivante.
  • Répétez le processus jusqu'à ce que tous les éléments du tableau aient été vérifiés.
  • Enfin, retourner nbrOcc.
 
 
25. Ecrivez un algorithme pour entrer 10 entiers dans un tableau et trier ce tableau dans un ordre croissant. Affichez ensuite ce tableau après l'avoir trié.

Exemple de sortie:

Entrer un nombre: 8   
Entrer un nombre: 1  
Entrer un nombre: 5  
Entrer un nombre: 6   
Entrer un nombre: 3  
Entrer un nombre: 2   
Entrer un nombre: 4   
Entrer un nombre: 7   
Entrer un nombre: 9   
Entrer un nombre: 0
Tableau trié: 0    1    2    3    4    5    6    7    8    9
Algorithme TrierTab
Variables i,j,tmp,myTab[10]:entiers
Début
  Pour i de 1 jusqu❛à 10 faire
    Ecrire("Entrer un nombre:")
    Lire(myTab[i])
  FinPour 
   
  Pour i de 1 jusqu❛à 9 faire 
     Pour j de i+1 jusqu'à 10 faire
       Si(myTab[j] < myTab[i]) alors
           tmp ← myTab[i] 
           myTab[i] ← myTab[j] 
           myTab[j] ← tmp 
        FinSi
     FinPour 
   FinPour
   
    Pour i de 1 jusqu❛à 10 faire  
     Ecrire(myTab[i])
   FinPour	
Fin

L'algorithme ci-dessus invite l'utilisateur à saisir 10 nombres dans un tableau nommé myTab, puis affiche les éléments triés du tableau.

La première boucle POUR demande à l'utilisateur de saisir 10 éléments dans le tableau, et la boucle POUR s'exécute de 1 jusqu'à 10, invitant l'utilisateur à saisir chaque élément à l'aide de lire(), et stockant chaque entrée dans l'index correspondant du tableau myTab[i].

La deuxième boucle POUR parcourt le tableau myTab et permute les éléments du tableau(permute deux éléments aux positions i et j) en utilisant une variable temporaire pour contenir l'une des valeurs pendant la permutation. L'algorithme parcourt le tableau répétitivement, compare chaque paire d'éléments adjacents et les échange si nécessaire. Après le premier passage, l'élément le plus grand est placé à la fin du tableau.

  1. Dans l'algorithme de tri à bulle, nous comparons les deux premiers éléments d'un tableau et les permutons si nécessaire.
  2. Si nous voulons trier les éléments d'un tableau dans l'ordre croissant et si le premier élément est plus grand que le second, nous devons permuter les éléments.
  3. Si le premier élément est plus petit que le second, il n'est pas nécessaire de permuter les éléments. Ce processus se poursuit jusqu'à ce que le dernier et l'avant-dernier élément soient comparés et permutés.

La troisième boucle POUR affiche ensuite le tableau trié, qui parcourt les éléments de myTab et affiche chaque élément à l'aide de Ecrire().

 
 
26. Écrire un algorithme pour afficher les nombres pairs entre 0 et N, où N est saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre :  9
0  2  4  6  8 
Algorithme NbrPaire
Variables i,N : entiers
Début    
 Ecrire("Entrer un nombre: ")
 lire(N)
  Pour i de 0 jusqu❛à N faire
      Si(i mod 2 = 0) alors
      Ecrire(i)
  FinPour
Fin

Description pas à pas de la logique permettant d'afficher tous les nombres pairs compris entre 1 et n à en utilisant l'instruction "Si":

  • L'utilisateur doit saisir la limite supérieure des nombres pairs. Stockez-la dans la variable N.
  • Exécutez la boucle "POUR" à partir de 1, jusqu'à N.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i est divisible par 2, alors i est pair. Autrement dit, Si(i mod 2 = 0), la valeur de i est affichée.
 
 
27. Ecrivez un algorithme qui calcule la somme des nombres impairs compris entre 1 et un nombre entier N saisi par l'utilisateur. Exemple N=10 Somme=1+3+5+7+9=25

Exemple de sortie:

Entrer un nombre :  10
25
Algorithme SumNbrImpaires
Variables sum,i,N: entiers
Début      
   sum ← 0 
   Ecrire("Entrer un nombre:")
   Lire(N)
   Pour i de 1 jusqu❛à N faire 
      Si (i mod 2 ≠ 0) alors
          sum ← sum + i 
      FinSi 
   FinPour
  Ecrire(sum)
Fin

Dans cet algorithme:

  • L'utilisateur doit saisir la limite supérieure des nombres impairs. Stockez-la dans la variable N.
  • Exécutez la boucle "POUR" à partir de 1, jusqu'à N.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i n'est pas divisible par 2, alors i est impair. Autrement dit, Si(i mod 2 ≠ 0), nous ajoutons le nombre actuel i à la variable sum.
  • Enfin nous affichons la somme des nombres impairs.
 
 
28. Écrire un algorithme permettant de calculer le plus grand commun diviseur (PGCD) entre deux nombres entiers entrés par l'utilisateur.

Exemple:

n1=18 et n2=45
PGCD(18, 45) = 9

Exemple de sortie:

Entrer deux nombres: 18  45
Le PGCD est : 9
Algorithme TrouverPGCD
Variables n1,n2,i,pgcd: entiers
Début   
    Ecrire("Entrer deux nombres:")
    Lire(n1,n2)
    i ← 1
    TantQue(i<=n1 et i<=n2) faire
       Si(n1 mod i=0 et n2 mod i=0) alors
          pgcd ← i 
       FinSi
       i ← i + 1
    FinTantQue
    Ecrire("Le PGCD est:",pgcd)      
Fin

Dans ce programme, deux nombres entiers entrés par l'utilisateur sont stockés dans les variables n1 et n2. Ensuite, la boucle TantQue est itérée jusqu'à ce que i soit inférieur à n1 et n2.

A chaque itération, si n1 et n2 sont exactement divisibles par i, la valeur de i est affectée à la variable "pgcd".

Lorsque la boucle TantQue est terminée, le plus grand diviseur commun de deux nombres est stocké dans la variable "pgcd".

 
 
29. Écrire un algorithme qui affiche un triangle d'entiers, en fonction d'un entier N saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 7
1
22
333
4444
55555
666666
7777777
Algorithme NTriangle
Variables N,i,j: entiers  
Début     
 Ecrire("Donner un nombre: ")
 Lire(N)

 Pour i de 1 jusqu❛à N faire
    Pour j de 1 jusqu❛à i faire
      Ecrire(i)
    FinPour
   Ecrire("\n")
 FinPour
Fin

Le programme invite l'utilisateur à saisir un nombre à l'aide de la fonction Ecrire() et stocke la valeur dans la variable "N" à l'aide de la fonction Lire(). La boucle POUR est ensuite utilisée pour exécuter le code à l'intérieur de la boucle le nombre de fois spécifié par l'utilisateur. La boucle POUR commence avec "i" initialisé à 1, et la boucle continue jusqu'à ce que "i" soit inférieur ou égal à "N".

La deuxième boucle POUR est imbriquée dans la première boucle POUR et est utilisée pour exécuter de manière répétée le code à l'intérieur de la boucle pendant le nombre de fois spécifié par l'utilisateur. La boucle POUR commence avec "j" initialisé à 1, et la boucle continue jusqu'à ce que "j" soit inférieur ou égal à "i".

La fonction Ecrire() à l'intérieur de la boucle imbriquée est utilisée pour afficher le nombre actuelle (i) à l'écran à chaque fois que la boucle est exécutée. Les valeurs de "i" et "j" sont incrémentées de 1 à chaque itération des boucles, de sorte que les boucles se terminent finalement lorsque "i" et "j" atteignent la valeur de "N".

 
&nbsp
30. Ecrire un algorithme qui compte le nombre de chiffres dans un nombre saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 9876
Le nombre de chiffres est 4
Algorithme CompterChiffres
Variables Nbr,i: entiers  
Début        
  Ecrire("Donner un nombre: ")
  Lire(Nbr)
  i ← 1 
  TantQue(Nbr div 10 ≠ 0) faire
    Nbr ← Nbr div 10   
    i ← i + 1
  FinTantQue
  
  Ecrire("Le nombre de chiffres est",i)      
Fin

L'algorithme divise le nombre saisi par l'utilisateur par 10 dans la boucle TantQue jusqu'à ce que le résultat atteigne zéro. Le nombre d'itérations correspondra au nombre de chiffres.

L'entier saisi par l'utilisateur est stocké dans la variable Nbr. Ensuite, la boucle TantQue est itérée jusqu'à ce que la condition (Nbr div 10 ≠ 0) soit évaluée à 0 (False).

  • Après la première itération, la valeur de Nbr est de 987 et le compteur est incrémenté à 1.
  • Après la deuxième itération, la valeur de Nbr sera de 98 et le compteur sera incrémenté à 2.
  • Après la troisième itération, la valeur de Nbr sera de 9 et le compteur sera incrémenté à 3.
  • Après la quatrième itération, la valeur de Nbr sera 0 et le compteur sera incrémenté à 4.
  • La condition de la boucle est alors évaluée à false et la boucle se termine.
 

L’article 100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 1 est apparu en premier sur WayToLearnX.

100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 2

Par :Thomas
9 avril 2024 à 02:42

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30 sur ce lien.

 

31. Ecrivez un algorithme pour inverser les chiffres d’un nombre saisi par l’utilisateur.

Exemple de sortie:

Donner un nombre: 123
321
Algorithme InverserUnNombre
Variables Nbr,rev: entiers  
Début 
  rev ← 0   
  Ecrire("Donner un nombre:")
  Lire(Nbr)

  TantQue(Nbr > 0) faire
     rev ← rev * 10  
     rev ← rev + (Nbr mod 10)
     Nbr ← Nbr div 10
  FinTantQue
  Ecrire(rev)      
Fin

Voici ce que fait l’algorithme ci-dessus:

  • Initialise la variable rev ← 0.
  • Dans la boucle TantQue multiplie le nombre inversé ‘rev’ par 10, ajoutez le reste du nombre original ‘Nbr’ divisé par 10 à ‘rev’.
    • C’est-à-dire, rev ← rev + (Nbr mod 10)
  • Diviser le nombre original par 10.
    • Dans cette étape, la valeur du nombre original ‘Nbr’ est mise à jour en la divisant par 10. À chaque itération, le dernier chiffre du nombre original ‘Nbr’ est supprimé et la boucle se termine lorsque la valeur du nombre original ‘Nbr’ est égale à 0.

Maintenant, inversons le nombre 123 en utilisant l’algorithme ci-dessus.

Nbr = 123
rev = 0
rev = rev * 10 + Nbr mod 10 = 0 * 10 + 123 mod 10 = 3
Nbr = Nbr/ 10 = 12
rev = rev * 10 + Nbr mod 10 = 3 * 10 + 12 mod 10 = 32
Nbr = Nbr/ 10 = 1
rev = rev * 10 + Nbr mod 10 = 32 * 10 + 1 mod 10 = 321
Nbr = Nbr/10 = 0.

Le résultat sera donc 321.

 
 
32. Écrire un algorithme permettant d’entrer un nombre et d’afficher le triangle d’étoiles.

Exemple de sortie:

Entrez un nombre: 5
    *
   ***
  *****
 *******
*********
Algorithme TrianglEtoiles
Variables Nbr,i,j: entiers  
Début    
Ecrire("Entrez un nombre:")
Lire(Nbr)
Ecrire("\n")

Pour i de 0 à Nbr-1 faire
  Pour j de 1 à (Nbr*2)-1  faire 
      Si (j >= Nbr-i et j <= Nbr+i ) alors                    
          Ecrire("*")
      SiNon   
          Ecrire(" ") 
      FinSi		
  FinPour
  Ecrire("\n")      
FinPour
Fin
 
 
33. Écrire un algorithme qui permet de savoir si le nombre saisi est Premier ou non. (Un nombre premier est un nombre uniquement divisible par 1 ou par lui-même).

Exemple de sortie:

Entrer un nombre : 29
29 est un nombre premier

Entrer un nombre : 21
21 n'est pas un nombre premier

21 a quatre diviseurs (1, 3, 7 et 21) donc ce n'est pas un nombre premier.

Algorithme NbrPremier
Variables Nbr,i:entiers

Début  
   Ecrire("Entrer un nombre:")
   Lire(Nbr)
   i ← 2 
   TantQue(Nbr mod i ≠ 0 et i < Nbr) faire
     i ← i + 1
   FinTantQue
  
   Si (i = Nbr) alors 
      Ecrire(Nbr," est un nombre premier")
   SiNon    
      Ecrire(Nbr," n'est pas un nombre premier")
   FinSi 
Fin

Une façon simple de déterminer si un nombre est premier est de faire une boucle allant de 2 à n-1 et de vérifier si le nombre est divisible par n'importe quel nombre de cette plage. Si c'est le cas, il ne s'agit pas d'un nombre premier ; sinon, c'est le cas.

 
 
34. Ecrivez un algorithme qui permet de saisir 5 nombres dans un tableau. Comptez ensuite le nombre d'éléments pairs et impairs.

Exemple de sortie:

Entrer un nombre: 1
Entrer un nombre: 3
Entrer un nombre: 2
Entrer un nombre: 6
Entrer un nombre: 9

Total des éléments pairs: 2 
Total des éléments impaires: 3
Algorithme NbrPaireImpaire
Variables  myTab[10],i,pair,impair :entiers  
Début 
	  pair ← 0  
	  impair ← 0
	  
    Pour i de 1 à 5 faire
      Ecrire("Entrer un nombre:")
      Lire(myTab[i])     
    FinPour   

    Pour i de 1 à 5 faire
       Si(myTab[i] mod 2 = 0) alors  
          pair ← pair + 1
       SiNon    
          impair ← impair + 1
       FinSi	
    FinPour
  
    Ecrire("Total des éléments pairs:",pair)
    Ecrire("Total des éléments impaires:",impair)
Fin

L'algorithme ci-dessus invite l'utilisateur à saisir 5 nombres dans un tableau nommé myTab, puis affiche le total des éléments pairs et impaires.

Déclarez et initialisez deux variables avec zéro pour stocker les nombres pairs et impairs.
pair ← 0 et impair ← 0.

La première boucle POUR demande à l'utilisateur de saisir 5 éléments dans le tableau, et la boucle POUR s'exécute de 1 jusqu'à 5, invitant l'utilisateur à saisir chaque élément à l'aide de lire(), et stockant chaque entrée dans l'index correspondant du tableau myTab[i].

La deuxième boucle POUR parcourt le tableau myTab de 0 à 5. A l'intérieur de la boucle, incrémenter le nombre pair de 1 si l'élément courant du tableau est pair. Sinon, on incrémente le nombre impair.

Enfin, nous affichons le résultat à l'aide de Ecrire().

 
 
35. Ecrivez un algorithme qui demande d'entrer un tableau Tab de 10 nombres, et de placer les éléments pairs dans un tableau Tab1 et les éléments impairs dans un tableau Tab2. Affichez ensuite Tab1 et Tab2.

Exemple de sortie:

Tab : 1 5 2 4 9 3 3 6 8 7   
Tab1: 2 4 6 8     
Tab2: 1 5 9 3 3 7
Algorithme TabPairImpaire
Variables i,j,k:entiers
          Tab[10],Tab1[10],Tab2[10]:tableaux d'entiers 
Début 
  j ← 1  
  k ← 1
  Ecrire("Tab:")
  Pour i de 1 à 10 faire   
     Lire(Tab[i])
  FinPour  
    
  Pour i de 1 à 10 faire 
    Si(Tab[i] mod 2 = 0) alors  
        Tab1[j] ← Tab[i]  
        j ← j + 1
    SiNon   
        Tab2[k] ← Tab[i]   
        k ← k + 1
    FinSi
  FinPour

  Ecrire("Tab1:")
  Pour i de 1 à j faire   
      Ecrire(Tab1[i])
  FinPour  
  Ecrire("Tab2:")
  Pour i de 1 à k faire   
      Ecrire(Tab2[i]) 
  FinPour
Fin

La première instruction Ecrire demande à l'utilisateur d'entrer N nombre d'éléments dans le tableau Tab à l'aide d'une boucle POUR, et stocke chaque entrée dans l'index correspondant du tableau Tab[i].

La boucle POUR suivante itère ensuite sur chaque élément de Tab et sépare les éléments pairs et impairs dans deux tableaux différents Tab1 et Tab2, respectivement, à l'aide d'instructions Si-SiNon. Les variables j et k sont utilisées pour suivre les indices des éléments pairs et impairs dans les deux tableaux.

Enfin, les deux dernières instructions Ecrire (Ligne 24 et 28) affichent les éléments pairs et impairs trouvés, respectivement, en utilisant une boucle POUR pour itérer sur chaque élément des deux tableaux.

 
 
36. Écrire un algorithme qui lit un caractère et détermine si c'est une lettre ou non, dans le cas d'une lettre, il indique si c'est une minuscule ou une majuscule.

Exemple de sortie:

Donnez une lettre: a
C'est une lettre Minuscule

Donnez une lettre: A
C'est une lettre Majuscule

Donnez une lettre: 5
C'est pas une lettre!
Algorithme MinusculeMajuscule
Variables l: caractère
Début
  Ecrire("Donnez une lettre:")
  Lire(l)
  Si(l >= 65 et l <=90 ) alors
    Ecrire("C'est une lettre Majuscule")
  SiNon 
    Si(l >= 97 et l <= 122) alors
        Ecrire("C'est une lettre Minuscule")
    SiNon 
        Ecrire("C'est pas une lettre!")
    FinSi
  FinSi
Fin

Pour résoudre ce problème, il faut connaître la valeur ASCII d'un caractère. C'est la façon la plus simple de déterminer si un caractère est alphabétique ou non. Ce problème est résolu à l'aide des détails suivants:

  • Les lettres majuscules (A-Z) se situent dans la plage 65-91 de la valeur ASCII.
  • Les lettres minuscules (a-z) se situent dans la plage 97-122 de la valeur ASCII.
  • Toute valeur ASCII différente est un caractère non alphabétique.
 
 
37. Écrire un algorithme qui compte le nombre d'éléments dupliqués dans un tableau de nombres entiers saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre: 5   
Entrer un nombre: 1  
Entrer un nombre: 5  
Entrer un nombre: 6   
Entrer un nombre: 3  
Entrer un nombre: 5   
Entrer un nombre: 4   
Entrer un nombre: 7   
Entrer un nombre: 9   
Entrer un nombre: 5
Nombre total d'éléments dupliqués est: 4
Algorithme ElémentsDupliqués
Variables myTab[10],compteur,i,j: entiers
Début

 Pour i de 1 à 10 faire
   Ecrire("Enter un entier:")
   Lire(myTab[i])                
 FinPour

 compteur ← 0 
 Pour i de 1 à 10 faire         
   Pour j de i+1 à 10 faire
      Si(myTab[i] = myTab[j]) alors                    
           compteur ← compteur + 1 
      FinSi		   
   FinPour
 FinPour
 Ecrire("Nombre total d'éléments dupliqués est:",compteur)
Fin

L'algorithme ci-dessus invite l'utilisateur à saisir 10 nombres dans un tableau nommé myTab.

La première boucle POUR demande à l'utilisateur de saisir 10 éléments dans le tableau, et la boucle POUR s'exécute de 1 jusqu'à 10, invitant l'utilisateur à saisir chaque élément à l'aide de lire(), et stockant chaque entrée dans l'index correspondant du tableau myTab[i].

Initialiser la variable "compteur" avec 0 pour stocker le nombre de doublons.

Pour compter le nombre total d'éléments dupliqués dans un tableau donné, nous avons besoin de deux boucles. Exécutez une boucle extérieure de 0 à la taille(10). La structure de la boucle doit ressembler à Pour i de 1 à 10 faire. Cette boucle est utilisée pour sélectionner chaque élément du tableau et vérifier les éléments suivants pour les éléments en double en utilisant une autre boucle imbriquée.

Exécutez une autre boucle interne pour trouver le premier doublon de l'élément actuel du tableau. Exécutez une boucle interne de i + 1 à la taille(10), la structure de la boucle devrait ressembler à Pour j de i+1 à 10 faire. Pourquoi exécuter la boucle à partir de i + 1 ? Parce que nous devons rechercher les éléments en double dans les éléments suivants, à partir de l'élément actuel.

La boucle interne vérifie la présence d'un élément en double. Si c'est le cas, le compteur est incrémenté. C'est-à-dire Si(myTab[i] = myTab[j]) alors, compteur ← compteur + 1.

 
 
38. Écrire un algorithme qui prend deux entiers de l'utilisateur (un nombre de base et un exposant) et calcule la puissance.

Exemple: Dans le cas de 23

  • 2 est le nombre de base
  • 3 est l'exposant
  • Et la puissance est égale à 2*2*2

Exemple de sortie:

Entrer la base: 2
Entrer l'exposant: 3
2 ^ 3 = 8
Algorithme PuissanceNbr
Variables i,e: entiers  
          puissance,b :réel
Début    
 puissance ← 1
 Ecrire("Entrer la base:")   
 Lire(b)
 Ecrire("Entrer l'exposant:")   
 Lire(e)

 Pour i de 1 à e faire
   puissance ← puissance * b
 FinPour
 
 Ecrire(b," ^ ",e," = ",puissance)
Fin

Voici la logique descriptive étape par étape:

  • L'utilisateur entre la base et les exposants. Les stocker dans deux variables, b et e.
  • Déclarer et initialiser une autre variable pour stocker la puissance, puissance ← 1.
  • Exécutez une boucle de 1 à exposant, en incrémentant le compteur de la boucle de 1 à chaque itération. La structure de la boucle doit ressembler à Pour i de 1 à e faire.
  • Pour chaque itération à l'intérieur de la boucle, multipliez la puissance par la base, c'est-à-dire puissance ← puissance * b.
  • Enfin, à la fin de la boucle, il ne reste plus que la puissance dans la variable puissance.
 
 
39. Écrire un algorithme qui permet d'entrer 10 nombres entiers et de savoir si ces nombres entiers sont successifs ou non.

Exemple de sortie:

0 1 3 4 5 6 7 8 9 
Les nombres ne sont pas successives

11 12 13
Les nombres sont successives
Algorithme NbrSuccessive
Variables  myTab[10],i,check: entiers  
Début    
 check ← 0
 Ecrire("Entrer un nombre:") 
 Lire(myTab[1])

 Pour i de 2 à 10 faire
  Ecrire("Entrer un nombre:") 
  Lire(myTab[i])
   Si(myTab[i] < myTab[i-1])
         check ← 1
   FinSi
 FinPour
 Si(check = 0) alors
   Ecrire("Les nombres sont successives")
  SiNon
   Ecrire("Les nombres ne sont pas successives")
 FinSi
Fin
 
 
40. Ecrivez un algorithme qui demande l'âge et permet de renseigner sa catégorie sachant que les catégories sont les suivantes:
  • Gamin de 6 à 7 ans
  • Pupille de 8 à 9 ans
  • Jeune de 10 à 11 ans
  • Cadet après 12 ans

Exemple de sortie:

Entrer votre age : 6
Vous etes Gamin
Algorithme AgeCategorie
Variables age:réel
Début
   Ecrire("Entrer votre age:") 
   Lire(age)

   Si(age >= 5  et  age <= 7) alors
      Ecrire("Vous etes Gamin")
   FinSi
   Si(age >= 8  et  age <= 9) alors 
       Ecrire("Vous etes Pupille")
   FinSi
   Si(age >= 10  et  age <= 11) alors
       Ecrire("Vous etes Jeune")
   FinSi   
   Si(age >= 12) alors
       Ecrire("Vous etes Cadet") 
   FinSi
Fin
 

L’article 100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 2 est apparu en premier sur WayToLearnX.

100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 3

Par :Thomas
10 avril 2024 à 00:16

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30 et 30 à 40.

 

41. Un magasin offre à ses clients 25% de réduction sur les montants d’achat supérieurs à 500 €. Ecrivez un algorithme qui permet d’entrer le prix total hors TVA et de calculer le montant TTC en tenant compte de la remise et du fait que la TVA = 10%.

Exemple de sortie:

Entrer le montant HT: 900
Le montant TTC est: 742.5
Algorithme CalculerTTC
Variables TTC,HT: réels
Début
   Ecrire("Entrer le montant HT:")
   Lire(HT)
   
   TTC ← HT + HT * 0.1 
   
    Si(TTC > 500) alors
        TTC ← TTC - TTC * 0.25
        Ecrire("Le montant TTC est:",TTC)
      SiNon 
        Ecrire("Le montant TTC est:",TTC)
    FinSi
Fin
 
 
42. Ecrire un algorithme qui demande à l’utilisateur deux nombres n1 et n2 et lui indique ensuite si le produit de ces deux nombres est positif ou négatif. On prévoit dans le programme le cas où le produit peut être nul.

Exemple de sortie:

Entrer le 1er nombre:  -1.5
Entrer le 2éme nombre:  3
Le produit est négatif
-----------------------------
Entrer le 1er nombre:   1
Entrer le 2éme nombre:  3
Le produit est positif
-----------------------------
Entrer le 1er nombre:   0
Entrer le 2éme nombre:  3
Le produit est nul
Algorithme ProduitNbr
Variables n1,n2:réels
Début
  Ecrire("Entrer le 1er nombre:") 
  Lire(n1)
  Ecrire("Entrer le 2éme nombre:") 
  Lire(n2)
  
  Si(n1 == 0 ou n2 == 0) alors
      Ecrire("Le produit est nul")
  FinSi

  Si(n1*n2 < 0) alors
      Ecrire("Le produit est négatif")
  FinSi

  Si(n1*n2 > 0) alors  
      Ecrire("Le produit est positif")
  FinSi
Fin
 
 
43. Écrire un algorithme qui permette d’ajouter un commentaire sur le score saisi au clavier (si le score est supérieur à 10 alors il affiche « GOOD! » sinon « NOT GOOD! » (NB: le score est compris entre 0 et 20!).

Exemple de sortie:

Entrer le score: 15.5
GOOD!
------------------
Entrer le score: 5
NOT GOOD!
------------------
Entrer le score: -5
Score invalide!
Algorithme ValidateScore
Variables score :réel
Début
    Ecrire("Entrer le score: ")  
	Lire(score)

    Si(score < 0 ou score > 20) alors
      Ecrire("Score invalide!")
	FinSi
    Si(score >= 0 et score < 10) alors
      Ecrire("NOT GOOD!")
	FinSi
    Si(score >= 10 et score <= 20) alors
      Ecrire("GOOD!")
Fin
 
 
44. Le service de photocopie de votre université facture 0,50 € pour les 10 premières photocopies, 0,45 € pour les 20 suivantes et 0,30 € au-delà de 30 photocopies. Ecrivez un algorithme qui demande à l'utilisateur le nombre de photocopies réalisées et affiche la facture correspondante.

Exemple de sortie:

Entrez le nombre de papies: 25
Le prix total est: 11.25 €
Algorithme ServicePhotocopie
Variables N: entier
          prix: réel
Début
 Ecrire("Entrer le nombre de papies:")
 Lire(N)
   Si(N <= 20) alors 
     prix ← N * 0.50
   FinSi
   Si(N>20 et N<=30) alors 
      prix ← N * 0.45
   FinSi
   Si(N > 30) alors 
     prix ← N * 0.30
   FinSi
   
  Ecrire("Le prix total est: ",prix," €")   
Fin
 
 
45. Ecrivez un algorithme qui teste l'égalité de deux tableaux de nombres entiers (tailles 5). Le programme affiche TRUE si les éléments des deux tableaux correspondent, sinon il affiche FALSE.

Exemple de sortie:

1	2	3	4	5
1	2	3	4	5
TRUE

10	20	30	40	50
20	30	40	50	60
FALSE
Algorithme Comparer2Tableaux
Variables Tab1[5],Tab2[5],i,not_equal: entiers  
Début
  not_equal ← 0
  Pour i de 1 à 5 faire
    Lire(Tab1[i])
  FinPour
  Pour i de 1 à 5 faire
    Lire(Tab2[i])
  FinPour
  Pour i de 1 à 5 faire
    Si(Tab1[i] ≠ Tab2[i]) alors
       not_equal ← 1 
    FinSi
  FinPour

  Si(not_equal = 0) alors
     Ecrire("TRUE")
  SiNon
     Ecrire ("FALSE")
  FinSi 
Fin
 
 
46. Écrire un algorithme qui permet la saisie de 5 nombres et qui calcule la différence entre la somme des nombres pairs et la somme des nombres impairs.

Par exemple : 3 5 2 4 6 => (2+4+6) - (3+5) = 4

Exemple de sortie:

Entrer un nombre: 3
Entrer un nombre: 5
Entrer un nombre: 2
Entrer un nombre: 4
Entrer un nombre: 6
La différence égale à 4
Algorithme CalcDifférence
Variables myTab[5],i,sum: entiers  
Début 
   sum ← 0
   Pour i de 1 à 5 faire
      Ecrire("Entrer un nombre:") 
      Lire(myTab[i])
      Si(myTab[i] mod 2 = 0) alors
         sum ← sum + myTab[i]
      SiNon
         sum ← sum - myTab[i]
      FinSi
   FinPour

   Ecrire("La différence égale à ",sum)
Fin
 
 
47. Écrire un algorithme qui permet à l'utilisateur d'entrer une série de nombres se terminant par 0, et qui affiche à la fin le nombre d'occurrences du nombre 3.

Exemple de sortie:

2	8	3	1	3	3	6	3	0
3 existe 4 fois
Algorithme OccurenceNbr
Variables  i,Nbr:entiers  
Début  
   i ← 0
   Répéter 
     Lire(Nbr)
     Si(Nbr = 3) alors 
        i ← i + 1
     FinSi		   
  Jusqu❛à(Nbr = 0)
  
  Si(i ≠ 0) alors
     Ecrire(3," existe ",i," fois")
    SiNon    
     Ecrire(3," n'existe pas")
  FinSi    
Fin

L'algorithme ci-dessus, invite l'utilisateur à saisir des nombres entiers jusqu'à ce qu'il entre 0. Le code à l'intérieur de la boucle Répéter Jusqu'à sera exécuté au moins une fois avant de vérifier la condition de la boucle. La boucle se répète tant que l'utilisateur n'entre pas 0. On vérifie si le nombre saisi est égale à 3. Si c'est le cas on incrémente le compteur i. Après on vérifie Si(i ≠ 0) alors il existe un nombre d’occurrence du nombre spécifié sinon il n'existe pas.

 
 
48. Écrire un algorithme pour afficher les mois en lettres en fonction du nombre saisi par l'utilisateur.

Exemple de sortie:

Entrer le numéro du mois: 1
Janvier

Entrer le numéro du mois: 3
Mars

Entrer le numéro du mois: 12
Décembre
Algorithme MoisEnLettre
Variables N:entier
Début
 Ecrire("Entrer le numéro du mois:")
 Lire(N)
 Selon N faire
	1: Ecrire("Janvier")
	2: Ecrire("Février")
	3: Ecrire("Mars")
	4: Ecrire("Avril")
	5: Ecrire("Mai")
	6: Ecrire("Juin")
	7: Ecrire("Juille")
	8: Ecrire("Août")
	9: Ecrire("Septembre")
	10: Ecrire("Octobre")
	11: Ecrire("Novembre")
	12: Ecrire("Décembre")
 Sinon
    Ecrire("Aucun mois ne correspondant à N")
 FinSelon
Fin

L'instruction Selon est une instruction de contrôle de flux dans laquelle nous pouvons définir une variable changeante et exécuter ensuite un code différent en fonction de la valeur de la variable changeante. C'est une alternative à Si SiNon.

 
 
49. Écrire un algorithme qui calcule les nombres de Fibonacci jusqu'à 50.

Exemple de sortie:

Fibonacci jusqu'à 50: 1  1  2  3  5  8  13  21  34
Algorithme Fibonacci
Variables sum,f1,f2:entier
Début
   sum ← 0
   f1  ← 1
   f2  ← 1
   Pour i de 1 à 50 faire
      sum ← f1 + f2
      f2 ← f1
      f1 ← sum
      Ecrire(sum)
   FinPour
Fin

La série de Fibonacci est une suite de nombres où chaque nombre est la somme des deux nombres précédents.

 
 
50. Écrire un algorithme qui calculera une somme courante. L'utilisateur saisira des nombres qui seront ajoutés à la somme et, lorsqu'un nombre négatif sera rencontré, arrêtera d'ajouter des nombres et écrira le résultat final.

Exemple de sortie:

1 2 3 4 -1
La somme est 10
Algorithme SommeNbr
Variables  Nbr,sum:entiers  
Début  
   sum ← 0
   Répéter 
     Lire(Nbr)
     sum ← Nbr + sum      
  Jusqu'à(Nbr >= 0)
  
  Ecrire("La somme est ",sum)   
Fin
 

L’article 100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 3 est apparu en premier sur WayToLearnX.

100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 4

Par :Thomas
10 avril 2024 à 11:17

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 30 à 40 et 40 à 50.

 

51. Écrire un algorithme qui convertit une température en degrés Celsius en degrés Fahrenheit. Utilisez les variables « celsius », « fahrenheit » et la formule de conversion pour effectuer le calcul.

Formule: Fahrenheit (°F) = (Température en degrés Celsius (°C) * 9/5) + 32

Exemple de sortie:

Entrez la température en degrés Celsius: 45
La température en Fahrenheit est: 113
Algorithme CelsiusToFahrenheit
Variables fahrenheit,celsius: entiers  
Début 
  fahrenheit ← 0
  Ecrire("Entrez la température en degrés Celsius:")
  Lire(celsius)
  fahrenheit ← (celsius * (9 div 5)) + 32
  Ecrire("La température en Fahrenheit est:",fahrenheit)
Fin
 
 
52. Écrire un algorithme qui permute ou échange deux nombres saisis par l’utilisateur, mais avec seulement deux variables N1 et N2 sans utiliser une variable temporaire.

Exemple de sortie:

Entrer le nombre N1 : 10
Entrer le nombre N2 : 5
------permutation------
N1 = 5
N2 = 10
Algorithme Permuter2Nbr
Variables  N1,N2 :entiers
Début  
  Ecrire("Entrer le nombre N1:") 
  Lire(N1)
  Ecrire("Entrer le nombre N2:") 
  Lire(N2)
 
  N1 ← N1 + N2
  N2 ← N1 - N2 
  N1 ← N1 - N2 
  
  Ecrire("N1 = ",N1)
  Ecrire("N2 = ",N2)
Fin
 
 
53. Écrire un algorithme qui permute et affiche les valeurs des trois nombres (N1, N2 et N3) saisis par l’utilisateur, en ordre croissant c’est-à-dire (N1 < N2 < N3).

Exemple de sortie:

Entrer le nombre N1 : 10
Entrer le nombre N2 : 1
Entrer le nombre N3 : 5
------permutation------
N1 = 1
N2 = 5
N3 = 10
Algorithme Echange3Nbr
Variables  N1,N2,N3,tmp: Entiers
Début
 Ecrire("Entrer le nombre N1 :") 
 Lire(N1)
 Ecrire("Entrer le nombre N2 :") 
 Lire(N2)
 Ecrire("Entrer le nombre N3 :") 
 Lire(N3)
 
 Si(N1 > N2) alors
  tmp ← N1  
  N1 ← N2    
  N2 ← tmp 
 FinSi
 
 Si(N1 > N3) alors 
  tmp ← N1    
  N1 ← N3   
  N3 ← tmp
 FinSi	
 
 Si(N2 > N3) alors 
  tmp ← N2   
  N2 ← N3   
  N3 ← tmp 
 FinSi	
 
 Ecrire("N1 =",N1)
 Ecrire("N2 =",N2)
 Ecrire("N3 =",N3)
 
Fin
 
 
54. Écrire un algorithme qui place les zéro vers la fin du tableau, en maintenant l’ordre des éléments.

Exemple de sortie:

Entrée: 8 0 6 0 1 6 0 0 2 3
Sortie: 8 6 1 6 2 3 0 0 0 0
Algorithme ZéroALaFin
Variables  i,j,T[10],tmp: Entiers
Début
 
 Pour i de 1 jusqu’à 10 faire
  Lire(T[i])
 FinPour
 
 Pour i de 1 jusqu’à 10 faire
  Ecrire(T[i])
 FinPour
   
 Pour i de 1 jusqu’à 9 faire
  Si(T[i] = 0) alors
       j ← i + 1;
       TantQue(T[j]=0 et j<9) faire
          j ← j + 1	   
       FinTantQue
       tmp ← T[i] 
       T[i]← T[j] 
       T[j]← tmp 
  FinSi
 FinPour
 
 Pour i de 1 jusqu’à 10 faire
    Ecrire(T[i])
 FinPour
Fin
 
 
55. Écrire une procédure qui affiche si le nombre passé en paramètre est pair ou impair.

Exemple de sortie:

3 est impair.
2 est pair.
Procédure checkNbr(N:entier)
Début
    Si(N mod 2 = 0) alors
       Ecrire(N," est impair.")
    Sinon
       Ecrire(N," est pair.")
    FinSi
FinProcédure

Quelle est la différence entre procédure et fonction? Une procédure est une routine qui peut accepter des arguments mais ne retourne aucune valeur. Une fonction est une routine qui peut accepter des arguments et retourne une ou plusieurs valeurs.

 
 
56. Écrire une fonction qui retourne le nombre de caractères dans une chaîne de caractères passée en paramètre.

Exemple de sortie:

Entrez une chaîne de caractères: Hello
Le nombre de caractères est: 5
Fonction strSize(str[]: tableau de caractères): entier
Variables size: entier
  size ← 0              
  Tant que(str[size] ≠ '\0') faire
    size ← size + 1                 
  FinTantque                              
  retourner size
FinFonction
 
 
57. Écrire une procédure qui initialise un tableau. Cette procédure prend un tableau d'entier, sa taille et la valeur à insérer.
Procédure initialiser(T[]: tableau d❛entier, taille:entier, val:entier)
  Variables i :entier; 
  Début 
    Pour i de 1 jusqu❛à taille faire 
      T[i] = val 
    finPour 
  fin 
finProcédure
 
 
58. Écrire une fonction qui permet de calculer la valeur absolue d’un nombre donné.
Fonction nbrAbsolue(N : réel): réel
Début
 Si(N > 0) alors
    retourner N
 Sinon 
    retourner -N
FinFonction 
 
 
59. Écrire une fonction qui trouve le nombre de fois un caractère se trouve dans une chaîne de caractères. La fonction prend en paramètre le caractère à trouver et la chaîne de caractères.
Fonction countChar(string[]:tableau de caractères, c:caractère): entier
Début
  Variables nbrChar,i:entiers
  nbrChar ← 0       
  i ← 0
  Tantque (string[i] ≠ '\0') faire
    Si (string[i] = c)   
      nbrChar ← nbrChar + 1
      i ← i + 1
    FinSi
  FinTantque
  retourner nbrChar
Fin
 
 
60. Écrire une procédure qui permet d'afficher la table de multiplication d’un nombre N.
Procedure getMultiplication(N: entier)
Variables i: entier
Début
  Pour i de 1 à 10 faire
    Ecrire(N," x ",i," = ",N*i)
  FinPour
Fin
 

L’article 100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 4 est apparu en premier sur WayToLearnX.

100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 5

Par :Thomas
10 avril 2024 à 18:18

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.

 
 

Veuillez voir les exercices de 1 à 30, 30 à 40, 40 à 50 et 50 à 60.

 

61. Écrire une fonction qui permet de calculer le PGCD(Plus Grand Commun Diviseur) de deux nombres.
Fonction calculerPGCD(n1,n2:entier):entier
Début
   Tantque(n1 * n2 ≠ 0) Faire
     Si(n1 > n2) Alors
        n1 ← n1 - n2
     Sinon
        n2 ← n2 - n1
     FinSi
   FinTantque
   
   Si(n1 = 0) alors
     retourner n2
   Sinon
     retourner n1
   FinSi
Fin 
 
 
62. Ecrire une procédure qui prend deux nombres, calcule la somme et la multiplication de ces deux nombres et affiche si le résultat est négatifs ou positifs.
Procédure testSigne(n1,n2: réel)
Variables sum, mult: réels
Début
  Lire(n1, n2)
  sum ← n1 + n2
  mult ← n1 * n2
  Si(sum ≥ 0) Alors
    Ecrire("Somme positive")
  Sinon
    Ecrire("Somme négative")
  FinSi
  Si(mult ≥ 0) Alors
    Ecrire("Multiplication positif")
  Sinon
    Ecrire("Multiplication négatif")
  FinSi
FinProcédure 
 
 
63. Écrire une procédure qui permet d’afficher si un nombre est premier ou non.
Procédure nbrPremier(N:entier)
Variables flag:booleen 
		  compteur:entier
Début
  flag ← Vrai
  compteur ← 2
  Tantque(compteur ≤ N/2 et flag = Vrai) Faire
    Si(N mod compteur = 0) Alors
      flag ← Faux
    Sinon
      compteur ← compteur + 1
    FinSi
  FinTantque
  Si(flag = Vrai) Alors
    Ecrire(N, " est premier")
  Sinon
    Ecrire(N, " n'est pas premier")
  FinSi
Fin
 
 
64. Écrire une fonction récursive qui calcule le factorielle d’un nombre passé en paramétre.
Fonction fact(N: entier):entier 
Début
    Si (N=0 ou N=1) alors
       retourner 1
    Sinon   
	   retourner fact(n-1) * n
    FinSi 
Fin
 
 
65. Écrire une procédure qui prend deux nombre N1 et N2 et affiche toutes les valeurs paires entre N1 et N2 si N1 < N2.
Procédure NbrPaires(N1,N2:entiers)
Début
  Si(N1 >= N2) Alors
      Ecrire("Erreur: N1 doit étre inférieur à N2!")
  Sinon
    Tantque(N1 < N2) Faire
       Si(N1 mod 2 = 0) Alors
          Ecrire(N1)
       FinSi
          N1 ← N1 + 1
    FinTantque
  FinSi
Fin 
 
 
66. Écrire une fonction récursive qui calcule la série de Fibonacci d'un nombre passé en paramétre.


Fonction Fibonacci(N: entier): entier 
 Début 
     Si(N=0 ou N=1) alors 
        Retourner 1
     Sinon
        Retourner Fibonacci(N-2) + Fibonacci(N-1)
    FinSi 
FinFonction
 
 
67. Écrire une fonction récursive qui affiche les entiers de N1 à N2. Où N1 et N2 sont passés en paramètres.
Procédure nbrCompris(N1:entier, N2:entier) 
Début 
  Ecrire(N1)
  Si(N1 < N2) alors 
    N1 ← N1 + 1       
    nbrCompris(N1,N2)
  FinSi 
FinProcédure
 
 
68. Écrire une fonction récursive qui affiche les entiers de 0 à 20. Cette fonction reçoit un seul paramètre.
Procédure afficherNbrs(n: entier) 
Début 
   Ecrire(20 - n)
   Si (n > 0) alors 
      n ← n + 1     
      afficherNbrs(n)
   FinSi 
FinProcédure
 
 
69. Écrire une fonction récursive qui calculer b puissance e.

Exemple: Dans le cas de 23

  • 2 est le nombre de base
  • 3 est l'exposant
  • Et la puissance est égale à 2*2*2
Fonction pow(b:réel, n:entier): réel
Début 
    Si(e = 0) alors    
	   retourner 1
    Sinon
	   retourner pow(b, e-1) * b
    FinSi
FinFonction
 
 
70. Écrire une fonction récursive qui prend N et calcule la somme suivante 1+2+3+...+N.
Fonction sum(N: entier): entier 
Début
   Si(N=0) alors
      retourner 0
   Sinon 
      retourner sum(N-1) + N
   FinSi
FinFonction
 
 
71. Écrire une fonction récursive qui permet de calculer le PGCD(Plus Grand Commun Diviseur) de deux nombres.
Fonction PGCD(n1:entier,n2:entier): entier 
Début               
    Si(n2 = 0) alors 
       retourner n1 
    FinSi 
    retourner PGCD(n2, n1 mod n2)
FinFonction
 
 
72. Écrire une procédure qui lit un tableau d'entiers dont la dernière valeur = -1 et affiche le nombre d’entiers pairs et leur pourcentage par rapport au nombre d’entiers donnés.
Procédure NombresPairs
Variables i,count,NbrPairs: entiers
          p : reel
Début
    count ← 0
    NbrPairs ← 0
    Répéter
       Lire(i)
       count ← count + 1
       Si (i mod 2 = 0) alors
          NbrPairs ← NbrPairs + 1
       FinSi
    Jusqu’à(i = -1)
    p ← NbrPairs * 100/count
    Ecrire("Nbr de valeurs paires =",NbrPairs,"| pourcentage =",p)
Fin 
 
 
73. Écrire une fonction qui calcule le prix TTC, cette fonction reçoit deux paramètres "prixHT" et "tva".
Fonction calculerTTC(ht,tva:réel): réel
Variables ttc:réel
Début
    ttc ← ht * (1 + tva / 100)
    retourner ttc
FinFonction
 
 
74. Écrire une fonction récursive qui affiche les éléments d'une matrice donnée.
Procédure echoMatrice(matrice[2][3]:tableau d'entiers,ligne,col:entier)
Début 
    Si(ligne < 2) alors
        Si(col < 3) alors 
            Ecrire(matrice[ligne][col])
            echoMatrice(matrice,ligne,col+1)
        Sinon 
            echoMatrice(matrice,ligne+1,0)
        FinSi 
    FinSi 
FinProcédure
 
Les exercices corrigés ci-dessus sont actuellement disponibles, nous travaillons dur pour ajouter plus d'exercices. Bon apprentissage!

 

L’article 100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 5 est apparu en premier sur WayToLearnX.

Exercices Corrigés Dépendances fonctionnelles(Forme Normale) – Partie 1

Par :Thomas
31 mars 2024 à 05:17

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les dépendances fonctionnelles et normalisation des bases de données. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les Dépendances fonctionnelles et Normalisation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les dépendances fonctionnelles et normalisation des bases de données avant de résoudre les exercices suivants.

 
 

1. Lors de la conception de bases de données relationnelles, on souhaite toujours que les tables finales soient en BCNF et on peut toujours décomposer n’importe quelle conception en une conception BCNF.

A VRAI

B FAUX

B
Bien qu’un schéma puisse toujours être décomposé par projection en relations BCNF, il n’est pas toujours utile de le faire.

 

2. Un ensemble d’entités faibles dans un diagramme ER représente une collection d’entités pour lesquelles nous n’avons pas encore découvert de clé. Plus tard dans la phase de conception, lorsque nous aurons appris davantage sur le domaine, cet ensemble sera converti en un ensemble d’entités fortes en ajoutant les attributs appropriés.

A VRAI

B FAUX

B
Les entités faibles n’ont pas de clé. Elles dépendent d’autres entités.

 

3. Une relation peut avoir un certain nombre de clés candidates, mais n’a qu’une seule clé primaire.

A VRAI

B FAUX

A

 

4. Si chaque attribut d’une table dépend fonctionnellement de la clé primaire, la table est en 3NF.

A VRAI

B FAUX

B
Dans toute table, chaque attribut dépend fonctionnellement de la clé.

 

5. Chaque table avec 2 attributs uniques est en 1NF, 2NF, 3NF et BCNF.

A VRAI

B FAUX

A

 

 
 
6. Une table est dans la deuxième forme normale (2NF) si chaque attribut est déterminé par chaque clé candidate, mais n’est pas déterminé par un sous-ensemble pur d’une clé candidate.

A VRAI

B FAUX

A

 

7. Si r(A, C) et s(A, D) sont des relations quelconques avec les attributs donnés, les expressions d’algèbre relationnelle suivantes sont équivalentes

A VRAI

B FAUX

A
L’expression d’algèbre relationnelle ci-dessus représente une jointure.

 

8. Considérons le diagramme ER suivant:

Où A, B et C sont des entités.

Précisez la ou les conditions nécessaires pour représenter les trois entités à l’aide d’une seul table.

B et C doivent avoir les mêmes attributs.

 

9. Considérons le schéma R = (A, B, C, D, E) ainsi que les dépendances fonctionnelles :
A -> C
A, B -> D
C, D -> E

Supposons que nous décomposions R en

R1 = (A, B, C, D) et
R2 = (A, D, E)

Prouver que cette décomposition est une décomposition sans perte d’information.

L’ensemble des attributs communs à R1 et R2 (A, D) est une clé pour R2. Preuve:
1. A -> C           donné
2. A, D -> C, D     augmentation (1)
3. A, D -> E        C, D -> E, transitivité (2)

 

10. Supposons que nous définissions une base de données sur les clients d’une banque et les prêts qu’ils ont reçus de la banque. Pour chaque client, nous devons enregistrer des informations sur son nom, son adresse, son numéro de téléphone et l’entreprise pour laquelle il travaille. Pour chaque prêt, nous devons enregistrer le montant, le taux d’intérêt, la date de délivrance du prêt et la date à laquelle le prêt doit être remboursé.

10.1 Est-il préférable de représenter l’entreprise pour laquelle un client travaille comme un attribut du client ou comme une relation ? Justifiez brièvement votre réponse.

L’entreprise doit être un attribut du client, en supposant que chaque client travaille pour une seule entreprise. Il n’est pas nécessaire de stocker des informations pour chaque entreprise.

 

10.2 Quelle est la meilleure façon de représenter la relation entre le client et ses prêts ?

  • en définissant le prêt comme un attribut du client, ou
  • en définissant le prêt comme un ensemble d’entités distinct et en définissant un ensemble de relations entre lui et le client ?

Justifiez brièvement votre réponse.

Le prêt doit être une entité distincte associée au client par le biais d’une relation. Voici les raisons:
  • – Un client peut avoir plusieurs prêts.
  • – Un prêt contient des informations supplémentaires.

 

 

L’article Exercices Corrigés Dépendances fonctionnelles(Forme Normale) – Partie 1 est apparu en premier sur WayToLearnX.

❌
❌