Žymių archyvas C++

A. Vidžiūno C++ ir C++ Builder pradmenys

Kadangi pirmame kurse sėkmingai krimtome C++ kalbos pagrindus ir ją naudodami mokėmės algoritmuoti, teko pasidomėti ir atitinkama literatūra siekiant susipažinti su sintakse, įgauti esminius šios kalbos bruožus ar subtilybes.

Nors daugiausia informacijos rinkausi ir skaičiau iš KTU dėstytojų parašytų ir rekomenduotinų knygų neseniai prisiminiau ir savo įsigytą A. Vidžiūno C++ ir C++ builder pradmenys. Atsimenu, kad kai tik šią knygą įsigijau tuo metu aktyviai savarankiškai domėjausi Pascal kalba ir težengiau pirmuosius savo žingsnius programavimo srityje.

Skaityti daugiau..

C++ knygos savarankiškam mokymuisi

Internete galima rasti nemažai informacijos C++ reference ir kituose panašios puslapiuose. Juose pateikiama informacija yra paprasta ir dažniausiai aiški, tačiau ten nėra išsamių aprašymų, išsamių analizių ir kitų pradžioje būtinų išmokti dalykų, todėl tenka naudotis  pirktomis knygomis.

Skaityti daugiau..

C++ kompiliatorius

Aptarėme nemažai svarbių žingsnių prieš pradėdami rašyti programas ir spręsti uždavinius. Programavimo kalbą šiaip ne taip išsirinkome, tam prireikė net dviejų kartų, UML kol kas lieka man paslaptimi, todėl naudosimės FreeMind programa kurdami strūktogramas. Taigi, atėjo laikas išsirinkti kompiliatorių.

Šiuo metu populiariausi ir dažniausiai giriami yra Microsoft Visual C++, Dev C++ bei CodeBlocks.

Skaityti daugiau..

C++ kartojimas

python.png

Valandomis kai tenka dirbti su Pascal paima nenumaldomas noras sprukti prie C++, tad nusprendžiau įdėti savo C++ žinių kartojimo programėlę. Jeigu tingite skaityti kodą galite parsisiųsti programą ir išmėginti: cplusplus-kartojimas.zip Nieko ypatingo ar įspūdingo:

#include
#include

using namespace std;
int suma (int, int);

int main(int argc, char *argv[])
{

cout << (“Pagaliau radau laiko vel prisesti prie C++”) << endl;
cout << (“Kaip ir kiekviena karta, prie vel kibdamas i rimtus mokslus”) << endl;
cout << (“bandau patikrinti savo jau esamas zinias”) << endl;
cout << (“————————————————————”) << endl;
cout << (“Paprasciausi dalykai: “) << endl;
int a, b, c;
cout << (“Iveskite tris skaicius: “);
cin >> a >> b >> c;
cout << (“suma “) << a+b+c << (” daugyba “) << a*b*c << endl;
cout << (“————————————————————”) << endl;
cout << (“Dirbame su salygos sakiniais”) << endl;
cout << (“a ar b didesnis?”) << endl;
if (a < b)
cout << (“b didesnis uz a”) << endl;
else
cout << (“a didesnis uz b”) << endl;
cout << (“————————————————————”) << endl;
cout << (“dirbame su ciklaus: “) << endl;
cout << (” skaiciu a kelsime kvadratu c kartu: “) << endl;
int i;
for (i = 0; i
a = a*a;
cout << (“Cikle for: “) << a << endl;
}
cout << (“skaiciu b kelsime c kartu: “) << endl;
int j = 0;
while (j < c){
b = b*b;
cout << (“Cikle while: “) << b << endl;
j++;
}
cout << (“————————————————————”) << endl;
cout << (“Dirbsime su funkcijomis, tiksliau sumavimo: “) << endl;
int e,f;
cout << (“Iveskite skaiciu e ir skaiciu f: “) << endl;
cin >> e >> f;
cout << (“Funkcijos pagalba sumuosime ivestus e ir f skaicius: “) << endl;
cout << (“Suma yra: “) << suma(e, f) << endl;
cout << (“————————————————————”) << endl;
cout << (“Ismeginsime masyvu kurima: “) << endl;
int *masyvas = new int[5];
cout << (“Iveskie 5 masyvo elementus: “) << endl;
for(i=0; i<5; i++) {
cin >> masyvas[i];
}
for(i=0; i<5; i++) {
cout << masyvas[i] << ‘ ‘;
}
cout << endl;
cout << (“————————————————————”) << endl;

delete masyvas[];
system(“PAUSE”);
return EXIT_SUCCESS;

}
int suma (int x, int y) {
int suma = 0;
suma = x+y;
return suma;
}

Pagrindinės problemos su kuriomis susidūriau:

  • masyvai – turėjau problemų su rodyklėmis
  • funkcijos – sintaksė, taip pat rodyklės
  • atidumo stoka – dažnai nepastebėdavau paprasčiausių klaidelių, dėl kurių programa neveikdavo
  • Ką rinktis? #2

    chp_lock_binary.jpg

    Vis dėl to apgavau jus ir save rašiniu apie galutinį savo pasirinkimą – Pascal. :) Taip jau išėjo, kad dar kartą pakalbėjęs su vienu savo labai geru, daug pažengusiu, pažįstamu, bei informatikos mokytoja persigalvojau dėl Pascal – vis dėl to, tai niekam nenaudinga programavimo kalba (nors mirusių nėra ir nebus).

    C++ yra sudėtingesnė ir savo sintakse, ir struktūra, tačiau ar verta leisti mėnesius bereikalingo mokslo, kad išmokčiau dirbti su programavimo kalba, kurią geriausiu atveju galėsiu panaudoti diskriminanto skaičiavimo programoms kurti…

    Komentaruose taip pat buvo atsiliepimų, kad ši programavimo kalba (C++) bus sudėtinga, tačiau nemanau, jog smegenų mankštinimas kažkam išėjo ne į naudą. O pats įveikęs šį mokymosi etapą būsiu užtikrintas savo sugebėjimais, įrodysiu sau, kad kažką galiu – to man reikia labiausiai. Taip pat pagrindinis mano kompiuterijos tikslas išmokti būtent C++, o ne kokią nors kitą, ši kalba man atrodo viena pagrindinių dabartinėje IT sferoje, nors daugelis mėgins paneigti.

    Kol kas tiek žinių, pagyvensim ir pamatysim, kaip gyvenimas pasisuks toliau. :)

    C++ – Diskriminanto skaičiavimas

    Seniau, kai tik pradėjau mokytis C++ ir išmokau ciklus parašiau šią diskriminanto skaičiavimo programą. Ji nėra tobula, tačiau vienintelis mano „rimtesnis“ darbas.

    Programos kodas:

    //—————————————————————————

    #pragma hdrstop

    //—————————————————————————

    #pragma argsused
    #include <iostream.h>
    #include <math.h>
    int main(int argc, char* argv[])
    {
    cout << “Programa tikrina ar turi kvadratine lygtis a*x^2 + b*x + c = 0\n”;
    cout << “sprendiniu ar ne\n”;

    int a, b, c, D;
    cout << “Prasome iveskite skaiciu a: \n”;
    cin >> a;
    cout << “Prasome iveskite skaiciu b: \n”;
    cin >> b;
    cout << “Prasome iveskite skaiciu c: \n”;
    cin >> c;

    D= (b * b)-(4*a*c);
    if (D > 0)
    cout << “Lygtis turi du sprendinius”;
    else
    cout << “Lygtis turi viena sprendini, arba ivyko klaida\n”;

    system(“PAUSE”);
    return 0;
    }
    //—————————————————————————

    Pascal

    Po ilgų svarstymų ir abejonių pagaliau nusprendžiau, ką veiksiu netolimoje ateityje – mokysiuosi Pascal ir tarpais gilinsiu C++ žinias.

    Dėl ko taip nusprendžiau? Turiu gan tvirtą paskatinimą. Atsirado žmonių, kurie man galės pagelbėti iškilus vienai ar kitai bėdai, o ir pasiruošti bus lengviau. Nugalėjo ir Pascal paprastumas, nes, kaip jau minėjau, noriu išmokti bent vieną kalbą lygi galo. Taip pat lengviau gausiu mokslams reikalingos informacijos, kurios C++ atžvilgiu praktiškai nėra (lietuvių kalba).

    Taigi, nuo šiol šis mano tinklaraštis virsta, ne tik (per daug) asmeniniu, bet ir apie programavimą, pasakosiu ir dalinsiuosi įspūdžiais apie programavimą, pirmąją pradžią ir laimę pasiekus vieną ar kitą. :)

    Pixel.lt yra šiek tiek kitoks tinklaraštis apie programavimą. Jie laiko save programavimo blog’u, tačiau mano susidaryta nuomone, tai eilinis PHP blogas, kurių išties daug dabartiniame internete.

    Mano parašytos programos ir idėjos taip pat bus viešinamos čia – įdomumo dėlei kartu dėsiu ir programos kodą.

    P.S. Įrašo mintys padrikos ir nerišlios :) Nepykit.

    Ką rinktis?

    chp_lock_binary.jpg

    Nežinau kodėl, tačiau visada pradėdamas iš naujo darbus programavimo klausimais negaliu apsispręsti ką toliau mokytis.

    Šiandien atradęs nemažai laisvo laiko prisiminiau visko, ką buvau išmokęs apie Pascal. Beje pagaliau supratau, kodėl nemėgstu ir niekada nemėgau šios programavimo kalbos – sintaksė baisi. Kodėl? Pavyzdžiui, for i := 1 to 100 do… O C++ viskas paprasčiau ir, tiesą sakant, man labiau suprantama :) pvz.: for(i=1; i<100; i++), galbūt ši kalba lengvesnė mokiniams, kurie savo gyvenimo nesieja su programavimu, matematika ir aplamai su kompiuteriais, tačiau kai jau esi „paragavęs“ kažko rimtesnio Pascal atrodo kažkaip ne taip. Bet ne apie tai…

    Dabar vėl sėdžiu, vaikštau ir mąstau ar nepratęsti toliau C++. Taigi, sumaniau parašyti įrašą ir kartu aptarti šį klausimą.

    Pliusai mokantis Pascal:

    • Mokėsiu programuoti :)
    • Ši kalba paprasta, lengva – greitai mokaisi
    • Išmokęs šią kalbą žinosiu ir perprasiu didžiąją dalį programavimo principų
    • Bus lengviau mokytis kitų programavimo kalbų
    • Lavinamas loginis mąstymas
    • Galėsiu padėti draugams ir pažįstamiems kurie mokosi, mokysis šios kalbos mokykloje

    O dabar pliusai mokantis C++:

    • Mokėsiu programuoti
    • Išmokęs šią kalbą galėsiu programuoti tikras ir normalias programas, kurti projektus, dirbti, bus lengviau universitete.
    • Lengviau perprasiu paprastesnės programavimo kalbas, nes ši nėra tokia jau paprasta ir lengva
    • Lavinimas loginis ir analitinis mąstymas :)
    • Turėsiu tvirtus pamatus informatikos srityje
    • Atsiras kur „padėti“ savo Photoshop įgūdžius (beveik visus užmiršau) – programų grafinės sąsajos kūrimas

    Kaip patys matote pliusų skaičius apylygis :) Sunku nuspręsti, tačiau atsižvelgiu ir į tai, kad Pascal niekur nenaudojama (tik mokyklose) – iš jos praktiškai nėra naudos.

    Tad ką man daryti? Kas turite idėjų, patarimų ar dar ko nors, kas galėtų man praversti?

    Rašykite komentaruose.

    Programavimo kalba

    appendix2-3.gif

    Naujas Rugsėjis – nauji planai mokytis programavimo. Jau metus, o gal ir daugiau mokausi ir domiuosi įvairiomis programavimo kalbomis.

    Tie metai šuniui ant uodegos nenuėjo, tačiau ir išmokti nelabai ką išmokau. Žinau ir moku šiek tiek PHP4, tačiau, tai jau nebėra taip vertinga, nes šiuo metu yra PHP5. Taip pat moku Pascal programavimo pagrindus, nors ši programavimo kalba nėra sudėtinga ir joje nėra kažkokio tokio ypatingo dėl dažno šokinėjimo nuo vienos prie kitos kalbos  nelabai ką žinau ir išmokau.

    Kalbant apie interneto programavimą, tai mokiausi ir gana nemažai CSS,  mūsų interneto ateities, tikiuosi, kad ateityje tai pravers, nors šiuo metu negilinu savo įgūdžio šios kalbos atžvilgiu. O daugiausiai iš visų programavimo kalbų moku C++. Ši kalba yra vienas iš mano pagrindinių tikslų, būtent ją aš noriu ir trokštu išmokti iki pat galo, noriu mokėti ir žinoti šios kalbos visas subtilybes. Nežinau kuo ji mane žavi, tačiau PHP nusivyliau dėl dažnų pasikeitimų, taip pat PHP nėra itin sudėtinga kaip kalba (o tuo metu, kai rinkausi kurią išmokti, tikėjausi iššūkių).

    Dabar siekiu išmokti bent vieną, bet kurią iš šių visų programavimo kalbų. Tad pasirinkau paprasčiausią, nors ir nenaudingiausią – Pascal. Ji patogi ir lengva mokymuisi, o ir jos pradmenys turėjau vienus tvirčiausių.

    Tad nuo šiol kas kelias dienas ar savaites rašysiu ir apie savo pasiekimus programuojant, galbūt išvysite mano sukurtas eksperimentines/mokomąsias programas, kurios nemanau ar bus naudingos jums, tačiau bent bus į ką pažiūrėti ir pasijuokti. :)

    Diskriminanto skaičiavimas

    Programavimo kategorijoje jau pirmoji mano sukurta programa. Visos vėliau pateikiamos programos bus taip pat sukurtos C++ programavimo kalba, kurią mokausi dabar ir bandau žinias pritaikyti naudingiems dalykams, kurie galėtų praversti ne tik man, bet ir kitiems.

    Gali būti, jog ši programa bus naudinga labiau mokyklinio amžiaus žmonėms, tačiau būna gyvenimo akimirkų kai jau ir pabaigusiam mokslus prireikia diskriminanto. Tada pasirodo, jog jau šios formulės neprisimenate.

    Čia jums pagelbės programa, kuri taip pat apskaičiuoja ir kvadratinės lygties sprendinius, tačiau dėl kvadratinės šaknies traukimo bėdų kol kas programa sudaryta taip, jog indeksai turi būti sveikieji skaičiai. Vėliau planuojama padaryti taip, kad programa ištrauktų kvadratinę šaknį suapvalintą, tačiau tuomet mokykliniam variantui ši programa nebetiks, nes dažniausiai mokyklose neleidžia apvalinti šaknies sprendinių.

    Siųstis čia.

    Tęsdami naršymą sutinkate su slapukų (angl. cookies) naudojimu. daugiau...

    Slapukai (angl. cookies) naudojami sukurti patrauklią ir patogią vartotojo sąsają ir užtrikina geriausią naršymą. Spausdami "Sutinku" sutinkate su slapukų naudojimu šioje svetainėje.

    Užverti