#include
cout << "n"; cout << "Uus kasutaja nimega " << username << " loodud! nAsud hetkel ruumis " << ruum << ".n"; K2sud: cout << "Mida sisestada, et saada andmeid laburindist? n"; cout << "Asukohast ja edasiliikumisest: "kus".n"; cout << "Millised isikud veel samas ruumis: "kes".n"; cout << "Käskudest: "abi".n"; cout << "Labürindis liikumiseks kirjuta vastav ilmakaar, kuhu tahad liikuda!.n"; cout << "Tudengi loodud laburyndi sisestamiseks: "tudeng".nn "; while (1) { string cmd; cin>>cmd; if (cmd == "exit") goto End; if (cmd == "kus") p1->getRoom()->print(); else if (cmd == "kes") p1->getRoom()->printPlayers(); else if (cmd == "abi") goto K2sud; else if (cmd == "tudeng") goto Labyrinth2; else p1->move(cmd); } End: cout << "Press ENTER to exit." << endl; cin.ignore(100,'n'); return EXIT_SUCCESS; Labyrinth2: cout << "Tudengi loodud labyrint. n";
" << endl;
}
if(action==1){
op1->attack(op2);
}
}
else{
op1->attack(op2);
}
}
if(op1->getHP()<=0 || op2->getHP()<=0){
break;
}
if(i
/*
Koostada programm, mis auto registreerimismärgi (autonumbri) numbri alusel
otsustab, kas tegemist on tavalise, eritellimusel tehtud või reeglitele
mittevastava numbrimärgiga.
Tavalisel numbrimärgil on kaks või kolm numbrikohta, millele järgnevad
kolm tähte. Näiteks "367ARZ", "82ZBG". Tellitud ja muud erinumbrid on
kuni 9-märgilised, millest vähemalt üks on number, teised on tähed.
Näiteks "MEDIA7", "R2", "MARIKA13".
Esitamise tähtaeg - 3. märts 2014
*/
char regn[100];
int length = 0, i, j=0;
printf("Sisesta registreerimism4rgi number > ");
scanf("%s", regn);
length = strlen(regn);
//printf("%dnn", length);
// 1 Reeglitele vastavus
// 1.1 Reg. nr. pikkus
if ( length < 2 || length > 9 ){
printf("nReg. number %s ei vasta reeglitele!n", regn);
return 0;
}
// 1.2 Sisaldab vähemalt 1 numbrit
for(i=0, j=0;i
using namespace std;
// BST - Binary Search Tree
// http://en.wikipedia.org/wiki/Binary_search_tree
// Täisarvude otsimise kahendpuu koosneb dünaamilisse mällu paigutatavatest
// omavahel viitadega seotud tippudest:
struct node
{
int value;
int kordsus;
node *left, *right;
node( int uus)
{
value = uus;
kordsus = 1;
left = NULL;
right = NULL;
}
void insert( int v )
{
if(v == value)
{
kordsus++;
}
else
if ( v < value )
{
if( left == NULL)
{
node *uus = new node(v);
left = uus;
}
else left->insert(v);
}
if ( v > value )
{
if( right == NULL)
{
node *uus = new node(v);
right = uus;
}
else right -> insert(v);
}
}
int search( int v )
{
if(value == v)
{
cout<<" esineb puus "<
using namespace std;
// BST - Binary Search Tree
// http://en.wikipedia.org/wiki/Binary_search_tree
// Täisarvude otsimise kahendpuu koosneb dünaamilisse mällu paigutatavatest
// omavahel viitadega seotud tippudest:
struct node
{
int value;
int kordsus;
node *left, *right;
node( int uus)
{
value = uus;
kordsus = 1;
left = NULL;
right = NULL;
}
void insert( int v )
{
if(v == value)
{
kordsus++;
}
else
if ( v < value )
{
if( left == NULL)
{
node *uus = new node(v);
left = uus;
}
else left->insert(v);
}
if ( v > value )
{
if( right == NULL)
{
node *uus = new node(v);
right = uus;
}
else right -> insert(v);
}
}
int search( int v )
{
if(value == v)
{
cout<<" esineb puus "<
int sisse()
{
printf("Sisesta tekstirida (kuni 25 symbolit):");
scanf("%s", &S);
printf("Sisesta esimene symbol:");
scanf("%s", &c1);
printf("Sisesta teine symbol:");
scanf("%s", &c2);
return 0;
}
int lause()
{
int i,j,n1,n2,l;
l=strlen(S);
n1=100;
n2=100;
for(i=0; i
Algoritmide ja andmestruktuuride
Praktikum
Sügis 2009
Koostas: Elli Kopli
Juhendas: Ain Isotamm
Praktikum 2 (14.09.2009)
Ülesanne 1
Koosta programm, mis küsib kasutjalt lause ja siis pöörab selle ümber. Programmi ajaline
keeukus on O(n).
Lahendus
#include
Algoritm
Programmikood
#include
2) faili F2 väljastatakse keskmisest madalama vanusega kirjed;
3) faili F3 väljastatakse keskmiset suurema palgaga kirjed.
Programmikood
#include
Otsime
massiivist etteantud arvuga võrdset elementi. Etteantud elementi võrdleme massiivi
keskmise elemendiga, kui etteantud element on keskmisest väiksem võrdne siis
jätkame otsinguid massiivi esimeses pooles vastasel korral teises pooles. Võrdleme
etteantud elementi järelejäänud massiviosa keskmise elemendiga jne. Otsingu lõpu
tunnusena võime kasutada tingimust et alammassiivi suurim element on suurem
vähimast.
C++ kood on järgmine(kasutades while tsükli lauset):
#include
h>
#include
TARTU ÜLIKOOLI TEADUSKOOL PROGRAMMEERIMISE ALGKURSUS 2005-2006 Sisukord KURSUSE TUTVUSTUS: Programmeerimise algkursus.........................................6 Kellele see algkursus on mõeldud?..................................................................6 Mida sellel kursusel ei õpetata?.......................................................................6 Mida selle kursusel õpetatakse?......................................................................6 Kuidas õppida?.................................................................................................7 Mis on kompilaator?.............................................................................................8 Milliseid kompilaatoreid kasutada ja kust neid saab?......................................8 Millist keelt valida?...........................................................................................8 ESIMENE TEEMA: sissejuhatav sõnavõtt ehk 'milleks on v
1. Klvaiatuurilt korduvalt sisestatakse naturaalarvud;
2. ekraanile väljastatakse neev arvud, mis ei sisalda korduvaid numbreid;
3. jätkatakse kuni küsimusele järkamse soovi kohta sisestatakse vastus 'ei'.
4
Algoritm
5
6
Programmikood
#include
#include
Pärast kõike väärtuste sisestamist, programm alustab arvutama. Esimeseks ta arvutab kõike
x väärtuste valemi x=a+k*h kaudu, ja prast trükkib seda erkaanile. Edasi programm
kontorllib kas on mittetäidetavad tingimused (murru nimiteaja on 0 []; ruutjuur negativsest
arvut [x>0] ) kui sellist tingimusi ei ole, siis programm alustab arvutama funktisooni väärtus
f(x) Arvutamist tükkel kordub kuni (a+(k-1)*h) < b kus k on x väärtuse positsioon.
Oma programmis kasutasin for, do while ja while tsüklid ning veel ka if funktsioon.
Graafik
Algoritm
Programm
#include
//Programm, mis kirjutab isikukoodist sünniaja välja.
#include
#include
scanf("%lf", &a); printf("Sisesta lõppväärtus b: "); scanf("%lf", &b); printf("Sisesta argument n: "); scanf("%lf", &n); h = (b-a)/n; for(i=0; ((a+i-1)*((b-a)/n)) < b; i++) { x = a+i*h; printf("%.2lf | ", x); if((4-pow(x,2))==0) //ehk kui funktsiooni nimetaja võrdub nulliga { printf("antud kohal määramatan"); } else { y=((sqrt(pow(x,3))+4*pow(x,2))-(4-pow(x,2))); //siin on 23. funktsiooni valem printf("%.3lfn", y); } } getchar(); getchar(); return 0; }
scanf ("%lf" , &a);
printf("Sisesta samm b: n");
scanf ("%lf" , &b);
printf("Sisesta sammude arv h: n");
scanf ("%lf" , &h);
int i;
for (i=0; i
VARIANT A
#include
e=p[1][(a+1)%n]; //Y2 f=sqrt(((d-b)*(d-b))+((e-c)*(e-c))); //arvutamise valem (sqrt tahab math.h) printf("Pikkus %lf n", f); } } int main(){ //Phiprogramm int n; n=sisestus(); // n saab väärtuse double p[2][n]; if (n < 2 || n > 10) // proge kitsendus, lesandes oli 1-10 aga he punktiga ei ole kuskile kaugust arvutada { printf("Tippude arv on kas liiga suur või väiken"); // veateade } else { sisestus2(n,p); arvutus(n,p); } } //Made by Voodoo
TALLINNA TEHNIKAÜLIKOOL INFOTEHNOLOOGIA TEADUSKOND Arvutitehnika instituut Süsteemitarkvara õppetool IAX0583 Programmeerimine I FUNKTSIOONI TABULLEERIMINE Kodutöö nr.1 Tallinn 2017 Autorideklaratsioon Kinnitan, et käesolev töö on minu töö tulemus ja seda ei ole minu ega kellegi teise poolt varem esitatud. Tallinn 2017 Ülesanne saadi matriklikoodi järgi genereerides. Tingimused: 1) Kõik algandmed on reaalarvulised ning sisestatakse klaviatuurilt. 2) Tulemused väljastatakse tabeli kujul, mille veergudeks on vastavalt argumendi ja funktsiooni väärtused st. kujul Argument | Funktsioon X1 | Y1 X2 | Y2 jne 6. On antud argumendi x algväärtus A, samm H ning funktsiooni väärtuse y ülempiir YM. Kehtivad tingimused: H > 0.
4
Algoritm
5
Programmikood
#include
= 5) temp[x++] = massiv[j]; 2. Find the longest numbers sequence (for example out of array [1111223344] -> sequence of number 1) int[] massiv = {}; int count = 1; int result = 0; int number = -1; for (int i = 1; i < massiv.length; i++) { if (massiv[i] == (massiv[i-1])) { count++; } else { count = 1;}обновляем, если цифра поменялась if (result <= count) { result = count; number = massiv[i]; 3. Find the biggest and the smallest element of array int numbers[] = {}; int smallest = numbers[0]; int largetst = numbers[0]; for(int i=1; i< numbers.length; i++){ if(numbers[i] > largetst)
Faktilised parameetrid: syt korral m ja n Tagastusväärtus: a public class Euclid { public static void main (String[] param) { int m=15; int n=6; if (param.length > 1) { m=Integer.parseInt (param [0]); n=Integer.parseInt (param [1]); } System.out.println ("SYT (" + m + ", " + n + ") = " + syt (m, n)); } // main public static int syt (int a, int b) { while (b != 0) { int j22k = a % b; a = b; b = j22k; } return a; } // syt } // Euclid Massiiv Kui muutujaid on vähe, siis pole ka probleemi neile nimede leidmisega. Näiteks ruutvõrrandi lahendamise programmis leidsime kaks lahendit ja võisime neid nimetada x1 ja x2. Kui peaksime aga arvutama 1000 väärtust mingi rutiinse reegli järgi, siis oleks väga ebamugav kirjeldada 1000 eraldi muutujat. Ka tavaelus oleks
aspx Meetodid Beep() Mängitud piiks läbi konsooli kõneleja. Clear Kõrvaldab puhvri konsooli ja selle akna kuvada teavet. MoveBufferArea (Int32, Int32, Int32, Koopiad konkreetsest allikast ekraani pindala puhverlahust Int32, Int32, Int32) ettenähtud sihtkohta piirkonnas. MoveBufferArea (Int32, Int32, Int32, Koopiad konkreetsest allikast ekraani pindala puhverlahust Int32, Int32, Int32, Char, ettenähtud sihtkohta piirkonnas. ConsoleColor, ConsoleColor) OpenStandardError () Omandab standardviga oja. OpenStandardError (Int32) Omandab standardviga oja, mis on määratud puhvri suurust. OpenStandardInput () Tagastab standardsisendit oja. OpenStandardInput (Int32) Tagastab standardsisendit oja, mille jaoks nimetatud puhvri suurust. OpenStandardOutput () Tagastab standardväljundisse oja.
#include
TALLINNA TEHNIKAÜLIKOOL INFOTEHNOLOOGIA TEADUSKOND Arvutitehnika instituut Süsteemitarkvara õppetool Eesnimi Perekonnanimi 000000IASB IAG0581 Programmeerimine I FUNKTSIOONI TABULLEERIMINE Kodutöö nr.1 Juhendaja: dotsent Vladimir Viies Tallinn 2011 Autorideklaratsioon Kinnitan, et käesolev töö on minu töö tulemus ja seda ei ole minu ega kellegi teise poolt varem esitatud. Eesnimi Perekonnanimi Sisukord Argument | Funktsioon.......................................................................... 4 Tabulleerimise meetod(0. variant): On antud agrumendi alg- ja lõppväärtus A ja B, samm H ning sammu koeffitsient C; kusjuures peavad kehtima tingimused B > A ja H,C > 0. Funktsiooni väärtust arvutatakse punktides A, A + H, A + H + C*H, A + H + C*H + C2
print(pykkarX) print(pykkarY) print(maailmaLaius) print(maailmaPikkus) def genereeriMaailm(laius, pikkus, pykkarX, pykkarY): tekst = "" for i in range(0, laius): # teeb ülemise rea ära tekst += "#" tekst += "n" for i in range(0, pikkus-2): # -2 selleks, et me teeme juba ülemise ja alumise rea ära tekst += "#" for j in range(0, laius-2): if(pykkarX == j and pykkarY == i): tekst += genereeriSuund() else: tekst += " " tekst += "#n" for i in range(0, laius): #teeb alumise rea ära tekst += "#" return tekst def genereeriSuund(): suund = random.randint(0, 3) if(suund == 0): return "^" elif(suund == 1): return ">" elif(suund == 2): return "v" else: return "<" print(genereeriMaailm(maailmaLaius, maailmaPikkus, pykkarX, pykkarY)) pykkar
TALLINNA TEHNIKAÜLIKOOL INFOTEHNOLOOGIA TEADUSKOND Arvutitehnika instituut Süsteemitarkvara õppetool 121055IASB IAG0081 Programmeerimine I MASSIIVID Kodutöö nr.2, varjant 664 Juhendaja: dotsent Vladimir Viies Margit Aarna Koostaja: Peeter Sikk Tallinn 2012 Autorideklaratsioon Kinnitan, et käesolev töö on minu töö tulemus ja seda ei ole minu ega kellegi teise poolt varem esitatud. Peeter Sikk 121055IASB Sisukord Ülesande püstitus 1. Klaviatuuril sisestatakse reaalarv vahemiksu 0-1. 2. Moodustatakse reaalarvuline massiiv A elementidega · · · ...... Kuni massiivi A elementide arv L kas
16 TMR0 = 0; 17 int n=126, m=30; 18 // Seadistatakse taimer: PS2=1, PS1=1, PS0=1, see on sagedusjagur 1:256 19 OPTION_REG = 0b00000111; 20 21 TRISD=0; // PORTD Data Direction Register 22 TRISC &= 0b11011111; // RC5 (kollane diood) väljundiks 23 24 // AN0 analoogisisend, ülejäänud digitaalsisendid 25 ADCON1 = 0b00001110; // A/D Control Register 1 26 27 while(1){ 28 if (m==0){ 29 if (RC5) RC5=0; else RC5=1; // Vigutab plaadil kollast valgusdioodi 30 m=30; 31 } 32 if (RA3) 33 PORTD=0b01011110; //0b10101010; 34 else{ 35 if (n==0){ 36 PORTD=tabel[number]; 37 number++; 38 if (number>9) number=0; 39 n=126; 40 } 41 } 42 // Igal taimeri ületäitumisel vähendatakse n-i väärtust ühe võrra 43 // ja nullitakse taimer 44 if (INTCON & Q_taimer){
1 Loeng. Sissejuhatus Võtmesõnad: abstract assert boolean break byte case catch char class const* continue default double do else enum extends final finally float for goto* if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while NB! Tunduvad võtmesõnadena, aga on literaalid: false null true Algtüübid: Täisarvud · byte(8-bitiline), short(16-bitiline ), int(32-bitiline), long(64-bitiline) Ujukomaarvud · float(32-bitiline), double(64-bitiline) Tõeväärtused · boolean(true, false) Sümbolid · char(16-bitiline Unicode-sümbol, 'u0000'(0) kuni 'uffff'(65535)) Nimi: · on tõstutundlik · võib sisaldada tähti, numbreid, _ , $ · ei tohi alata numbriga