Bases de l’informatique - Exercices
- ✏️ : à faire sur papier
- 💻: à implémenter et tester sur ordinateur
Introduction
Hello world 💻
Écrire un programme qui affiche “Bonjour”.
Deviner ce que fait ce programme ✏️
- Qu’affiche le programme suivant ?
- Que fait chaque ligne de ce programme ?
public class Student {
// Attributs
private String firstName;
private String lastName;
// Constructeur
public Student(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getName() {
return this.lastName;
}
// Méthode
public void displayInfo() {
System.out.println("Student : "+ firstName + " " + lastName);
}
}
int year = 2025;
Student student1 = new Student("Jane", "Doe");
Student student2 = new Student("Jane", "Dee");
boolean x = student1.getName().equals(student2.getName());
System.out.println("Same Name");
if (x == true) {
System.out.println("yes");
}
else {
System.out.println("No");
}
Complexité
Calcul de complexité ✏️
Quelle est la complexité en temps (en utilisant la notation Big O) d’un programme qui fait pour une taille d’input N.
- \(N\) opérations ?
- \(310*N + 52\) opérations ?
- \(10 * N^2 + 50000*N + 52\) opérations ?
- \(35536\) opérations ?
Boucles
Boucles et affichage 💻
- Écrire un programme qui affiche N fois le caractère ’*’
- Écrire un programme qui affiche un rectangle \(N*M\) de caractère ’*’
*********************
*********************
*********************
*********************
- Écrire un programme qui affiche un rectangle vide:
**********************
* *
* *
**********************
- Écrire un programme qui crée un tableau contenant une liste de chaine de caractère, et les affiche avec un message de “bienvenue”.
input: Pierre, Paul, Marie
affichage:
"Bienvenue Pierre"
"Bienvenue Paul"
"Bienvenue Marie"
Addition et Multiplication 💻
Écrire un programme qui permet d’afficher les tables d’addition et de multiplication.
Exemple:
1 * 7 = 7
2 * 7 = 14
3 * 7 = 21
4 * 7 = 28
5 * 7 = 35
6 * 7 = 42
7 * 7 = 49
8 * 7 = 56
9 * 7 = 63
10 * 7 = 70
...
1 * 9 = 9
2 * 9 = 18
3 * 9 = 27
4 * 9 = 36
5 * 9 = 45
6 * 9 = 54
7 * 9 = 63
8 * 9 = 72
9 * 9 = 81
10 * 9 = 90
Tous les nombres de 0 à N 💻
Écrire un programme qui affiche tous les nombres de 0 à N.
Écrire un programme qui affiche tous les nombres de N à 0.
Écrire un programme qui affiche tous les nombres de 0 à N sous la forme d’une pyramide:
Écrire un programme qui affiche tous les nombres pair de 0 à N.
Écrire un programme qui affiche tous les nombres impair de 0 à N.
Tous les caractères 💻
- Écrire un programme qui affiche tous les caractères utf-8 (il y en a 65536).
Résultat
123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌō ŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻ ƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩ ȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗ ʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭ˮ˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̀́̂̃̄ͰͱͲͳʹ͵ Ͷͷͺͻͼͽ;Ϳ΄΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟϠϡϢϣ ϤϥϦϧ....
La racine carré entière (v1) ✏️ 💻
- Écrire un programme qui prend en entrée un nombre naturel positif et renvoi la racine carrée entière.
Par exemple, si l’entrée est 81, retourner 9. Si l’entrée est 500 retourner 22 (\(22^2=484 < 500\) et \(23^2=529 > 500\)).
Quel est la complexité en temps de votre algorithme (en fonction de la valeur N du nombre entrée) ? Estimer à partir de cette valeur une durée approximative pour le calcul de la racine carrée entière du nombre 1495998072100 ?
Vérifier votre estimation en testant votre programme.
Tableaux
Problème de la somme ✏️ 💻
Dans ce problème on considère un tableau d’entier de taille N, et on souhaite chercher s’il existe dans ce tableau k nombres tel que leur somme soit égale à une valeur t si oui renvoyer les indices de ces nombres.
Par exemple pour k = 2, tableau = [38, 1, 22, 14, 78, 3], t = 15, résultat = [1, 3] Par exemple pour k = 3, tableau = [38, 1, 22, 14, 78, 3], t = 42, résultat = [0, 1, 5]
- Écrire un algorithme qui résout le problème de la somme dans le cas k=2. Quelle est la complexité de votre algorithme.
- Écrire un algorithme qui résout le problème de la somme dans le cas k=3. Quelle est la complexité de votre algorithme.
Palindrome ✏️ 💻
- Écriver un programme qui prend une chaine de caractère et renvoie vrai s’il s’agit d’un palindrome (un palindrome est un mot dont l’ordre des lettres reste le même qu’on les lise de gauche à droite ou de droite à gauche: “abba”, “stats”, “sos”, “radar” sont des palindromes).
Le plus grand nombre dans un tableau (v1) ✏️ 💻
- Écrire un programme qui prend en entrée un tableau d’entier et renvoie l’indice du plus grand nombre dans ce tableau.
- Tester votre programme avec cette entrée:
int[] example = {0, 18, -2, 3, 89, 89, 30}; - Quelle est la complexité en temps de votre algorithme ?