HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

A második labor anyaga - "Beárazzuk a második labort"

2013.02.22. 21:30 nb

A laborhoz ajánlott muzsika Liszt: http://youtu.be/7H99FM6S8rU

Indítsuk is el, dőljünk hátra, kicsit lazítsunk és pár perc múlva vágjunk bele a második laborra történő felkészülésbe, mert az első laboron ne szépítsünk, a legtöbb hallgató állásait elsöpörte a labor. De kitartunk: csak figyelj közben a zongorára és nem lesz gond.  

Azt azért még meg kell jegyeznem, némiképp meglep, hogy a tankönyvből még mindig számos kölcsönözhető példány van a könyvtárban...

A második labor (febr. 25-i hét)

Immár az esetleges feketéket ("fél-hiányzásokat") már könyveljük! A KÖNYVből olvassuk tehát el a 25-i hétre egyrészt a  18-i hétre feladottakat, másrészt a

  • a 57-66 oldalt
  • a 90-113 oldalt
  • a 221-224 oldalt

mindezekből együtt immár mindenki 3-3 olyan dolgot kérdezzen meg a binomjától, amelyet nem ért, a binom pedig próbáljon meg válaszolni (tehát a 3 oldalcsokorból kettőt a "binommal együtt" kell feldolgozni). A szúrópróbaszerű ellenőrzésen ezt a levélváltást kell bemutatni a laborvezetőnek. Globális ellenőrző kérdések:

  • Deklarációkban az operátorok egyes nevekre vonatkoznak, vagy az összesre?
  • Mettől-meddig tart a lokális hatókör?

(de természetesen a múlt hetiek is kellenek, s hasonlóan, még a prog2-n is kérjük a prog1-ét :) No, jó; azért erre még nem volt példa. Nem kérdezem vissza, de K&R könyvből ajánlott olvasmánynak a

  • Alapismeretek
  • Típusok, operátorok és kifejezések
  • Vezérlési szerkezetek
  • Függvények és a program szerkezete

(első 4) fejezeteket adtuk fel.

Laborkártyák

A KÖNYV 64-65 oldalán olvasható 3 progit éleszd fel és futtasd, a laborra hozd magaddal, s ha rád esik a laborkártyák szúrópróba szerű ellenőrzése, akkor mutasd be. (Itt nincs lehetőség rögtönözni, a laborkártya - a kötelező olvasmány ellenőrzéséhez hasonlóan - azt méri, hogy felkészülten jössz-e a laborra.)

További immár éles laborkártyák az 1. ea. 104-109, a 108-as kapcsán helyetekben kérdeznél a labor előtt itt a posztban :)

Az második labor feladatai, poszt-pontjai

  • Nem írunk kézi szó-számlálót: az ea. 50. fóliájának mintájára készítsd el a progit és teszteld,  5 pont! (mesélős help: 48. slide alján a link, ahol a lex-es részt keresd meg - ha a laborban nincs telepítve a lexer, akkor a laboron ugorjunk a következő feladatra)
  • Végezzük el a "Beárazzuk a második labort" c. poszt feladatát, a feladat hátterét az előadáson tárgyaljuk: 2. ea, 55-63 fólia.
Opcionális feladatok

A KÖNYV 113 oldali feladatai: 1-től 7-ig, pontozásuk most: (*SZAM -1) * 3 + 1

(Ne feledd, itt a számok jelentését, ha nem tudod, olvasd el újra a 7. oldalt!)

68 komment

A bejegyzés trackback címe:

https://progpater.blog.hu/api/trackback/id/tr345099240

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

cellSigma 2013.02.22. 22:44:15

3.feladat:

include <iostream>
using namespace std;

int main(){

enum myEnum {one, two, three};

myEnum first;

cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(first) << endl;

}

kepfeltoltes.hu/view/130222
/size1_www.kepfeltoltes.hu_.png

cellSigma 2013.02.22. 22:58:59

5. feladat:

kepfeltoltes.hu/view/130222/limit_www.kepfeltoltes.hu_.png

#include <iostream>
#include <limits>

using namespace std;

int main()
{

cout << "Char: " <<(int) numeric_limits<char>::max() << ' ' << (int)numeric_limits<char>::min() << endl;
cout << "Short: " << numeric_limits<short>::max() << ' ' << numeric_limits<short>::min() << endl;
cout << "Int: " << numeric_limits<int>::max() << ' ' << numeric_limits<int>::min() << endl;
cout << "Long: " << numeric_limits<long>::max() << ' ' << numeric_limits<long>::min() << endl;
cout << "Float: " << numeric_limits<float>::max() << ' ' << numeric_limits<float>::min() << endl;
cout << "Double: " << numeric_limits<double>::max() << ' ' << numeric_limits<double>::min() << endl;
cout << "Long double: " << numeric_limits<long double >::max() << ' ' << numeric_limits<long double>::min() << endl;
cout << "Unsigned int: " << numeric_limits<unsigned int>::max() << ' ' << numeric_limits<unsigned int>::min() << endl;
}

DeeGort 2013.02.22. 23:06:37

KÖNYV 4.11 Gyakorlatok 4.
kepfeltoltes.hu/130222/hex_www.kepfeltoltes.hu_.png

#include <iostream>
using namespace std;

int main()
{
const int end_of_ASCII = 255;

for (int i = 0; i <= end_of_ASCII; i++)
{
cout << i << '\t' << char(i) << '\t' << endl;
}

for (int i = 0; i <= end_of_ASCII; i++)
{
cout << hex << i << '\t' << char(i) << '\t' << endl;
}

return 0;
}

(1.5 -1) * 3 + 1 pont

Smajdam 2013.02.22. 23:57:54

6. feladat:
-leghosszabb lokális név: korlátlan.
-leghosszabb külső név: korlátlan.
-megszorítás a karakterekre:
> az első karakter betű vagy _(aláhúzás karakter)
>a c++ kulcsszavai nem használhatóak, pl : int

smajdam 2013.02.23. 03:29:24

7. feladat: www.kepfeltoltes.hu/view/130223/6825622147_www.kepfeltoltes.hu_.jpg

Ui: remélem jól értelmeztem a feladatot.
Ui2: bocsánat a windowsért xD

ShuffleSource 2013.02.23. 04:58:32

7. Feladat:
takemyscreen.tk/shots/TaWeHRE/67231efb9a53a11fc1593b3529aa4bd4

Sajnos én se tudtam máshogy elképzelni a dolgot, mint @smajdam...

Mellesleg a takemyscreen.tk-t én, @Cvanger és egy BME-s srác fejlesztjük!

cellSigma 2013.02.23. 09:10:12

6. feladat:

Elvben nincs korlátozva a lokális és külső nevek hossza, azonban a futási környezet és a linker korlátozhatja azt.
További megszorítás, hogy betűvel kell kezdődniük, ahol a '_' karaktert betűnek tekintjük (azonban az ezzel kezdődő nevek a futási környezet számára vannak fenntartva). Nem lehetnek nevek a c++ kulcsszavai. A kis- és nagybetűket megkülönböztetjük.

szelepsapka 2013.02.23. 14:05:03

Lexikális elemző(javított, jó változat):
fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/551421_611589505534119_895453555_n.jpg

az előző se rossz csak elnéztem a parancsokat

nb · http://fersml.blog.hu 2013.02.24. 13:25:40

@DeeGort: OK., de érdemes majd figyelni, hgy ne a desktop-on dolgozz.

nb · http://fersml.blog.hu 2013.02.24. 13:29:40

@celticfrost: most még OK., de a jövőben ezt a Code::Blocks IDE-t ne erőltessük... bár úgy nézem GPL-es, így házi használarta akár OK. is lehet;de azért a Windows durva alatta :-)

nb · http://fersml.blog.hu 2013.02.24. 13:31:22

@celticfrost: vi... profi! Stövegszerkesztő kapcsán azért azt szoktam jelezni, hogy csak olyat használjunk, amelyben a blokkmásolást tudjuk fejből :)

nb · http://fersml.blog.hu 2013.02.24. 13:36:04

@cellSigma: gondolj a többiekre is, akik (remélem KI IS PRÓBÁLJÁK ITT A PROGIKAT!!!) mert ez syntax error-os, az elején lemeradt a #; ám az enumnál más hiba is van... nézd meg pls.

nb · http://fersml.blog.hu 2013.02.24. 13:45:27

@celticfrost: most még keveredik a C és a C++ az elején, de a könyv feladatainál figyeljünk az utóbbira, pl. hexában írjunk ki a www.inf.unideb.hu/~nbatfai/Prog1_5.pdf 10. fóliájának megfelelően pl. pls.

cellSigma 2013.02.24. 13:54:01

@nb: Tanár Úr, az enumnál az volt a gond, hogy a myEnum típusú változó méretét írta ki myEnum típus mérete helyett? (azt nem említve, hogy csak itt nem szoroztam fel 8-cal)

Tehát helyesen:

#include <iostream>
using namespace std;

int main(){

enum myEnum {one, two, three};

myEnum first;

cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;

kép:
tinypic.com/r/35d6hwn/6

cellSigma 2013.02.24. 13:56:12

@cellSigma: Most a main() fv-t záró } maradt le a másolás során... :/

#include <iostream>
using namespace std;

int main(){

enum myEnum {one, two, three};

myEnum first;

cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;
}

Püsök Levente 2013.02.25. 14:34:45

5. feladat:
(elnézést a windowsért, van a gépemen egy Ubuntu is, de az alaplapomon egy olyan hangchip van, amit az ALSA egy bug miatt nem ismer fel, így nincs hangja, és hát zene nélkül nem "buli" a programozás :D )

kepfeltoltes.hu/130225/10603924365_www.kepfeltoltes.hu_.jpg

Ha jó látom még beleesek az első 3ba.

Püsök Levente 2013.02.25. 14:40:42

@Püsök Levente: Hoppsz, a 15. sorban volt egy hibám, a float esetén minimum és maximum helyett kétszer is a maximumot írattam ki :D javítva:

kepfeltoltes.hu/130225/5x_www.kepfeltoltes.hu_.jpg

andr_design 2013.02.26. 12:30:11

üdv!

WIN7-em van és a D meghajtóra raktam a linuxot ami kiválóan működött 1 hétig aztán mostani indításnál a következő hibaüzenetet kaptam:

Try (hd 0,0) : NTFS5 : No wubildr

Bármit csinálok ezt az üzenetet kapok ujratelepítés vagy akármi után. 2 db wubildr fájl ott van a c-n és hiába másolnám át akkor sincs semmi. esetleg valaki ötlet? :D

Tasnádi Dániel 2013.02.26. 19:52:52

@Andrási Tamás:
Hello!
A Wubiról annyit, hogy kipróbálni jó, hogy "milyen feeling" a linux, de tartós használatra jobb megoldások is vannak. (Kevesebb hibát kapsz, ha olyan partícióra kerül a linux, amihez nincs köze windowsnak és még kevesebbet, ha csak linuxot teszel a gépre.
Jópár disztribúción vagyok túl, ha nem túl izmos a géped -mint pl. nekem, a lubuntut ajánlom. Dokumentum nézegetésre, szerkesztésre, zenehallgatásra és programozásra pont elég. (Játszani ne akarj szerintem :D )
Ha ragaszkodsz ahhoz, hogy két oprendszer is legyen akkor ilyesmivel próbálkozz inkább:

lifehacker.com/5403100/dual+boot-windows-7-and-ubuntu-in-perfect-harmony

andr_design 2013.02.26. 20:37:29

@Tasnádi Dániel: A gépem elég vad szerencsére nincs azzal gond :D az ubuntut pakolom fel ugy néz ki elég stabil és jó lesz így. Köszi a segítséget! :D

Tasnádi Dániel 2013.02.26. 21:50:59

@Andrási Tamás:
Nincs mit.
Szerintem okos döntés, képzeld csak el, mi lett volna ha egy nappal a vizsga előtt mondja be az unalmast...
:)

Czérna Márk Attila 2013.02.27. 09:16:46

#include <iostream>
int main()
{
int stop;
std::cout << "int meret: \t\t";
std::cout << sizeof(int) <<"bájt.\n";
std::cout << "short:\t";
std::cout << sizeof(short) <<"bájt.\n";
std::cout << "long meret: \t";
std::cout << sizeof(long) <<"bájt.\n";
std::cout << "char: \t";
std::cout << sizeof(char) <<"bájt.\n";
std::cout << "bool: \t";
std::cout << sizeof(bool) <<"bájt.\n";
std::cout << "float: \t";
std::cout << sizeof(float) <<"bájt.\n";
std::cout << "double: \t";
std::cout << sizeof(double) <<"bájt.\n";
std::cin >> stop;
return 0;
}

kepfeltoltes.hu/130227/m_retek_www.kepfeltoltes.hu_.png

Cvanger 2013.02.27. 11:44:09

A könyv feladatai:
1. gyakorlat: 4 pont
kepfeltoltes.hu/130226/gyak_1_www.kepfeltoltes.hu_.png
3. gyakorlat: 2.5 pont
kepfeltoltes.hu/130226/gyak_3_www.kepfeltoltes.hu_.png
4. gyakorlat: 2.5 pont
kepfeltoltes.hu/130226/gyak_4_www.kepfeltoltes.hu_.png
5. gyakorlat: 4 pont
kepfeltoltes.hu/130226/gyak_5_www.kepfeltoltes.hu_.png
7. gyakorlat: 4 pont
kepfeltoltes.hu/130227/gyak_7_www.kepfeltoltes.hu_.png (0 azt jelenti, hogy az oszlop tipusa a sor tipusába konvertálható)

Lexer: 5 pont
kepfeltoltes.hu/130226/lex_www.kepfeltoltes.hu_.png
összesen: 22 pont

atilla93 2013.02.27. 12:37:04

Számomra nem teljesen világos a kérdések száma, amit a binomok kérdezgetnek egymástól. Akkor hány kérdést kell feltenni az egyik félnek? Az első gyakorlatra kiírt olvasmányból is 3-at és a 2.gyakorlatra kiírt olvasmányokból is 3-at ?

nb · http://fersml.blog.hu 2013.02.27. 14:48:30

@atilla93: az első laborposzt 3 kérdés, a második +2x3 kérdés.

Pumuckl 2013.02.27. 15:39:19

Szerdai 12:00-13:40 labor pr feladata kapcsán a maradék 2 hely egyikére pályázva:
Kód: kepfeltoltes.hu/130227/pr_c_www.kepfeltoltes.hu_.jpg
Kimenet: kepfeltoltes.hu/130227/pr_o_www.kepfeltoltes.hu_.jpg

7 pont

andr_design 2013.02.27. 17:43:43

@Tasnádi Dániel: Lett volna baj nem kevés!:D de az Ubuntu stabilan megy hála istennek most

DeeGort 2013.02.27. 18:34:02

Összesítve:
5p - Nem írunk kézi szó-számlálót!
2.5p - 4.11.4
1p - 4.11.2
4p - 4.11.1
7p - Órai: Pagerank
4p - Órai: Pagerankhez tartozó 1. plusz feladat

Összesen: 23.5 pont.

Smajdam 2013.02.27. 20:35:11

összesítve:
> lexikális elemző: 5pont
> 4.11.3 : 2.5p
> 4.11.4 : 2.5p
> 4.11.5 : 7p
> 4.11.6 : 1p
> 4.11.7 : 7p
> labor-pagerank lefuttatása: 8p
> labor-pagerankhoz kapcs. 1. kérdés: 4p
> labor-legszebb végtelen ciklus: 3p

összesen: 40 pont

Sándor Fülöp 2013.02.28. 17:14:40

Csütörtök 16-00-s Dr. Godó Zoltán tanár úr óráján megoldottam a pagerank-es feladatot 8 pontért.

#include <stdio.h>
#include <math.h>

void
kiir (double tomb[], int db)
{

int i;
for (i = 0; i < db; ++i)
printf ("%f\n", tomb[i]);

}

double
tavolsag (double PR[], double PRv[], int n)
{
double osszeg = 0.0;
int i;
for (i = 0; i < n; ++i)
osszeg += (Prv[i] - PR[i]) * (PRv[i] - PR[i]);

return sqrt (osszeg) ;
}

int
main (void)
{

double L[4][4] = {
{0.0, 0.0, 1.0 / 3.0, 0.0},
{1.0, 1.0 / 2.0 , 1.0 / 3.0, 1.0},
{0.0, 1.0 / 2.0 , 0.0, 0.0},
{0.0, 0.0, 1.0 / 3.0, 0.0}
};

double PR[4] = {0.0, 0.0, 0.0, 0.0};
double PRv[4] = {1.0 / 4.0, 1.0 / 4.0, 1.0/ 4.0, 1.0 / 4.0};
int i, j;

for (;;)
{

for (i =0; i < 4; ++i)
{
PR[i] = 0.0;
for (j = 0; j < 4; ++j)
PR[i] += (L[i][j] * PRv[j]);
}

if (tavolsag (PR, PRv, 4) < 0.0000000001)
break;

for (i = 0; i < 4; ++i)
PRv[i] = PR[i];
}

kiir (PR, 4);

return 0;
}

PHP_Barbar 2013.03.01. 09:39:43

összesítve:
> labor-pagerank lefuttatása: 8p
> labor-pagerankhoz kapcs. 1. kérdés: 4p
> labor-pagerankhoz kapcs. 2. kérdés: 4p

Összesen: 16 pont.

Scrop 2013.03.01. 10:04:21

labor pagerank futtatása 8p
pagerank 2 feladata : 4+4 p
összesen:
16 p

d_khaba 2013.03.01. 13:15:33

péntek 8-10 laboron:
Pagerank futtatása: 5 pont
lexikális elemző : 5 pont

ma estig elküldhető két plusz feladat:
Töröljük például a JP <- M linket!(4 pont)
kepfeltoltes.hu/130301/pagejpm_no_www.kepfeltoltes.hu_.png
JP -> M linket módosítsuk M -> M linkre.(4 pont)
kepfeltoltes.hu/130301/pagemm_www.kepfeltoltes.hu_.png

összesen:18 pont

KAttilaZs 2013.03.01. 13:29:33

Péntek 8-10 labor:

Pagerank futtatása: 5 pont
2.ea 63.dia 2 feladata: 4-4 pont

Össz: 13 pont

PHP_Barbar 2013.03.01. 17:12:56

Az idővonal kiplakátolása.
Hajdúszoboszlói Közgazdasági Szakközépiskolában.

videoschool.hu/kepfeltoltes/programnyelv_idovonal.jpg

5 pont.

Összesen: 21 pont

Cvanger 2013.03.02. 09:23:22

A könyv feladatai:
113. oldal:
1. gyakorlat: 4 pont
3. gyakorlat: 2.5 pont
4. gyakorlat: 2.5 pont
5. gyakorlat: 4 pont
7. gyakorlat: 4 pont

Lexer: 5 pont

Összesítve: 22 pont

repeatProg1 2013.03.02. 12:12:52

12 pont +nem tudom,hogy megkapom még a 4et.a pagerank kapcsán

I.Csaba 2013.04.21. 19:07:04

@nb: benne van SS-ben, a kod is es futas kozben is
süti beállítások módosítása