Informatika gyűjtemény

Egy szinttel feljebb 11. óra - Időkezelés

2004050607080910

NézetNyomtat

Házi feladat

A múlt órai házitokat küldjétek el a címemre: feherga@gmail.com ! Ha nem működik, akkor azért, ha működik, akkor azért. :)

Válassz egy feladatot!

Ébresztőóra
Alakítsd át (vagy írd újra) a szakkörön készített óra-programot úgy, hogy mielőtt elindul az óra, bekér három számot: óra, perc, másodperc. Az óra csak eddig az időpontig járjon, majd sípoljon hármat és lépjen ki.
Éjfél óta eltelt másodpercek
Alakítsd át (vagy írd újra) a szakkörön készített óra-programot úgy, hogy a pontos idő mellett az éjfél óta eltelt másodperceket is írja ki.
Óra képernyővédő
Alakítsd át (vagy írd újra) a szakkörön készített óra-programot úgy, hogy az óra helyzete másodpercenként megváltozzon. Például lépjen mindig egy karaktert jobbra, vagy jelenjen meg véletlenszerű új helyen!
A születésnapod (bekért dátum) óta eltelt másodpercek
Készíts programot, ami bekér egy dátumot, majd kiszámolja az azóta eltelt napokat. Így például megtudhatod hány napot éltél. (Könnyített feladat: a program ne vegye figyelembe a szökőéveket, és 30 napos hónapokkal számoljon. Így például megbecsülheted, hogy nagyjából hány napot élté.)

Emlékeztetők, GYIK

Ébresztőóra
Így lehet számot bekérni a billentyűzetről:
int i;
= int.Parse( Console.ReadLine() );
Így működik a while-ciklus. Ez egy végtelen ciklus:
while (true) {
    //az ide írt parancsok újra meg újra lefutnak,
    //amíg be nem csukod a program ablakát
}
De a true helyére lehet feltételt is írni, ugyanúgy, mint if-be:
while (feltétel) {
    //amíg a feltétel teljesül
    //az ide írt parancsok újból és újból lefutnak
}
Például:
int a;
= 0;
while (< 5) {
    a = a + 1;
    Console.WriteLine(a);
}
Csak persze az óra esetén a ciklus belsejébe az idő lekérdezését és kiírását kell rakni, a fejébe pedig azt, a feltételt, hogy nem értük még el a kijelölt időpontot.
Éjfél óta eltelt másodpercek
Óra képernyővédő
A születésnapod (bekért dátum) óta eltelt másodpercek

Órai munka

Dátum és időlekérdezés C#-ban

Az idő folyamatos frissítése

Az órán felmerült ötletek, kérdések

Ébresztőóra-készítése
Ez egyelőre hf
Spefiális karakterek
...
Kétféle hangú pittyegés
...
Gyakori for-ciklus hiba
...

Papírfeladatok

1. feladat:

A következő program első része egy emlékeztető neked. Azt írja ki, hogy 5+6=11. Az //Elõkészítés utáni része a h, m és s változókba beírja a számítógép órájának az aktuális idejét. (h: óra, m: perc, s: másodperc). Feladatod, hogy a //Feladat utáni részben kiírasd a programmal, hogy Most óra:perc:másodperc van. Mindezt persze a h, m és s változók tartalma alapján.
using System;
namespace Feladat2 {
    class Program {
        public static void Main(string[] args) {
            //Emlékeztetõ
            int a, b, c;
            a = 5; b = 6; c = a+b;
            Console.WriteLine(a+"+"+b+"="+c);
            //Elõkészítés
            DateTime t;
            int h, m, s;
            t = DateTime.Now;
            h = t.Hour; m = t.Minute; s = t.Second;
            //Feladat:
            
            
            Console.ReadKey(true);
        }
    }
}

2. Feladat:

Egészítsd ki az alábbi programot úgy, hogy ha pontosan 11 óra 11 perc 11 másodperckor futtatják le, akkor azt írja ki, hogy Na ez aztán a véletlen! (A kapcsos zárójelek se kerüljék el a figyelmed!)
using System;
namespace Feladat3 {
    class Program {
        public static void Main(string[] args) {
            DateTime t;
            int h, m, s;
            t = DateTime.Now;
            h = t.Hour; m = t.Minute; s = t.Second;
            
            if (== 11 &&       && s == 11)
                 nsole.
            }           
            Console.ReadKey(true);
        }
    }
}

3. feladat:

Mit írhat ki az alábbi program? (Emlékeztető: a ***-al jelölt sor bekér egy számot a felhasználótól és berakja a szam nevű változóba.)
using System;
namespace Feladat4 {
    class Program {
        public static void Main(string[] args) {
            int szam = int.Parse( Console.ReadLine() ); //***
            int i;
            int osszeg = 0;
            for (= 1; i < szam; i++) {
                if (szam % i == 0) {
                    Console.WriteLine(i);
                    osszeg = osszeg + i;
                }
            }
            Console.WriteLine(osszeg);
            Console.ReadKey(true);
        }
    }
}