Difference between revisions of "IAG0582 - Programmeerimine II"
(→Materjalid) |
(→Näidiskood) |
||
Line 34: | Line 34: | ||
[http://ati.ttu.ee/wiki/index.php/Arvutiklassis_t%C3%B6%C3%B6tamise_juhend#Ligip.C3.A4.C3.A4s_v.C3.A4ljastpoolt_.C3.BClikooli_sisev.C3.B5rke Põhjalikum juhend väljastpoolt sisevõrku töötamiseks] | [http://ati.ttu.ee/wiki/index.php/Arvutiklassis_t%C3%B6%C3%B6tamise_juhend#Ligip.C3.A4.C3.A4s_v.C3.A4ljastpoolt_.C3.BClikooli_sisev.C3.B5rke Põhjalikum juhend väljastpoolt sisevõrku töötamiseks] | ||
− | Üks | + | Üks viis Windowsi alt klassiarvutitesse ühenduda on järgmine: |
+ | *alla laadida endale [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe Putty]. | ||
+ | *Putty käivitamisel tuleks ''Host Name'' lahtrisse kirjutada '''proksi.intra.ttu.ee''' ning vajutada ''Open''. | ||
+ | *Esmakordsel ühendamisel tekib dialoogaken "PuTTy Security Alert", millele võib vastata ''Yes''. | ||
+ | *Avaneb terminaliaken, kus küsitakse kasutajanime. Kasutajanimeks on '''Eesnimi.Perenimi@INTRA'''. (Kui mingil põhjusel INTRA domeenis parool puudub, siis https://pass.ttu.ee/ on võimalik ID kaardiga sisse logida ja parool tekitada. Või kui ka ID-kaart puudub, sisse logimiseks ka sõbra kasutajat kasutada.) | ||
+ | *Peale kasutaja sisestamist vajutada ''Enter'', sisestada parool (trükitud tähemärke ei kuvata tärnidena). | ||
+ | *Kui sisselogimine õnnestus, tuleks teha järgmine ühendus läbi SSH ühte ICT-502 klassiarvutitest, mis on parasjagu Linuxis. Klassiarvutite staatust on näha aadressil http://ati.ttu.ee/klassi-staatus/. Kui sobiv arvuti on leitud, siis SSH ühenduse loomiseks kasutada järgnevat käsku, | ||
kus lx22 asemel on mistahes soovitud arvuti alias. | kus lx22 asemel on mistahes soovitud arvuti alias. | ||
ssh lx22 | ssh lx22 | ||
− | Seejärel on võimalik tööd alustada. Näitekoodi allalaadimiseks terminalis võib kasutada käsku | + | *Seejärel on võimalik tööd alustada. Näitekoodi allalaadimiseks terminalis võib kasutada käsku |
wget http://ati.ttu.ee/~hkinks/iag0582/psql.c | wget http://ati.ttu.ee/~hkinks/iag0582/psql.c | ||
− | Lähtekoodi kompileerimiseks kasutada käsku: | + | *Lähtekoodi kompileerimiseks kasutada käsku: |
gcc psql.c -o psql -lpq | gcc psql.c -o psql -lpq | ||
{| class="wikitable" | {| class="wikitable" |
Revision as of 20:07, 13 February 2014
Õppejõud
- Lembit Jürimägi
- Marina Brik
3. Kodune ülesanne
Andmebaasi ülesanne
- Antud ülesande kaal on 10p eksamil ja see võib olla asendatud harjutustunni õppejõu poolt mingi teise ülesandega.
- Ette on antud olemasolev PostgreSQL andmebaas, mis sisaldab Eesti jõgede andmeid.
Host: ewis.pld.ttu.ee Andmebaas: ablid Port: 5432 Kasutaja: student Parool: iag0582
- Andmestruktuur
File:Jogede andmestruktuur.png
- PostgreSQL dokumentatsioon
- Ülesannet võib lahendada meelepärases programmeerimiskeeles. C kohta on olemas näidiskood ja põhjalikum juhis kompileerimiseks. Java puhul on toodud samuti näidisprogramm, kuid ülejäänud keelte puhul tuleks PostgreSQL andmebaasiga ühenduse loomine iseseisvalt selgeks teha.
Näidiskood
C
Näidiskood - loob ühenduse eelnimetatud PostgreSQL andmebaasiga ja pärib 10 esimest kirjet.
Kompileerida on kõige lihtsam kasutades TTÜ klassiarvuteid, kus on PostgreSQL eelnevalt paigaldatud. Põhjalikum juhend väljastpoolt sisevõrku töötamiseks
Üks viis Windowsi alt klassiarvutitesse ühenduda on järgmine:
- alla laadida endale Putty.
- Putty käivitamisel tuleks Host Name lahtrisse kirjutada proksi.intra.ttu.ee ning vajutada Open.
- Esmakordsel ühendamisel tekib dialoogaken "PuTTy Security Alert", millele võib vastata Yes.
- Avaneb terminaliaken, kus küsitakse kasutajanime. Kasutajanimeks on Eesnimi.Perenimi@INTRA. (Kui mingil põhjusel INTRA domeenis parool puudub, siis https://pass.ttu.ee/ on võimalik ID kaardiga sisse logida ja parool tekitada. Või kui ka ID-kaart puudub, sisse logimiseks ka sõbra kasutajat kasutada.)
- Peale kasutaja sisestamist vajutada Enter, sisestada parool (trükitud tähemärke ei kuvata tärnidena).
- Kui sisselogimine õnnestus, tuleks teha järgmine ühendus läbi SSH ühte ICT-502 klassiarvutitest, mis on parasjagu Linuxis. Klassiarvutite staatust on näha aadressil http://ati.ttu.ee/klassi-staatus/. Kui sobiv arvuti on leitud, siis SSH ühenduse loomiseks kasutada järgnevat käsku,
kus lx22 asemel on mistahes soovitud arvuti alias.
ssh lx22
- Seejärel on võimalik tööd alustada. Näitekoodi allalaadimiseks terminalis võib kasutada käsku
wget http://ati.ttu.ee/~hkinks/iag0582/psql.c
- Lähtekoodi kompileerimiseks kasutada käsku:
gcc psql.c -o psql -lpq
PostgreSQL C API dokumentatsioon
http://www.postgresql.org/docs/9.1/static/libpq.html
Java
Näidiskood - pärib andmebaasist jõed ja moodustab neist jõgede hierarhia.
Ülesanded
Veendumaks, et ühendus andmebaasiga on olemas, võib teha päringu SELECT * FROM joe_andmed LIMIT 10; , mis peaks väljastama 10 esimest kirjet tabelist joe_andmed.
1. Pärida jõed, mille tyyp väli vastab matrikli viimasele numbrile.
2. Pärida seirejaamad, mis paiknevad eelmises punktis leitud jõgedel. (JOIN)
3. Sorteerida tulemus jõgede pikkuse järgi.
4. Lugeda valgla pindala väärtused (valgla_km2) programmi sisse ja leida nende kogusumma.
5. Kirjutada tekstifaili punktis 4 saadud tulemus, mis sisaldaks järgmiseid väljasid: id_jogi, joenimi, tyyp, pikkus_km, id_jaam, jaama_nimi, valgla_km2. Lõppu lisada leitud valglate kogusumma.
Lahenduseks on töötav programm koos lähtekoodiga, mis väljastab tekstifaili tulemusega.