Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna

Forum studentów IV roku EiT Politechniki Śląskiej

 

Masowe kompilowanie na kartce? (Kolokwium)
Idź do strony Poprzedni  1, 2, 3  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 2 / PPK
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
marek G1




Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów


PostWysłany: Sob 19:34, 24 Maj 2008    Temat postu:


Kod:
1. d
2. a, b
3. b
4. d
5. a
6. b, c
7. żadna
8. for(i=1;i<4;i++)
   for(j=1;j<4;j++)
   tab[i-1][j-1]=10*i+(double)j/10;

ja by to tak zrobił, jak ktoś ma wątpliwość co do któregoś pytania to mogę wyjaśnić
Powrót do góry
Zobacz profil autora
hespes




Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów


PostWysłany: Sob 20:16, 24 Maj 2008    Temat postu:

nie obciety kod:

Kod:

1. Po deklaracji:
   int tab[5]={1,2,3,4,5};
   int *wsk=tab;
wykonano następujące instarukcje:
a) if(tab[3]<*wsk) printf("Prawda\n");
b) if(&tab[3]!=tab+1) printf("Prawda\n");
c) if(tab[3]>*(tab+4)) printf("Prawda\n");
d) if(tab[1]==*(tab+1)) printf("Prawda\n");
W którym przypadku warunek został spełniony i nastąpił wydruk napisu: "Prawda"?

2. Zdefiniowano strukturę:
typedef struct personalia{
   char *imie, *nazwisko;
   int wiek;
}osoba1;
Która(e) dalsza(e) definicja(e) jest(są) poprawna(e)?
a) osoba1 *wsk;
b) osoba1 ludzie[3];
c) personalia osoba2;
d) struct osoba1 osoba3;

3. Dana jest definicja char *a; Należy zaalokować jedną zmienną dynamiczną o rozmiarze 1B. Czy i jak można to zrobić?
a) a=malloc(1,sizeof(char));
b) a=malloc(1);
c) a=malloc(sizeof(char));
d) Nie można.

4. Dane sa definicje zmiennych int a=3,b=4; float c; oraz instruckje: c=a/b; printf("%.2f",c); Co zostanie wyświetlone?
a) nic, w wyniku kompilacji powstanie błąd,
b) 1.00
c) 0.75
d) 0.00

5. Które stwierdzenie(a) jest(są) prawidłowe?
a) Wśród pól (składowych) struktury mogą być wskaźniki.
b) Funkcja nie musi zwracać wartości, ale musi przyjmować jakieś parametry.
c) Każda tablica w języku C kończy się znakiem '\0' (NULL).
d) Wywołanie funkcji jest możliwe tylko wtedy, gdy wcześniej jest jej definicja.

6. Dana jest tablica char t[]="Ala ma kota" oraz funkcja:
   void zadanie1(char *s){
   int i=0,j,k;
   char tmp;
   while(s[i]) i++;
   k=i-1;
   for(j=0;j<i/2;j++){
    tmp=s[j];
    s[j]=s[k];
    s[k]=tmp;
    k--;}
   };
Które stwierdzenia dotyczace funkcji są poprawne?
a) Zwraca wskaźnik do tablicy znaków.
b) Może przyjąc jako parametr tablicę t.
c) Może przyjąć jako parametr dowolną jednowymiarową tablicę znaków.
d) Może przyjąć jako parametr dowolną jednowymiarową tablicę.

7. Dobierz instrukcję, która policzy sumę elementów w kolumnach macierzy:
#define LKOL 10
#define LWIER 15
int tab[LWIER][LKOL]={{1,2,33},{4,5,6}};
int i,j;
for(i=0;i<LKOL;i++){__________________________};
printf("suma=%d",sum);
a) while(1) sum+=tab[i][j];
b) sum+=tab[1][j];
c) for(j=0;j<LWIER;j++) sum+=tab[i][j];
d) for(sum=0,j=0;j<LWIER;j++) sum+=tab[i][j];

8. Należy utworzyć tablicę:   10.1  10.2  10.3
            20.1  20.2  20.3
            30.1  30.2  30.3

double tab[3][3];
for(i=1;i<4;i++)
  for(j=1;j<4;j++) /*  ...   */
Co w tym celu należy wstawić w wolne miejsce aby nie było błędów ani ostrzeżeń kompilatora?
a) tab[i+1][j-1]+=10*i+0.1*j;
b) tab[i+1][j+1]+=10*i+0.1*j;
c) tab[i-1][j-1]+=10*i+0.1*j;
d) tab[i-1][j+1]+=10*i+0.1*j;

9. Które z poniższych dyrektyw w odniesieniu do instrukcji: int tab[N] są prawidłowe?
a) #define N 10;
b) #define N 10
c) #define N = 10
d) #define int N = 10

10. Jaka wartość zostanie wyświetlona na ekranie po wykonaniu poniższego fragmentu programu?
int n=4,s=1;
while(n>0){
 s*=n; n--;}
printf("\n%d",s);


1. B, D
2. A, B
3. B, C
4. D
5. A
6. B, C
7. Pytanie z serii "na tym was upierdole" Jezyk
8. Nastepne pojebane pytanie bo nie bedzie zadnych bledow ani ostrzezen kompilatora. W odpowiedzi A,B,D nastapi wyjscie poza zakres tablicy i moze sie wysypac ale nie musi.
Poprawnie bedzie dzialalo dla C, no ale pytanie bylo o bledy, ostrzezenia kompilatora ..
9. B
10. 24

chyba tak to powinno byc, chyba
Powrót do góry
Zobacz profil autora
.:BUSZI:.




Dołączył: 18 Paź 2007
Posty: 141
Przeczytał: 0 tematów


PostWysłany: Sob 20:20, 24 Maj 2008    Temat postu:

w 5 ja bym dał a i d. D-dlatego, że każdą funkcję trzeba wcześniej zadeklarować-nie można użyć funkcji np. "wys(12)", gdy kompilator nie wie, co, jak i gdzie. Np. funkcja malloc() jest już wcześniej zadeklarowana, a wczytujemy ją dzięki bibliotece (chyba #include <stdio> ), więc tu bym się kłócił....

7 to jest dopiero dziwne zadanie(a konkretnie treść)-po pierwsze czy im chodzi o sumę(jako ilość)elementów, czy jako sumę WARTOśCI elementów...
ale też mi tu nic nie pasuje
Powrót do góry
Zobacz profil autora
hespes




Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów


PostWysłany: Sob 20:33, 24 Maj 2008    Temat postu:

ale w pytaniu 5 jest o definicji a nie o deklaracji
a definicji kompilator znac nie musi zeby mozna bylo uzywac funkcji

mozesz zrobic np:

Kod:

// deklaracja
void jakas_funkcja(int /* costam <- tego tez tutaj nie trzeba*/);

int main() {
    int aaa = 12121;
    jakas_funkcja(aaa);
    return 0;
}

// definicja
void jakas_funkcja(int costam) {
    // i tutaj cos robienie :)
}

Powrót do góry
Zobacz profil autora
rudolf




Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów

Skąd: Katowice/Gliwice

PostWysłany: Sob 20:39, 24 Maj 2008    Temat postu:

Mozecie wytlumaczyc dlaczego w pyt 4 odpowiedz d?
Powrót do góry
Zobacz profil autora
hespes




Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów


PostWysłany: Sob 20:48, 24 Maj 2008    Temat postu:

bo a i b to liczby całkowite a wynik dzielenia 2 liczb calkowitych daje tez liczbe calkowitą, a/b = 0.75 ale czesc ulamkowa jest "obcinana"
Powrót do góry
Zobacz profil autora
rudolf




Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów

Skąd: Katowice/Gliwice

PostWysłany: Sob 21:02, 24 Maj 2008    Temat postu:


hespes napisał:
bo a i b to liczby całkowite a wynik dzielenia 2 liczb calkowitych daje tez liczbe calkowitą, a/b = 0.75 ale czesc ulamkowa jest "obcinana"
A to, ze c czyli wynik dzielenia jest typu float nic nie zmienia?

Ostatnio zmieniony przez rudolf dnia Sob 21:02, 24 Maj 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
hespes




Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów


PostWysłany: Sob 21:06, 24 Maj 2008    Temat postu:

niestety nic, zmienilo by dopiero rzutowanie c = (float)a / b;
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Nie 1:04, 25 Maj 2008    Temat postu:

Musze stwierdzic, ze nie jest to jakas uber trudna kartkowka. Co prawda 7 pytanie jest zjebane, na 4 sam zle odpowiedzialem, ale reszta jest wporzo.
Powrót do góry
Zobacz profil autora
marek G1




Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów


PostWysłany: Nie 8:40, 25 Maj 2008    Temat postu:

a ja mam takie pytanie do ósmego, tak wygląda deklaracja tablicy tab:

Kod:
double tab[3][3];

a czy przypadkiem nie powinno być tak:

Kod:
double tab[3][3]={0};

przecież jak jej nie wyzerujemy to będą tam przypadkowe wartości i kompilator m$ po kompilacji zgłosi ostrzeżenie, a Dev-cpp doda do tych wartości które tam już są, to jest przeoczenie tej osoby która to przepisywała to pytane czy kolejny mało zabawny haczyk?
Powrót do góry
Zobacz profil autora
uzi




Dołączył: 11 Paź 2007
Posty: 104
Przeczytał: 0 tematów

Skąd: Lędziny/Gliwice

PostWysłany: Nie 9:37, 25 Maj 2008    Temat postu:

znalazlem jeszcze na forum II roku zdjecia drugiego terminu:



[link widoczny dla zalogowanych]


[link widoczny dla zalogowanych]


[link widoczny dla zalogowanych]


Ostatnio zmieniony przez uzi dnia Nie 9:41, 25 Maj 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
L3oN




Dołączył: 31 Paź 2007
Posty: 517
Przeczytał: 0 tematów


PostWysłany: Nie 10:50, 25 Maj 2008    Temat postu:

Tam odpowiedzi do wyboru są bez sensu, bo zamiast po prostu przepisania wartości tworzonych według zmiennych iteracyjnych, jest ich dodanie...
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Nie 12:18, 25 Maj 2008    Temat postu:


marek G1 napisał:
a ja mam takie pytanie do ósmego, tak wygląda deklaracja tablicy tab:

Kod:
double tab[3][3];

a czy przypadkiem nie powinno być tak:

Kod:
double tab[3][3]={0};

przecież jak jej nie wyzerujemy to będą tam przypadkowe wartości i kompilator m$ po kompilacji zgłosi ostrzeżenie, a Dev-cpp doda do tych wartości które tam już są, to jest przeoczenie tej osoby która to przepisywała to pytane czy kolejny mało zabawny haczyk?

Masz racje, ten kod ma blad. By bylo po prawnie to albo tablica powinna byc wyzerowana na poczatku albo w odpowiedziac zamiast operatorow += powinny byc operatory =.

Co do drugiej kartkowki to moje odpowiedz sa takie.
1. D
2. C (uwaga: %s z scanf pomija biale znaki)
3. B, C
4. B, C
5. B
6. A, D
7. A, D (uwaga: mozna inkrementowac nie ma warningow i errorow ale nie wiadomo na co bedzie wskazywal taki zinkrementowany wskaznik)
8. A, D (uwaga: strlen nie liczy znaku \0)
9. B (uwaga: wartosc poczatkowa j w drugiej petli powinna byc 1)
10. 27


Ostatnio zmieniony przez GREY dnia Nie 13:06, 25 Maj 2008, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Zack de la Rocha




Dołączył: 10 Lis 2007
Posty: 187
Przeczytał: 0 tematów


PostWysłany: Nie 16:35, 25 Maj 2008    Temat postu:

marek G1: nie masz racji. Wprawdzie jeżeli tablica zostaje zadeklarowana jako lokalna to są tam śmieci, ale wystarczy zainicjalizować tylko jeden element (tak jak w przykładzie) i wtedy wszystkie pozostałe elementy tablicy są inicjalizowane zerami odpowiedniego typu( czyli 0, 0f, "\0" itd.). To jest taki haczyk maluśki Jezyk.

Ostatnio zmieniony przez Zack de la Rocha dnia Nie 16:36, 25 Maj 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
marek G1




Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów


PostWysłany: Nie 17:26, 25 Maj 2008    Temat postu:

no tylko ja właśnie nie widzę gdzie jest ten jeden element zaincjalizowany, mi właśnie chodziło o to że jak dopisze {0} to będzie jak mówisz, ale w zadaniu tak nie jest, przeczytaj dokładnie treść zadania i mojego posta
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 2 / PPK Wszystkie czasy w strefie CET (Europa)
Idź do strony Poprzedni  1, 2, 3  Następny
Strona 2 z 3

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
deox v1.2 // Theme created by Sopel & Download

Regulamin