Quelques raccourcis :
Ceci est un petit site de support pour le cours 420-201-RE – Introduction à la programmation.
Vous trouverez aussi des liens sur divers langages (dont C#, notre outil de prédilection dans ce cours) un peu partout dans http://h-deb.clg.qc.ca/. Portez une attention particulière à ../../../Sujets/Divers--cdiese/index.html.
Les diverses sections de cette page (en fonction desquelles vous trouverez quelques liens dans l'encadré à droite) vous mèneront elles-aussi sur des pistes qui vous permettront d'explorer un peu plus par vous-mêmes, de valider vos acquis et d'enrichir votre apprentissage.
Cliquez sur cette cible pour le plan de cours, sous forme électronique |
Je corrige les programmes en appliquant des codes de correction. Vous trouverez ici la liste des codes les plus fréquents. |
|
Ma stratégie de correction en tant que telle (pour le code, à tout le moins) est résumée ici. |
|
Cliquez sur cette cible pour un résumé des principales règles de programmatique en vigueur dans ce cours. |
|
Cliquez sur cette cible pour les normes appliquées dans ce cours, en ce qui a trait au pseudocode |
Note sur l'organisation des séances :
Date | Séance | Détails |
---|---|---|
23 août |
Au menu :
|
|
26 août |
Au menu :
Exercices en classe :
À faire pour ce soir (ou tôt demain matin) :
À faire pour S02 :
|
|
30 août |
Au menu :
À remettre :
Nous avons fait un petit exemple d'utilisation du type string et d'affichage, avec formatage « de base », avec formatage positionnel comme avec formatage par interpolation. Les trois sont des manières distinctes d'avoir le même effet. Pour l'affichage « de base », le code suit :
Pour l'affichage avec formatage positionnel, le code suit :
Pour l'affichage avec formatage par interpolation, le code suit :
|
|
2 sept. |
Au menu :
À faire pour S04 :
|
|
6 sept. |
Au menu :
À remettre :
|
|
9 sept. |
Au menu : le prof doit s'absenter pour raisons personnelles...
À faire :
|
|
13 sept. |
Je serai absent cette semaine car je donne des conférences à CppCon. Vous pourrez suivre mes aventures sur : ../../../Sujets/Orthogonal/cppcon2022.html Toutefois, je serai remplacé :
Cette séance portera sur :
|
|
16 sept. |
Je serai absent cette semaine car je donne des conférences à CppCon. Vous pourrez suivre mes aventures sur : ../../../Sujets/Orthogonal/cppcon2022.html Toutefois, je serai remplacé :
Cette séance portera sur :
|
|
20 sept. |
Au menu :
J'ai appris pendant la séance du groupe 6 que Maxime avait présenté sommairement les fonctions la semaine dernière... Avoir su! Je ne sais pas si c'était le cas aussi pour le groupe 5, alors désolé si j'ai répété des trucs déjà vus (si c'est le cas, c'était à mon insu... Ça rime!) Pour cette raison, avec le groupe 6, j'ai commencé le module 05 qui porte sur les opérateurs relationnels et les alternatives.
|
|
23 sept. |
s/o |
Journée institutionnelle (cours suspendus) |
27 sept. |
Votre chic prof a un empêchement et doit lever les cours aujourd'hui... Désolé! |
|
30 sept. |
Au menu :
À faire :
|
|
4 oct. |
Au menu :
À remettre :
À faire :
|
|
7 oct. |
Au menu :
À faire :
|
|
11 oct. |
Au menu :
À remettre :
|
|
14 oct. |
Au menu :
Attention : la matière au menu aujourd'hui n'est pas à l'examen de la semaine prochaine! |
|
18 oct. |
Au menu : Pour le groupe 05 :
Pour le groupe 06 :
|
|
21 oct. |
Au menu : Pour le groupe 05 :
Pour le groupe 06 : Présentation du laboratoire 06 : introduction aux répétitives (pseudocode, code C#) |
|
25 oct. |
Au menu :
À remettre :
|
|
28 oct. |
Au menu :
|
|
1 nov. |
Au menu :
Pour vous éviter d'avoir à le recopier manuellement, le code de démarrage du programme principal imposé pour le laboratoire 08 est :
À remettre :
|
|
4 nov. |
s/o |
Journée de mise à niveau (cours suspendus) |
8 nov. |
Au menu :
À remettre :
À faire :
|
|
11 nov. |
Au menu :
À faire :
J'ai fait avec vous un petit exemple amusant avec un héros et un monstre sur une surface rectangulaire. Le code allait comme suit (note : c'est la version d'un des deux groupes, mais les deux sont semblables) :
|
|
15 nov. |
Au menu :
Exceptionnellement, je vous donnerai jusqu'à S23 pour remettre laboratoire 09. La raison est que la correction du laboratoire 07 a montré qu'on glissait un peu vers la négligence sur plusieurs aspects de notre pratique :
... alors je veux vous donner l'occasion de vous assurer de remettre un laboratoire 09 de qualité. Notez toutefois que le laboratoire 10 demande un peu plus de travail qu'à l'habitude alors ne prenez pas de retard! Note : selon toute probabilité, nous aborderons la PFI dès S24... La fin approche! |
|
18 nov. |
Au menu : |
|
22 nov. |
Au menu :
Pour un exécutable de démonstration de la PFI, allez chercher Paysagiste-Solution.zip puis dézippez le tout dans un dossier avant d'exécuter le .exe qui s'y trouve |
|
25 nov. |
Au menu :
|
|
29 nov. |
s/o |
Journée d'examen de français, formation générale (cours suspendus) |
2 déc. |
Au menu :
|
|
6 déc. |
Au menu :
|
|
9 déc. |
Au menu :
|
|
13 déc. |
Au menu :
À remettre :
|
Vous trouverez ici quelques documents, la plupart petits, qui peuvent vous donner un petit coup de pouce occasionnel.
Comment accéder à du code .NET à partir d'un client C++ natif. |
Vous trouverez aussi des exemples de code C# dans la section Divers – C# du site, mais notez que je n'ai pas nécessairement harmonisé ces exemples (écrits pour des cours plus avancés, sous forme de survols) aux standards de programmation appliqués dans le présent cours. À lire avec prudence et discrimination, donc.
Quelques solutionnaires suivent. Référez-vous aux règles programmatiques pour plus de détails sur les normes de programmation appliquées dans ce cours.
Travail | |
---|---|
À venir |
|
À venir |
|
À venir |
Énoncé : écrivez le pseudocode de l'algorithme qui lit une valeur en degrés Fahrenheit, calcule la valeur équivalente exprimée en degrés Celsius, puis affiche cette dernière.
Intrant(s) :
Extrant(s) :
tempCelsius (température exprimée en °C)
Autres informations pertinentes :
SEUIL_GEL_EAU ← 32
Lire tempFahrenheit
tempCelsius ← (tempFahrenheit - SEUIL_GEL_EAU) * 5 / 9
Écrire tempCelsius
Code C# :
using System;
const int SEUIL_GEL_EAU = 32;
float tempFahrenheit,
tempCelsius;
tempFahrenheit = float.Parse(Console.ReadLine());
tempCelsius = (tempFahrenheit - SEUIL_GEL_EAU) * 5 / 9;
Console.WriteLine(tempCelsius);
Jeu d'essai :
tempFahrenheit |
tempCelsius |
32 |
0 |
41 |
5 |
23 |
-5 |
-40 |
-40 |
Énoncé : écrivez le pseudocode de l'algorithme qui lit deux entiers nb0 et nb1, permute leurs valeurs, puis affiche les valeurs permutées
Pseudocode (une variable temporaire) :
Lire nb0
Lire nb1
temp ← nb0
nb0 ← nb1
nb1 ← temp
Écrire nb0
Écrire nb1
Pseudocode (sans variable temporaire; attention, solution limitée aux variables numériques) :
Lire nb0
Lire nb1
nb0 ← nb0 + nb1
nb1 ← nb0 - nb1
nb0 ← nb0 - nb1
Écrire nb0
Écrire nb1
Énoncé : écrire une fonction prenant en paramètre les coordonnées de deux points et sur le plan cartésien, et retournant la distance entre ces deux points, de même qu'un petit programme testant cette fonction .
Code C# :
using System;
Console.WriteLine("distance entre (0,0) et (0,1) : {0}",
CalculerDistance(0, 0, 0, 1)); // 1
Console.WriteLine("distance entre (1,0) et (3,0) : {0}",
CalculerDistance(1, 0, 3, 0)); // 2
Console.WriteLine("distance entre (0,0) et (1,1) : {0}",
CalculerDistance(0,0,1,1)); // 1,41...
static double CalculerDistance(float x0, float y0, float x1, float y1)
{
double distance;
distance = Math.Sqrt(Math.Pow(x0 - x1, 2) +
Math.Pow(y0 - y1, 2));
return distance;
}
Énoncé : écrire une fonction calculant la pente d'une droite non-verticale étant donné l'ordonnée à l'origine et un point par lequel passe cette droite, de même qu'un petit programme testant cette fonction.
Code C# :
using System;
Console.WriteLine(CalculerPente(2, 2, 0)); // -1
static double CalculerPente(float b, float x, float y)
{
double pente;
pente = (y - b) / x;
return pente;
}
Énoncé : écrire une fonction prenant en paramètre un poids exprimé en kilogrammes et retournant la valeur équivalente, mais exprimée en livres, de même qu'un petit programme testant cette fonction.
Code C# :
using System;
float poidsKg;
Console.Write("Votre poids en Kg? ");
poidsKg = float.Parse(Console.ReadLine());
Console.WriteLine($"Cela équivaut à {ConvertirKgLbs(poidsKg)} lbs");
static float ConvertirKgLbs(float poidsKg)
{
const float FACTEUR_CONVERSION = 2.2f;
float poidsLbs;
poidsLbs = poidsKg * FACTEUR_CONVERSION;
return poidsLbs;
}