Informatika2-2012/Gyakorlat01

A MathWikiből
(Változatok közti eltérés)
a
(Feladatok)
52. sor: 52. sor:
 
== Feladatok ==
 
== Feladatok ==
  
==== print2 ====
+
Minden feladathoz nyiss új projektet a CodeLite-ban!
Egészítsd ki a következő kódot
+
 
 +
===== Feltételes print =====
 +
Egészítsd ki a következő kódot a megjegyzések helyén!
  
 
<c>
 
<c>
 
#include<stdio.h>
 
#include<stdio.h>
  
int main(void){
+
int main(void) {
     /* x és y változók deklarálása */
+
     /* x és y változók deklarálása, értékadás */
  
 
     printf("X erteke: %d\n", x);
 
     printf("X erteke: %d\n", x);
66. sor: 68. sor:
 
     printf("\n");
 
     printf("\n");
  
     /* egy feltételes utasítással (if) érd el hogy mindig igaz állítás kerüljön a képernyőre*/
+
     /* egy feltételes utasítással (if, else if, else) érd el hogy mindig igaz állítás kerüljön a képernyőre */
     printf("A %d nagyobb mint az %d!\n", x, y);
+
     printf("%d nagyobb mint %d!\n", x, y);
     printf("A %d nagyobb mint az %d!\n", y, x);
+
     printf("%d nagyobb mint %d!\n", y, x);
 +
    printf("%d ugyanannyi mint %d!\n", x, x);
 +
 
 +
    return 0;
 +
}
 +
</c>
 +
 
 +
===== For ciklus =====
 +
Segítségnek itt egy for ciklus példa: 0-tól 9-ig kiírjuk a számokat, vagyis a ciklusváltozó értékét (általában ''i''-nek vagy ''j''-nek nevezzük a ciklusváltozót, ami tipikusan minden körben növekszik eggyel, de persze máshogy is lehetne):
 +
 
 +
<c>
 +
int i;
 +
for (i=0; i<10; i++) {
 +
    printf("A ciklusváltozo erteke: %d\n", i);
 +
}
 +
</c>
 +
 
 +
Egészítsd ki a következő kódot a megjegyzések helyén! Egy-egy külön változóban legyen a ciklusváltozó kezdőértéke (''start_i'') és utolsó értéke (''end_i''), adj nekik értéket!
 +
 
 +
A for ciklusban ''i'' legyen a ciklusváltozó, és az értéke hármasával növekedjen vagy csökkenjen (attól függően hogy ''start_i'' vagy ''end_i'' a nagyobb).
 +
 
 +
<c>
 +
#include<stdio.h>
  
 +
int main(void) {
 +
    /* start_i és end_i változók deklarálása, értékadás */
 +
    /* i-t is deklarálni kell ! */
 +
   
 +
    for (/* inic. */ ; /* feltétel */; /* minden ciklusmag végén */) {
 +
        printf("%d\n", i);
 +
    }
 
     return 0;
 
     return 0;
 
}
 
}
 
</c>
 
</c>

A lap 2012. február 9., 10:20-kori változata

Tartalomjegyzék

C fordítás konzolban

Első fordítás gcc-vel

Nyiss egy szövegszerkesztőt, és másold be egy új fájlba a "hello.c" kódját:

#include <stdio.h>
int main() {
    int x = 2;
    printf("hello world! %d\n", x);
    return 0;
}

Nyiss egy konzolt és menj abba a könyvtárba (cd paranccsal) ahová elmentetted a "hello.c"-t.

Fordítsd le, készíts "hello" nevű futtatható fájlt:

gcc -o hello hello.c

Futtasd le a kapott programot!

Második fordítás gcc-vel

Mostantól használjuk a gcc warning-kapcsolóit, hogy lássuk a kisebb hibákat, figyelmeztetéseket is!

gcc -W -Wall -o hello hello.c

Rontsd el a "hello.c" kódot a következő módokon, majd mindig mentsd el és fordítsd le újra (és a következő elrontás előtt mindig állítsd vissza a helyes verziót):

  • törölsz egy pontosvesszőt a sor végéről
  • a printf-es sorban x helyett valami más betűt írsz
  • létrehozol egy y nevű egész típusú változót az x után, de nem használod a kódban
  • kitörlöd az utolsó } -t
  • törlöd a "return 0;" sort


CodeLite használata

Beállítások

  • Indítsd el a CodeLite fejlesztői környezetet!
  • Állítsd át az indentálást (tabulálást/beljebbezést) a Settings -> Global Editor Preferences menüpont alatt a General -> Indentaiton résznél hogy ne használjon tab karaktereket
  • Hozz létre egy új Workspace-et és benne egy új projektet (mindenképp külön könyvtárban: Create the project under a separate directory legyen bepipálva), segítség itt az oldal vége felé

Használat

  • Minden feladat megoldását új projektbe kell tenni, hogy a main() függvények ne ütközzenek (egy projekten belül nem lehet több belőle).
  • A narancssárga az aktív projekt a workspace-en belül. Ha menüből kiválasztod a fordítást (Build -> Build project vagy F7 billentyű) akkor ez mindig az aktív projektet fogja lefordítani, ha épp másik file van megnyitva a szerkesztődben, akkor is! Ugyanígy a futtatásnál is (menüből Build -> Run vagy Ctrl-F7) az aktív projekt main() függvénye fog lefutni!


Feladatok

Minden feladathoz nyiss új projektet a CodeLite-ban!

Feltételes print

Egészítsd ki a következő kódot a megjegyzések helyén!

#include<stdio.h>
 
int main(void) {
    /* x és y változók deklarálása, értékadás */
 
    printf("X erteke: %d\n", x);
    printf("Y erteke: %d\n", y);
 
    printf("\n");
 
    /* egy feltételes utasítással (if, else if, else) érd el hogy mindig igaz állítás kerüljön a képernyőre */
    printf("%d nagyobb mint %d!\n", x, y);
    printf("%d nagyobb mint %d!\n", y, x);
    printf("%d ugyanannyi mint %d!\n", x, x);
 
    return 0;
}
For ciklus

Segítségnek itt egy for ciklus példa: 0-tól 9-ig kiírjuk a számokat, vagyis a ciklusváltozó értékét (általában i-nek vagy j-nek nevezzük a ciklusváltozót, ami tipikusan minden körben növekszik eggyel, de persze máshogy is lehetne):

int i;
for (i=0; i<10; i++) {
    printf("A ciklusváltozo erteke: %d\n", i);
}

Egészítsd ki a következő kódot a megjegyzések helyén! Egy-egy külön változóban legyen a ciklusváltozó kezdőértéke (start_i) és utolsó értéke (end_i), adj nekik értéket!

A for ciklusban i legyen a ciklusváltozó, és az értéke hármasával növekedjen vagy csökkenjen (attól függően hogy start_i vagy end_i a nagyobb).

#include<stdio.h>
 
int main(void) {
    /* start_i és end_i változók deklarálása, értékadás */
    /* i-t is deklarálni kell ! */
 
    for (/* inic. */ ; /* feltétel */; /* minden ciklusmag végén */) {
        printf("%d\n", i);
    }
    return 0;
}
Személyes eszközök