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

Tán csodállak, ámde nem értelek, de képzetem hegyvölgyedet bejárja*

2011.02.26. 19:09 nb

*: Petőfi Sándor: Az Alföld című verséből ferdítve,

Mit nekem te zordon Kárpátoknak
Fenyvesekkel vadregényes tája!
Tán csodállak, ámde nem szeretlek,
S képzetem hegyvölgyedet nem járja.

Fogalmam nincs mik a fraktálok. Ködösíteni persze tudok: kompakt halmazok, azaz minden nyílt lefedésükből kiválasztható véges nyílt lefedés (vagy R^n-ben a Heine-Borel tétel következményeként korlátosak és zártak, speciálisan a mutatott kép kapcsán: egy komplex iterációs algoritmus... ) de olyan szinten, mint ahogyan Cantor óta a végtelen fogalmát, vagy Kolmogorov/Chaitin óta a véletlen fogalmát nem értem...

Első "Mandelbrotomat" talán még qbasic-ben (DOS alatt) írtam, a mostani a Páternoszter bevezető C++ példája lesz, egy Qt megvalósítás.

Qt-s állatorvosi ló példánk (ami egyben a "Helló, Világ!"-os példa utáni második bevezető C++ példánk) lesz ez, ezekből a forrásokból indulunk majd ki és finomítunk toövább. A Nokia Qt SDK-t használva ezeket a példákat ugyanúgy élvezheted GNU/Linux és Windows rendszereken is.

A felélesztéshez a Qt Creator-ban készíts egy új Qt Gui App projektet (kattingatás közben a Generate form-ot ne pipáld be, a class neve legyen FrakAblak, aztán majd bal oldalon fent az Edit ikon, hogy lásd a forrásokat, amik közés másold be ezeket, ami van, azt pedig írd fölül.)

Parancssorból így építheted, futtathatod:

[norbi@sgu Frak]$ ls -l
összesen 28
-rw-rw-r--. 1 norbi norbi 2917 febr  27 13.46 frakablak.cpp
-rw-rw-r--. 1 norbi norbi  626 febr  27 13.53 frakablak.h
-rw-rw-r--. 1 norbi norbi 4750 febr  27 13.46 frakszal.cpp
-rw-rw-r--. 1 norbi norbi  799 febr  27 13.54 frakszal.h
-rw-rw-r--. 1 norbi norbi 1408 febr  27 13.46 main.cpp
[norbi@sgu Frak]$ qmake-qt4 -project
[norbi@sgu Frak]$ qmake-qt4 Frak.pro
[norbi@sgu Frak]$ make
[norbi@sgu Frak]$./Frak
main.cpp

// main.cpp
//
// Mandelbrot halmaz rajzoló
// Programozó Páternoszter
//
// Copyright (C) 2011, Bátfai Norbert, nbatfai@inf.unideb.hu, nbatfai@gmail.com
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Bár a Nokia Qt SDK éppen tartalmaz egy Mandelbrotos példát, de
// ezt nem tartottam megfelelõnek elsõ Qt programként ajánlani, mert elég
// bonyolult: használ kölcsönös kizárást stb. Ezért "from scratch" megírtam
// egy sajátot a Javát tanítokhoz írt dallamára:
// http://www.tankonyvtar.hu/informatika/javat-tanitok-2-2-080904-1
//

#include <QtGui/QApplication>
#include "frakablak.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // További adatokat olvashatsz le innen:
    // http://www.tankonyvtar.hu/informatika/javat-tanitok-2-3-080904
    FrakAblak w1,
    w2(-.08292191725019529, -.082921917244591272,
       -.9662079988595939, -.9662079988551173, 600, 3000),
    w3(-.08292191724880625, -.0829219172470933,
       -.9662079988581493, -.9662079988563615, 600, 4000),
    w4(.14388310361318304, .14388310362702217,
       .6523089200729396, .6523089200854384, 600, 38655);
    w1.show();
    w2.show();
    w3.show();
    w4.show();

    return a.exec();
}

Tekerj a tovább linkre, ha érdekel.

16 komment

Címkék: nokia fraktál mandelbrot sdk qt qbasic qt creator

Kapcsolat: Isten üzenete?

2011.02.25. 19:58 nb

A Kapcsolat című film a hit kérdését boncolgatja, de nem úgy a könyv, melyben az Einstein-Rosen hídon keresztüli utazáson nem csak Ellie vesz részt, hanem egy nemzetközi csapat. Így a "megtörtént-e" nem merül fel az olvasóban. Carl Sagan azzal zárja említett könyvét, hogy Dr. Eleanor Arroway a kereső algoritmusokat a Pi kifejtésére engedi rá... majd dob neki egy mailt a szupergép, hogy üzenetet talált... s nos ugye, ki küldhetne üzenetet a matematika testében...

Programozóként a második előadás (Kolmogorov bonyolultság) óta a Pi kifejtését nem tartjuk érdekesnek, mert nem egy véletlen sorozatról van szó (az Omega, az igen, az véletlen :)

Személyes sztorim, hogy a film megnézése után első utam a számolóközpontba vezetett, ahol a Ramanujan formulával vagy 3 kemény jegyet ki is tudtam számítani... ha akkor valaki mondta volna, hogy 1995-től a Bailey-Borwein-Plouffe (BBP) algoritmussal valóban élvezhettem volna a számításokat... hú, hát az igazán izgalmas estéket hozott volna. Nos, a mostani hallgatóim már élvezhetik: a PP-ben a Bailey David H.: The BBP Algorithm for Pi cikket implementáltam C-ben (de van elosztott és több processzoros klónja is itt, illetve Javában is megírtam a Javát tanítokban).

2 kisbajnokság

Aki először beküldi kommentben a saját C progijával generált 1.000.000. hexa jegytől 1000 darab hexa jegyet. Ha bizonytalan vagy a kimenetben, megnézheted a hivatkozott Javát tanítokban, de ki tudja az nem hibás-e... a http://pi.nersc.gov/ lapon is beírhatod amit kimenetre kaptál, ott bináris pozícióban ("search string found at binary index") kapod, ha megtalálja a mintát, a 4.000.000. helytől kell megtalálnia :)

1 komment

Címkék: hexa bbp pi jegyei bailey borwein plouffe

süti beállítások módosítása