Az első feladatot befejeztük órán (névkiírós), elkezdtük a másodikat, házi feladat befejezni.
Az első szóbeli témakörből januárban az első órán számonkérés lesz.
2017. december 19., kedd
2017. december 15., péntek
2017.12.15. Rendezések / Buborék rendezés
Rövidesen ezt együtt átvesszük. Addig is aki ügyes akar lenni a Kódolás Óráján, nézze át.
namespace buborekRendezes
namespace buborekRendezes
{
class sajatOsztaly
{
const int
n = 10;
public int[]
szamok = new int[n];
public void
tombFeltoltes()
{
Random rnd = new
Random();
for (int
i = 0; i < n; i++)
{
szamok[i] = rnd.Next(100);
}
}
public void
kiiro()
{
Console.BackgroundColor = ConsoleColor.DarkBlue;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
Console.WriteLine("A tömb elemei: ");
Console.WriteLine();
for (int
i = 0; i < n; i++)
{
Console.WriteLine(" {0}.
elem: {1,10}", i + 1, szamok[i]);
Console.WriteLine("
~~~~~~~~~~~~~~~~~~~~");
}
}
//Rendezés:
//Állítsunk be egy logikai változót (voltCsere)
//igazra! Ez figyeli, hogy volt-e csere
//a vizsgálat során. Indítsuk el a páronkénti
//vizsgálatot (szomszédos elemek) a tömb
végétől
//visszafelé az 1-es indexű elemig! A
voltCsere-t
//állítsuk hamisra! Ha a nagyobb indexű elem
értéke
//kisebb, akkor a kapcsolót igazra állítjuk
//és kicseréljük a két elemet. A páronkénti
//vizsgálatok végén vizsgáljuk meg, hogy
volt-e csere.
//Ha volt, akkor indítsuk el újra a
vizsgálatot!
//Növeljük az alsó határt 1-gyel (mostmár ne
//az 1-es indexűig menjünk, hanem a 2-esig).
//Addig ismételjük az 1-4 lépést, amíg a
kapcsoló hamis lesz.
//Tesztelés után változtastunk annyit,hogy a
//cserét beágyazott, paraméteres
metódushívással oldjuk meg.
}
class Program
{
static void
Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.DarkBlue;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
Console.Title = "Buborék rendezés";
sajatOsztaly s = new sajatOsztaly();
s.tombFeltoltes();
s.kiiro();
Console.WriteLine("Buborék rendezés következik.");
Console.ReadLine();
s.buborekRendezes();
s.kiiro();
Console.ReadLine();
}
}
}MEGOLDÁS:
public void csere(int elso, int masodik)
{
int c = szamok[elso];
szamok[elso] = szamok[masodik];
szamok[masodik] = c;
}
public void
buborekRendezes()
{
//int c = 0; //ez addig kellett, míg nem volt
csere metódus
bool voltCsere = true;
int elso = 0;
while (voltCsere)
{
voltCsere = false;
int i = n - 1;
while (i > elso)
{
if
(szamok[i] < szamok[i - 1])
{
csere(i - 1, i);
//c
= szamok[i]; //ez addig kellett, míg
nem volt csere metódus
//szamok[i]
= szamok[i-1] ;
//szamok[i-1]
= c;
voltCsere = true;
}
i--;
}
elso++;
}
}2017.12.15. Lineáris keresés, paraméteres függvény
Rövidesen ezt együtt átvesszük. Addig is aki ügyes akar lenni a Kódolás Óráján, nézze át.
public int linearisKereses(int
keresendo)
{
int i = 0;
while (i < szamok.Length &&
szamok[i] != keresendo)
{
i++;
}
if (i == szamok.Length)
return
(-1);
else
return
(i);
}
}
class Program
{
static void
Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.DarkBlue;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
Console.Title = "Függvények";
sajatOsztaly s = new sajatOsztaly();
Console.WriteLine("Véletlen, vagy billentyűzetről való feltöltést
szeretnél? (v/b)");
string r = Console.ReadLine();
if (r == "v")
{
Console.WriteLine("A véletlen feltöltést választottad.");
s.tombFeltoltes();
}
else
{
Console.WriteLine("A billentyűzetről feltöltést választottad.");
s.tombBekeres();
}
s.kiiro();
Console.Write("Milyen számot keressünk a tömbben?: ");
int keresendoSzam = Convert.ToInt32(Console.ReadLine());
int linearisKeresesEredmenye =
s.linearisKereses(keresendoSzam);
if (linearisKeresesEredmenye == -1)
Console.WriteLine("A keresett szám nincs a tömbben.");
else
Console.WriteLine("A keresett szám a tömb {0}. eleme.",
linearisKeresesEredmenye + 1);
Console.ReadLine();
}
}
}
2017.12.15. Paraméterek, csere
Rövidesen ezt együtt átvesszük. Addig is aki ügyes akar lenni a Kódolás Óráján, nézze át.
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static int[] tomb = new int[30];
static int[] tomb2 = new int[30];
static void kiir()
{
foreach (int x in tomb)
{
Console.WriteLine(x);
}
}
static void kiir2()
{
foreach (int x in tomb2)
{
Console.WriteLine(x);
}
}
static void csere(int szam1, int szam2)
{
int atmenet = tomb[szam1];
tomb[szam1] = tomb[szam2];
tomb[szam2] = atmenet;
}
static void Main(string[] args)
{
StreamReader sr = new StreamReader("szamok.txt");
kiir();
Console.WriteLine("");
int i = 0;
while (!sr.EndOfStream)
{
tomb[i] = Convert.ToInt32(sr.ReadLine());
i++;
}
sr.Close();
kiir();
Console.WriteLine("A tömb melyik elemeit szeretné megcserélni? ");
Console.WriteLine("Első szám:");
int szam1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Második szám:");
int szam2 = Convert.ToInt32(Console.ReadLine());
csere(szam1, szam2);
Console.ReadLine();
StreamWriter dup = new StreamWriter("dupla.txt");
Console.WriteLine();
for (int j = 0; j < tomb.Length; j++)
{
dup.WriteLine(tomb[j] * 2);
}
dup.Close();
Console.ReadLine();
StreamWriter kis = new StreamWriter("kisebb.txt");
for (i = 0; i < tomb.Length; i++)
{
if (tomb[i] < 10)
kis.WriteLine(tomb[i]);
}
kis.Close();
Console.ReadLine();
}
}
}
2017. december 10., vasárnap
2017.12.11.-15. Gyakorlás
Informatikai alapismeretek - éles érettségi feladatok
1.
2006. tavasz (módosítva) - Listázás ötösével
Készítsen programot az alábbi feladat
megoldására!
Adott egy 14 elemű névsor egy
szövegfájlban. Olvassa be a neveket, majd írassa ki a
képernyőre ABC sorrendben, külön-külön
sorba, úgy, hogy minden 5. név után várakozik
egy gombnyomásra! Ezután tiszta képernyőn
listázza a következő 5 nevet. Minden név
elé írjon egy listázási sorszámot!
2.
2005 ősz - Sebesség (módosítva)
Egy sebességmérő műszer regisztrálja
minden mellette elhaladó jármű sebességét km/h-ban.
Az egyik irányba haladó járművek
sebességét pozitív, a másik irányba (szembe) haladókét
negatív értékként tárolja a műszer.
Készítsen programot amely lehetővé teszi, hogy a műszer
által regisztrált adatokat fájlból
kiolvasva számítógépre vigyük! A sebességadatokat
(max. 100 db) a seb nevű
tömbben tároljuk. Az adatok megadásának végét a 0 értékkel
jelöljük. A program az adatsor végére
tárolja el ezt a „0” értéket is.
Az adatok eltárolása után a program
határozza meg, hogy volt-e szabálysértő (szabálysértésen
azt értjük, hogy valaki 100 km/h abszolút
értékű sebességnél gyorsabban haladt), és ha igen,
akkor az első szabálysértő hányadik
rögzített elem volt a rögzített méréssorozatban és
mennyivel lépte túl a sebességhatárt!
A meghatározott eredményt írja ki a képernyőre!
A fájlban az adatok a következők legyenek
(figyelj a nulla szerepére!):
-109
|
79
|
-106
|
73
|
-111
|
107
|
-71
|
81
|
-107
|
101
|
-121
|
63
|
-102
|
85
|
-96
|
106
|
-80
|
93
|
-68
|
94
|
-97
|
103
|
-111
|
91
|
-79
|
106
|
-73
|
88
|
-112
|
75
|
-60
|
88
|
-110
|
94
|
-73
|
64
|
-64
|
76
|
-85
|
91
|
-63
|
78
|
-105
|
63
|
-98
|
96
|
-122
|
105
|
-82
|
73
|
-102
|
110
|
-102
|
109
|
-76
|
88
|
-99
|
72
|
-101
|
75
|
-76
|
67
|
-74
|
80
|
-76
|
106
|
-121
|
87
|
-111
|
102
|
-82
|
93
|
-90
|
62
|
-74
|
78
|
-73
|
77
|
-109
|
62
|
-101
|
70
|
-98
|
63
|
-124
|
92
|
-71
|
81
|
-102
|
103
|
-60
|
65
|
(
Csak faktosoknak: a fenti számsorozatot excelben generáltam egy két elemű
sorozatból képzett automatikus kitöltéssel, próbáljátok ki:
=VÉLETLEN.KÖZÖTT(-125;-60)
=VÉLETLEN.KÖZÖTT(60;110)
)
3.
2006. tavasz - Tőzsde (módosítva)
)
3.
2006. tavasz - Tőzsde (módosítva)
// "Egy vektorban (tömbben) különböző cégek napi tőzsdei
záró árfolyama szerepel.
//Készítsen programot az ön
által ismert nyelven, mely megadja azt a céget, amelyik az adott
//időszak folyamán a
legnagyobb nyereséget érte el! Tekintse legnagyobb nyereségnek azt,
//ahol az utolsó nap
záróegyenlege és az első nap záróegyenlegének különbsége a legnagyobb.
//A feladat megoldásához
alkalmazzon programozási tételt!"
//Tehát az alábbi adatokkal hozz létre egy fájlt, majd olvasd be a tartalmát egy struktúrákból álló tömbbe. Zárójelben a kiszámolt nyereség van a
tesztelés kedvéért - ez ne kerüljön bele a fájlba.
// CÉG 1.
nap 2. nap 3.
nap
//Alfa Bt. 1500 1709 1839
(339)
//Beta Kft. 3000 3291 3255
(291)
//Gamma Rt. 1000 1279 1285 (285)
//Delta Bt 14000 14208 14263 (263)
4.
2007. tavasz - Matek, magyar szakkör (módosítva)
2007. tavasz - Matek, magyar szakkör (módosítva)
//"Egy
osztályba csupa különböző nevű ember jár. Az osztály létszáma 32 fő. Készítsen
//programot,
amely beolvassa egy fájlból a matematika szakkörre jelentkezők
//nevét!
Hasonló módon a magyar szakkörre jelentkezők nevét is tárolja!
//A
program határozza meg és írja ki egy harmadik fájlba azok nevét, akik mindkét
//szakkörre
jelentkeztek, illetve a kigyűjtött névsort jelenítse meg a képernyőn is!"
//További
utasítások:
//A két fájlt
neked kell elkészítened.
//(Ehhez
mellékelek minta neveket - nem kötelező ezeket használni).
//A feladatsort
struktúrával kell megoldani.
Avon Mór
Bakt Erno
Bal Margó
Bazsa Rózsa
Bekre Pál
Bella Ella
Benő Jenő
Bödön Ödön
Bőrönd Ödön
Buga Jakab
Búza Virág
Citad Ella
Daj Kálmán
Damu Samu
Dári Dóra
Dies Elek
Emanci Pál
Esze T. Lenke
Fá Zoltán
Farkas Piroska
Feles Elek
Flóbert Róbert
Git Áron
Görk Orsolya
Guba Huba
Halmos Álmos
Halo Lajos
Hargita Rita
Hát Izsák
Heu Réka
Hirte Lenke
Hot Elek
Illemta Nóra
Ka Pál
Kádár Aladár
Karam Ella
Kelep Elek
Kiri Piri
Kor Mihály
Kovács Lukács
Krisztin Martin
Lapos Elemér
Lopez de Futasztán
Luc Erna
Major Anna
Malt Erno
Mángor Olga
Márton Ágoston
Meg Gyozo
Megol Dani
Mérta Nóra
Ne Pál
Nyári Klári
Nyúl Kálmán
Ordy Bálint
Öröm Melitta
Pál Opál
Parady Csoma
Patkóm Ágnes
Patta Nóra
Préri Farkas
Remek Elek
Rö Vid
Szamos Lajos
Szenegál Pál
Szigor Igor
Szikla Szilárd
Szüre Tibor
Teo Dóra
Trab Antal
Vagd Alma
Vaj Ákos
Veg Eta
Vesmás Tamás
Volga Olga
Zúz Mara
Zsíros B. Ödön
Feliratkozás:
Bejegyzések (Atom)