NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2020-21/11B1 csoport 'programozás' órai munkái
2019. november 27., szerda
2019.11.28-29. WEB ismétlés
A tavaly tanultak alapján készíts egy weboldalt Bracketsben csütörtök-pénteken. A témáját megválaszthatod. Pl. teljesen szabadon lehet a globális felmelegedés :)... Ha nincs más ötleted, nézz körül a PCWorld oldalán.
2019. november 21., csütörtök
2019.11.22./2. -26. Elmélet ismétlés
1. Vedd át a puskát. Ha valamire nem emlékszel már rendesen, keresd vissza az adott programot, nézd át, tanuld meg.
2. Kezdd el átismételni a tavalyi elmélet anyagból a feltételes elágazásokat. Kezdd ennél a leckénél.
3. Ha ezzel megvagy, folytasd a ciklusokkal innen.
2. Kezdd el átismételni a tavalyi elmélet anyagból a feltételes elágazásokat. Kezdd ennél a leckénél.
3. Ha ezzel megvagy, folytasd a ciklusokkal innen.
2019.11.21. Ismétlés
Önálló feladatmegoldás:
Megoldás:
//A kiírásoknál mindig legyen magyarázó szöveg.
//(Felhasználóbarát programnál mindig tudja a user,
//hogy mi van a képernyőn, és mit kell tennie.)
//Minden feladathoz tartozó kiírás új sorban kezdődjön.
//Adj a programablaknak egy címet.
//- Változtasd meg a betűszínt egy új színre.
//- Változtasd meg a háttérszínt egy új színre,
//majd oldd meg, hogy azonnal megváltozzon
//az egész ablak háttérszíne.
//Írd ki egyetlen utasítással a következő
//szöveget ugyanígy két sorba:
//Az igazi siker nem pénz és nem hírnév...
//Az igazi siker a bennünk rejlõ képességek kibontakoztatásának öröme (Csermely Péter)
//- Kérj be egy szöveget, és
//tárold egy változóban. Pl: hahó
//- Kérj be egy karaktert, és
//tárold egy változóban.
//Pl.: ó
//- A karaktert fűzd a szöveg végére háromszor.
//- Írd ki az új szöveget egyetlen utasítással.
//Pl.: Az új szöveg ez lehet: hahóóóó
//Add értékül programból egy megfelelő típusú
//változónak a következő szót: mindenki
//Add értékül programból egy megfelelő típusú
//változónak a következő szót: akár
//Írd ki egyetlen utasítással a következő szöveget
//a képernyőre úgy, hogy a két változó tartalmát
//a megfelelő helyekre beilleszted:
//Hálózatot mindenki épít, akár akar, akár nem. (Csermely Péter)
//Kérj be két egész számot.
//A számokat tárold változókban.
//A számokat add össze úgy, hogy az első számot
//tartalmazó változóban tárolódjon az eredmény.
//Írd ki az összeget két kiíró utasítással.
//A kiírás végül így nézzen ki:
//Összeg: 10
//Az összegből a második számot vond ki úgy,
//hogy egy új változóban tárolódjon az eredmény.
//Írd ki a különbséget egyetlen kiíró utasítással.
//A kiírás végül így nézzen ki:
//Az összegből kivonva a második számot: 10
//Írd ki a bekért egész számok szorzatát úgy,
//hogy ne tárold az eredményt. (Vigyázz, cseles!)
//Egyetlen kiíró utasítást használj.
//A kiírás végül így nézzen ki: 5 * 6 = 30
//- Kérj be egy 0-255 közötti számot, és
//tárold egy változóban.
//Írd ki a számot úgy, hogy egy 20 karakteres
//helyen jobbra legyen rendezve.
//Írd ki a következő műveletsor eredményét
//a képernyőre két kiíró utasítással.
//(Az eredményt nem kell tárolni.)
//A bekért kis számot oszd el 6-tal,
//majd szorozd meg a bekért első egész számmal.
//Ebből vond ki a második egész szám négyzetét.
//A kiírás végül így nézzen ki:
//A műveletsor végeredménye: 15
//Kérj be egy logikai értéket.
//Írd ki a felhasználónak, hogy milyen
//értékeket írhat be.
//Az értéket tárold egy változóban.
//Írd ki az értéket egyetlen utasítással.
//Egy sportközpontban van egy röpipálya a földszinten,
// az emeleten pedig egy konditerem, és egy aerobik terem.
//Kérd be a konditerem és az aerobik terem méreteit,
//és számold ki az összesített alapterületüket.
//Írd ki ezt az értéket a mértékegységével együtt.
//(Részszámításokat kiírhatsz.)
//(A mértékegységet írd szövegesen.)
//A röpipálya alapterülete 25%-kal nagyobb, mint
//a fenti két terem alapterülete összesen.
//Mekkora a röpipálya alapterülete?
//Számold ki, és írd ki a képernyőre.
//A mértékegységet írd szövegesen.)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace evvegiGyakorlas
{
class Program
{
static void Main(string[] args)
{
//A kiírásoknál mindig legyen magyarázó szöveg.
//(Felhasználóbarát programnál mindig tudja a user,
//hogy mi van a képernyőn, és mit kell tennie.)
//Minden feladathoz tartozó kiírás új sorban kezdődjön.
//Adj a programablaknak egy címet.
Console.Title = "Gyakorlás";
//- Változtasd meg a betűszínt egy új színre.
//- Változtasd meg a háttérszínt egy új színre,
//majd oldd meg, hogy azonnal megváltozzon
//az egész ablak háttérszíne.
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Clear();
//Írd ki egyetlen utasítással a következő
//szöveget ugyanígy két sorba:
//Az igazi siker nem pénz és nem hírnév...
//Az igazi siker a bennünk rejlõ képességek kibontakoztatásának öröme (Csermely Péter)
Console.WriteLine("Az igazi siker nem pénz és nem hírnév...\nAz igazi siker a bennünk rejlő képességek kibontakoztatásának öröme (Csermely Péter)");
//- Kérj be egy szöveget, és
//tárold egy változóban. Pl: hahó
Console.Write("Kérek egy szöveget: ");
string szoveg = Console.ReadLine();
//- Kérj be egy karaktert, és
//tárold egy változóban.
//Pl.: ó
Console.Write("Kérek egy karaktert: ");
char karakter = Convert.ToChar(Console.ReadLine());
//- A karaktert fűzd a szöveg végére háromszor.
//- Írd ki az új szöveget egyetlen utasítással.
//Pl.: Az új szöveg ez lehet: hahóóóó
szoveg = szoveg + karakter + karakter + karakter;
Console.WriteLine("Az új szöveg: {0}", szoveg);
//Add értékül programból egy megfelelő típusú
//változónak a következő szót: mindenki
//Add értékül programból egy megfelelő típusú
//változónak a következő szót: akár
string elsoSzo = "mindenki";
string masodikSzo = "akár";
//Írd ki egyetlen utasítással a következő szöveget
//a képernyőre úgy, hogy a két változó tartalmát
//a megfelelő helyekre beilleszted:
//Hálózatot mindenki épít, akár akar, akár nem. (Csermely Péter)
Console.WriteLine("Hálózatot {0} épít, {1} akar, {1} nem. (Csermely Péter)", elsoSzo, masodikSzo);
//Kérj be két egész számot.
//A számokat tárold változókban.
Console.Write("Kérek egy egész számot: ");
int egesz1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Kérek még egy egész számot: ");
int egesz2 = Convert.ToInt32(Console.ReadLine());
//A számokat add össze úgy, hogy az első számot
//tartalmazó változóban tárolódjon az eredmény.
int egeszElso = egesz1; //biztonsági másolat, később szükség lesz rá, hogy tudjuk az eredeti értéket
egesz1 = egesz1 + egesz2;
//Írd ki az összeget két kiíró utasítással.
//A kiírás végül így nézzen ki:
//Összeg: 10
Console.Write("Összeg: ");
Console.WriteLine(egesz1);
//Az összegből a második számot vond ki úgy,
//hogy egy új változóban tárolódjon az eredmény.
int kulonbseg = egesz1 - egesz2;
//Írd ki a különbséget egyetlen kiíró utasítással.
//A kiírás végül így nézzen ki:
//Az összegből kivonva a második számot: 10
Console.WriteLine("Az összegből kivonva a második számot: {0}",kulonbseg );
//Írd ki a bekért egész számok szorzatát úgy,
//hogy ne tárold az eredményt. (Vigyázz, cseles!)
//Egyetlen kiíró utasítást használj.
//A kiírás végül így nézzen ki: 5 * 6 = 30
Console.WriteLine("{0} * {1} = {2}", egeszElso, egesz2, egeszElso* egesz2);
//- Kérj be egy 0-255 közötti számot, és
//tárold egy változóban.
Console.Write("Kérek egy 0-255 közötti számot: ");
byte kisSzam = Convert.ToByte(Console.ReadLine());
//Írd ki a számot úgy, hogy egy 20 karakteres
//helyen jobbra legyen rendezve.
Console.WriteLine("A bekért szám: {0,20}", kisSzam);
//Írd ki a következő műveletsor eredményét
//a képernyőre két kiíró utasítással.
//(Az eredményt nem kell tárolni.)
//A bekért kis számot oszd el 6-tal,
//majd szorozd meg a bekért első egész számmal.
//Ebből vond ki a második egész szám négyzetét.
//A kiírás végül így nézzen ki:
//A műveletsor végeredménye: 15
Console.Write("A műveletsor végeredménye: {0}",
kisSzam / 6 * egeszElso - egesz2 * egesz2);
//Kérj be egy logikai értéket.
//Írd ki a felhasználónak, hogy milyen
//értékeket írhat be.
//Az értéket tárold egy változóban.
Console.Write("Írj be egy logikai értéket (true/false): ");
bool log = Convert.ToBoolean(Console.ReadLine());
//Írd ki az értéket egyetlen utasítással.
Console.WriteLine("A bekért logikai érték: {0}", log);
//Egy sportközpontban van egy röpipálya a földszinten,
//az emeleten pedig egy konditerem, és egy aerobik terem.
//Kérd be a konditerem és az aerobik terem méreteit,
//és számold ki az összesített alapterületüket.
//Írd ki ezt az értéket a mértékegységével együtt.
//(Részszámításokat kiírhatsz.)
//(A mértékegységet írd szövegesen.)
//A röpipálya alapterülete 25%-kal nagyobb, mint
//a fenti két terem alapterülete összesen.
//Mekkor a röpipálya alapterülete?
//Számold ki, és írd ki a képernyőre.
//A mértékegységet írd szövegesen.)
Console.Write("Kérem a konditerem szélességét méterben: ");
double kondiSzelesseg = Convert.ToDouble(Console.ReadLine());
Console.Write("Kérem a konditerem hosszúságát méterben: ");
double kondiHosszusag = Convert.ToDouble(Console.ReadLine());
double konditerulet = kondiSzelesseg * kondiHosszusag;
Console.WriteLine();
Console.Write("Kérem az aerobikterem szélességét méterben: ");
double aerobikSzelesseg = Convert.ToDouble(Console.ReadLine());
Console.Write("Kérem az aerobikterem hosszúságát méterben: ");
double aerobikHosszusag = Convert.ToDouble(Console.ReadLine());
double aerobikTerulet = aerobikSzelesseg * aerobikHosszusag;
Console.WriteLine();
double osszTerulet = konditerulet + aerobikTerulet;
Console.WriteLine("A konditerem és az aerobikterem összesített alapterülete: {0} négyzetméter", osszTerulet);
double ropiTerulet = osszTerulet * 1.25;
Console.WriteLine("A röpipálya alapterülete: {0} négyzetméter", ropiTerulet);
//Adj 3 hangjelzést különböző hosszal és hangmagassággal.
Console.Beep(500, 800);
Console.Beep(700, 1000);
Console.Beep(200, 400);
Console.ReadLine();
}
}
}
2019. november 19., kedd
2019.11.19./2. Gyakorlás - Szövegfeldolgozás
A következő programot tesztelt, értelmezd, majd oldd meg a lenti feladatot egy új programban.
//Írjunk együtt programot, amellyel a szövegértési képességet mérjük.
//Feladat:
//- Tagoltan írjunk ki a képernyőre egy tudományos szöveget.
//- Tegyünk fel kérdéseket a szöveg tartalmára vonatkozóan.
//Ügyeljünk, hogy minden ismert típus szerepeljen benne.
//- Írjuk ki a képernyőre, mit tudtunk meg. Ehhez használjunk
//egy paraméteres kiírási lehetőséget.
Console.WriteLine("Komoly áttörést ért el a DNS-alapú adattárolásban" + "\n" +
"a Harvard Egyetem biomérnöki intézete, ahol George Church" + "\n" + //új sor ("\n")
"és csapata egy 53 400 szavas könyvet, 11 képet" + "\n" + //és szövegek összefűzése (+)
"és egy JavaScript programot – összesen 5,27 millió bit adatot" + "\n" +
"– kódoltak bele egy DNS-be." + "\n" +
"A DNS az egyik legstabilabb és legnagyobb adatsűrűségű" + "\n" +
"információtároló, ami elméletben két bit adatot tud tárolni" + "\n" +
"nukleotidonként (ez a DNS szerkezeti egysége)." + "\n" +
"Egyetlen gramm DNS-ben 455 exabájt adat tárolható," + "\n" +
"ami hozzávetőlegesen 100 milliárd dvd kapacitásának felel meg" + "\n" +
"és 4-5-ször nagyobb adatsűrűséget tesz lehetővé," + "\n" +
"mint például a flash memória. Emellett a DNS-be írt" + "\n" +
"információknak nagy előnye, hogy több száz évvel később is" + "\n" +
"olvashatóak maradnak, miközben egy dvd élettartama" + "\n" +
"legfeljebb néhány évtized.");
//Másik módszerrel:
Console.WriteLine("Komoly áttörést ért el a DNS-alapú adattárolásban \na Harvard Egyetem biomérnöki intézete, ahol George Church \nés csapata egy 53 400 szavas könyvet, 11 képet\nés egy JavaScript programot – összesen 5,27 millió bit adatot\n– kódoltak bele egy DNS-be.\nA DNS az egyik legstabilabb és legnagyobb adatsűrűségű\ninformációtároló, ami elméletben két bit adatot tud tárolni\nnukleotidonként (ez a DNS szerkezeti egysége).\nEgyetlen gramm DNS-ben 455 exabájt adat tárolható,\nami hozzávetőlegesen 100 milliárd dvd kapacitásának felel meg\nés 4-5-ször nagyobb adatsűrűséget tesz lehetővé,\nmint például a flash memória. Emellett a DNS-be írt\ninformációknak nagy előnye, hogy több száz évvel később is\nolvashatóak maradnak, miközben egy dvd élettartama\nlegfeljebb néhány évtized.");
Console.WriteLine();
Console.Write("Kinek a nevéhez fűződik a felfedezés?: ");
string tudos = Console.ReadLine();
Console.Write("Mibe kódolták az adatokat a Harvardon?: ");
char dns1 = Convert.ToChar(Console.Read()); //nincs soremelés
char dns2 = Convert.ToChar(Console.Read());
char dns3 = Convert.ToChar(Console.ReadLine());
string dns = "";
dns = dns + dns1 + dns2 + dns3;
Console.Write("Hány könyvet kódoltak a DNS-be?: ");
int konyv = Convert.ToInt32(Console.ReadLine());
Console.Write("Hány képet kódoltak a DNS-be?: ");
int kep = Convert.ToInt32(Console.ReadLine());
Console.Write("Hány programot kódoltak a DNS-be?: ");
int program = Convert.ToInt32(Console.ReadLine());
Console.Write("Összesen hány millió bit adatot kódoltak a DNS-be?: ");
double bit = Convert.ToDouble(Console.ReadLine());
Console.Write("A DNS nukleotidja elméletben két bit adatot tud tárolni? (true/false): ");
bool kapacitas = Convert.ToBoolean(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("A következőket válaszoltad: ");
Console.WriteLine("A tudós, akinek a nevéhez fűződik a felfedezés: {0}", tudos);
Console.WriteLine("A Harvardon ebbe az anyagba kódolták az adatokat: {0}", dns);
Console.WriteLine("Összesen ennyi könyvet, képet és programot kódoltak a DNS-be: {0}", konyv + kep + program);
Console.WriteLine("Összesen ennyi millió bit adatot kódoltak a DNS-be: {0}", bit);
Console.WriteLine("A DNS nukleotidja elméletben két bit adatot tud tárolni?: {0}", kapacitas);
Console.ReadLine();
Feladat:
Válassz egy informatikával kapcsolatos szövegrészletet egy cikkből. (Javaslom pl. a http://computerworld.hu/ oldalait.) Készítsd ez alapján egy fentihez hasonló programot.
Ha nincs más ötleted, ezt a cikket javaslom:
2019.11.19. Logikai műveletek 2
A logikai műveleteket a programnyelv a lenti igazságtáblák alapján értékeli ki. Ezeket nem kell (egyelőre) megtanulni, csak tudni kell értelmezni a tartalmát és tudni kell használni.
! (tagadás)
| ||
A
|
!A
| |
false
|
true
| |
true
|
false
| |
&& (ÉS)
| ||
A
|
B
|
A && B
|
true
|
true
|
true
|
true
|
false
|
false
|
false
|
true
|
false
|
false
|
false
|
false
|
|| (VAGY)
| ||
A
|
B
|
A || B
|
true
|
true
|
true
|
true
|
false
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
bool10b1
{
class Program
{
static void Main(string[]
args)
{
bool
log1 = true;
bool
log2 = false;
bool
log3 = false;
bool
log4 = true;
bool
eredmeny1 = !log1; // tagadás
bool
eredmeny2 = log1 && log3; //"ÉS" művelet
bool
eredmeny3 = log4 || log1; //"VAGY" művelet
Console.WriteLine(eredmeny1);
Console.WriteLine(eredmeny2);
Console.WriteLine(eredmeny3);
Console.WriteLine((log1
&& log3) || log2);
Console.WriteLine(!(log4
|| log2) && (log2 && log2));
Console.WriteLine(!(log2
|| log3 && log1) || (log4 && log4 || !log1));
Console.ReadLine();
}
}
}
Feliratkozás:
Bejegyzések (Atom)