PRAKTIKE 

GJIMNAZI PROFESIONAL HASAN D. GINA

SAMUEL BUSHI
KLASA 12 TIK 


SHENIMET DHE PROJEKTET PER SEMESTRIN E PARE

Shtator 2020 - Janar 2021

Detyre per temat mesimore te zhvilluara gjate oreve te praktikes per lenden profesionale "Praktike" duke perfshire mesimet e oreve mesimore, temat e humbura dhe projekte shtese.
Mesuese: Anisa Gj. Beqo


Perditesuar me: 1 Shkurt 2021
Keto shenime jane te paperfunduara dhe do te perditesohen me kalimin e kohes.

Gjate shenimeve ka shembuj nga gjuha C dhe C++ njekohesisht.
SPS: A01

TEMA

Hello World ne C 

Zakonisht eshte e natryshme qe ne librat e programimit apo tutorialet te fillohet me programin "Pershendetje Bote", sic eshte i demonstruar me siper. Kjo gjithashtu tregon se sa kod duhet per te printuar nje tekst ne secilen gjuhe.


#include <stdio.h>

int main() {
printf {"Pershendetje bote!"};
return 0;
}

Funksioni main eshte progrmi me i vogel i ekzekutueshem ne C, i cili nuk bene asgje. Gjithashtu mbaje parasysh qe Main dhe main ne C nuk jane njesoje, qe do te thote qe gjuha eshte case sensitive apo e ndjeshme ndaj madhesise se karaktereve.

Nje zberthim i thjeshte per kodin e mesiperm mund te jete si me poshte:

int = Nje vlere kthimi, perdoret per numrat e plote
main = Emri ose treguesi i funksionit, "main" eshte gjithmone funksioni hyres dhe funksioni kryesor
() = Mes kllapave qendorjne parametrat, informacione qe futen ne funksion per perpunim
{} =Brenda kllapave ndodhen udhezimet e kodid, zhvillimi etc

TEMA

Llojet e Te Dhenave

Per ruajten e te dhenave ne memorien e kompjuterit perdorim ato qe quhen variabla.
Variablat mund te jene te tipeve te ndyrshme, ne varesi te te dhenave qe duhet te ruajne.
Variablat mund te jene constante ose te pa ndryshueshme nga vlera fillestare ose dinamike dhe te ndyrshueshme.

Shembull i deklarimit te disa variablave:

int i; 
char z;
int numeriplote;
const float temperatura = 21.432; // const == constant

Per deklarimin e nje variable duhen:
- Emri i variablit
- Tipin e variablit ne varesi te asaj cfare ruajme

TEMA

Operatoret

Operatori i dhenies se vleres se nje variabli:

d = 7;

Kur japim vlera gjithmone veprohet nga e djatha ne te majte. Asnjehere ne drejtim te kundert.

Ky statement i jep d vleren e a:

d = a;


Ketu jepet vlera 7 te tre variablave a, b, c:

a = b = c = 5;

TEMA

Leximi dhe prodhimi i datave

Shembull prodhimi te dhenash gjate praktikes:

printf (Text);

Shembull ne C te prodhimit te te dhenave ne ekran, gjuha C kerkon deklarim te tipit te te dhenave perpara afishimit sic eshte demonstruar me poshte:

printf (%d + %d jep %d.", x, y, prodhimin);

Pervec %d ekzistojne edhe elemte te tjere per tipe te tjera te te dhenave, te renditura me poshte:

%d - int : Numer Decimal

%u - unisgned int : Numer Natyror (Decimal)

%x - unsigned Int : Numer Hexadecimal

%o - unsigned Int : Numer Oktal

%c - char : Element i vemet (ASCII)

%s - char* : Varg Elementesh (String)

%f - float, double : Numrat me Presje

%e - float, Doule : Numrat me presje ne perfaqesim exsponecial

%g - float, double : Numrat normal ose exponecial me presje

TEMA

Sekuencat Escape

Backslash krijon nje esapce-sequence "\"

\n


Me poshte jane te renditura te gjitha mundesite e escape-sequence:

\a - Bell (Tingull Standart)

\b - Backspace

\f - Zhvendosje faqesh

\n - New Line

\r - Rikthim

\t - Tabulator

\v - Tabulator vertikal

\' - Dhenia e thonjzave teke

\'' - Dhenia e thonjzave dyshe

\\ - Backslash

\ooo - Numra oktal

\xhh - Numra hexadecimal

TEMA

Leximi i datave nga tastjera me scanf()

Shembull:

scanf ("%d", &i);

TEMA

Komentet

Komentet injorohen nga kompilatori dhe sherbejne vetem per lexim me te lehte te kodid dhe orientim te programuesit. 

Shembull i perdorimit te nje komenti:

/* Koment per orientim */

TEMA

Operatoret

Operatoret perdoren per disa qellime, per shembull operatoret llogjike perdoren per kombinimin e disa kushteve.

if (mosha > 18) {if (sasia > 500) {System.out.println(“Mirësevini”,!");}}


Me poshte kemi te renditura shumicen e operatoreve:

OPERATORET ARITMETIK

[+] - Mbledhje
[-] - Mbledhje
[*] - Shumezim
[/] - Pjestim
[%] - Pjesa qe gjendet
[++] - Rritje[--] - Zbritje

OPERATORET E KRAHASIMIT

[>] - Me e madhe
[<] - Me e vogel
[==] - Eshte e barabarte
[!=] - Nuk eshte e barabarte
[>=] - Me i madhe ose i barabarte
[<=] - Me i vogel ose i barabarte.

OPERATORET LLOGJIK

[&&] - Dhe
[||] - Ose
[!] - Jo

TEMA

Loops

Nje loop ekzekutohet aq here sa e ka percaktuar kushti.


LOOP-FOR
Nese numri qe do te perseritet loopi ose i rotacioneve eshte i njohur atehere kemi zgjedhur Loop-For

DO WHILE-LOOP
Do While-loop perdoret per ekzekutimin e udhezimeve per aq kohe sa kushti (!=0) plotesohet.

WHILE LOOP
While-loop perdoret per aq kohe sa kushti i cili duhet te deklarohet perpara rotacionit te pare eshte i vertete.

LOOP I PAFUND
Per deklarimin e nje loopi me rotacione te pafundme perdorim:

for (; ;) ...;
while (1) ...;
do {} ...;

Loopet mund te kombinohen midis tyre, ekzekutimi i loop behet brenda loopit tjeter.

TEMA

Vendimet

Kufizimi i udhezimeve me ane te nje kushti eshte i mundur.

IF:

if(kushti) {
udhezimi}


IF ELSE
Duke vleresuar kushtin, nese kushti eshte plotesuar (kushti !=0) udhezimi do ekzekutohet ne baze te kushtit. Nese kushti nuk plotesohet (kushti == 0), komanda do ekzekutohet.

if (kushti)
{udhezimi true} 
else {udhezimi fals}


ELSE-IF
Nese eshte e nevojshme te marim me shume se dy vendime perdorim kombinimin else-if.

if (kushti) 
{ Udhezimi true}
else if (kushti) {udhezimi true}
else if (kushti) {udhezimi true}
else {udhezimi}

TEMA

Switch

Switch-case eshte nje forme speciale e ndertimit te else-if. Switch-case perfshin jne grup te gjere mundesish.
Switch-case mund te perdoret gjithashtu me else-if.

switch (termi)
{ case const1: Udhezimi;
  case const2  Udhezimi:

  case constn: Udhezimi:
  default:     Udhezimi;
}

TEMA

Funksionet

Funksionet jane pjese te perfunduara programi qe mund te riperdoren gjate kodit. 
Cdo program ka nje funksion hyres, nga ku ekzekutohen dhe funksionet e tjere. 

double add_two_doubles(double a, double b) {trupi i funksionit}

**SHENIMET JANE TE PA-PERFUNDUARA PLOTESISHT**


Ushtrime te zgjidhura ne gjuhen C:


Program qe gjen madhesine e variablave:

#include<stdio.h>
int main() {
int intType;
float floatType;
double doubleType;
char charType;

// llogarisim madhesite
printf("Madhesia: %zu bytes\n", sizeof(intType));
printf("Madhesia: %zu bytes\n", sizeof(floatType));
printf("Madhesia: %zu bytes\n", sizeof(doubleType));
printf("Madhesia: %zu byte\n",  sizeof(charType));

return 0;
}



Program qe konverton karakterin ne kodin ASCII:

#include <stdio.h>
int main() {
char c;
printf("Fusni nje karakter: ");
scanf("%c", &c);

printf("Vlera ne ASCII: %c = %d", c, c);

return 0;
}

Program qe gjen nqs se numri eshte cift ose tek:

#include <stdio.h>
int main() {
int num;
printf("Fusni nje numer: ");
scanf("%d", &num);

if(num % 2 == 0)
printf("%d eshte cift.", num);
else
printf("%d eshte tek.", num);

return 0;
}

Program qe gjen numrin me te madh midis tre numrave:

#include <stdio.h>
int main() {
double n1, n2, n3;
printf("Fusni 3 numra te ndryshem:");
scanf("%lf %lf %lf", &n1, &n2, &n3);

if (n1 >= n2 && n1 >= n3)
printf("%.2f eshte numri me i madh.", n1);

if (n2 >= n1 && n2 >= n3)
printf("%.2f eshte numri me i madh.", n2);

if (n3 >= n1 && n3 >= n2)
printf("%.2f eshte numri me i madh.", n3);

return 0;
}

Program qe gjen nqs se viti i futur eshte i brishte ose jo:

#include <stdio.h>
int main() {
int viti;
printf("Fusni nje vit: ");
scanf("%d", &viti);

if (viti % 400 == 0) {
printf("%d nuk eshte vit i brishte", viti);
}

else if (viti % 100 == 0) {
printf("%d nuk eshte vit i brishte", viti);
}

else if (viti % 4 == 0) {
printf("%d nuk eshte vit i brishte", viti);
}

else {
printf("%d nuk eshte vit i brishte", viti);
}

return 0;
}

Program qe afishon sekuencen e fibanoccit:

#include <stdio.h>
int main() {
int i, n, t1 = 0, t2 = 1, vlera;
printf("Fusni vleren fillestare: ");
scanf("%d", &n);
printf("Sekuenca fibanocci: ");

for (i = 1; i <= n; ++i) {
printf("%d, ", t1);
vlera = t1 + t2;
t1 = t2;
t2 = vlera;
}

return 0;
}

Makine llogaritese me switch case:

#include <stdio.h>
int main() {
char operatori;
double numer1, numer2;
printf("Zgjidhni nje operator (+, -, *,): ");
scanf("%c", &operatori);
printf("Fusni 2 vlerat: ");
scanf("%lf %lf", &numer1, &numer2);

switch (operatori) {
case '+':
printf("%.1lf + %.1lf = %.1lf", numer1, numer2, numer1 + numer2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", numer1, numer2, numer1 - numer2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", numer1, numer2, numer1 * numer2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf", numer1, numer2, numer1 / numer2);
break;
// Operator i gabuar
default:
printf("Error! Operatori nuk eshte i sakte.");
}

return 0;
}

Program qe gjen gjatesine e nje String:

#include <stdio.h>
int main() {
char s[] = "Pershendetje";
int i;

for (i = 0; s[i] != '\0'; ++i);

printf("Gjatesia eshte: %d", i);
return 0;
}

Program qe bashkon 2 matrica:

#include <stdio.h>
int main() {
int r, c, a[100][100], b[100][100], sum[100][100], i, j;
printf("Fusni numrin e rreshtave: (midis 1 dhe 100): ");
scanf("%d", &r);
printf("Fusni numrin e kolonave: (midis 1 dhe 100): ");
scanf("%d", &c);

printf("\nFut elementet e matrices se pare:\n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("Fut elementin a%d%d: ", i + 1, j + 1);
scanf("%d", &a[i][j]);
}

printf("Fut elementet e matrices se dyte:\n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("Fut elementin a%d%d: ", i + 1, j + 1);
scanf("%d", &b[i][j]);
}

// bashkimi i matricave
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
sum[i][j] = a[i][j] + b[i][j];
}

// afishimi
printf("\nShuma e 2 matricave: \n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("%d ", sum[i][j]);
if (j == c - 1) {
printf("\n\n");
}
}

return 0;
}


 Dil