Megoldás:
namespace szovegertes
{
class Program
{
static void Main(string[] args)
{
//Írjunk együtt programot, amellyel a szövegértési képességet mérjük.
//Feladat:
//- Tagoltan írjuk ki a képernyőre a megadott tudományos szöveget.
//- Tegyünk fel kérdéseket a szöveg tartalmára vonatkozóan.
//A válaszok rögzítéséhez használjuk az egész szám, tört szám,
//karakter, szöveges, logikai típusokat.
//- Írjuk ki a képernyőre, mit tudtunk meg.
//A szöveget ilyen formában írjuk ki:
//Komoly áttörést ért el a DNS-alapú adattárolásban
//a Harvard Egyetem biomérnöki intézete, ahol George Church
//és csapata egy 53 400 szavas könyvet, 11 képet
//és egy JavaScript programot – összesen 5,27 millió bit adatot
//– kódoltak bele egy DNS-be.
//A DNS az egyik legstabilabb és legnagyobb adatsűrűségű
//információtároló, ami elméletben két bit adatot tud tárolni
//nukleotidonként (ez a DNS szerkezeti egysége).
//Egyetlen gramm DNS-ben 455 exabájt adat tárolható,
//ami hozzávetőlegesen 100 milliárd dvd kapacitásának felel meg
//és 4-5-ször nagyobb adatsűrűséget tesz lehetővé,
//mint például a flash memória. Emellett a DNS-be írt
//információknak nagy előnye, hogy több száz évvel később is
//olvashatóak maradnak, miközben egy dvd élettartama
//legfeljebb néhány évtized.
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" +
"é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." + "\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.");
Console.WriteLine();
//A következő kérdéseket tegyük fel:
//Kinek a nevéhez fűződik a felfedezés?
//Mibe kódolták az adatokat a Harvardon? //Ezt a választ karakterenként kérjük be, egy sorban.
//Hány könyvet kódoltak a DNS-be?
//Hány képet kódoltak a DNS-be?
//Hány programot kódoltak a DNS-be?
//Összesen hány millió bit adatot kódoltak a DNS-be?
//A DNS nukleotidja elméletben két bit adatot tud tárolni? (true/false)
//A bekért adatokat a következőképpen írd ki:
//Első verzió:
//A következőket válaszoltad:
//A tudós, akinek a nevéhez fűződik a felfedezés:
//A Harvardon ebbe az anyagba kódolták az adatokat:
//Összesen ennyi könyvet, képet és programot kódoltak a DNS-be:
//Összesen ennyi millió bit adatot kódoltak a DNS-be:
//A DNS nukleotidja elméletben két bit adatot tud tárolni?:
//Második verzió:
//A következőket válaszoltad:
//{0} a tudós neve, akinek a nevéhez fűződik a felfedezés.
//A Harvardon a {0} nevű anyagba kódolták az adatokat.
//Összesen {0} könyvet, képet és programot kódoltak a DNS-be.
//Összesen {0} millió bit adatot kódoltak a DNS-be.
//{0}, hogy a DNS nukleotidja elméletben két bit adatot tud tárolni.
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? (3 betű egymás után, utána Enter): ");
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("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.WriteLine();
Console.WriteLine("A következőket válaszoltad: ");
Console.WriteLine("{0} a tudós neve, akinek a nevéhez fűződik a felfedezés.", tudos);
Console.WriteLine("A Harvardon a {0} nevű anyagba kódolták az adatokat.", dns);
Console.WriteLine("Összesen {0} könyvet, képet és programot kódoltak a DNS-be.", konyv + kep + program);
Console.WriteLine("Összesen {0} millió bit adatot kódoltak a DNS-be.", bit);
Console.WriteLine("\"{0}\", hogy a DNS nukleotidja elméletben két bit adatot tud tárolni.", kapacitas);
Console.ReadLine();
}
}
}