|
Forum studentów IV roku EiT Politechniki Śląskiej
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
marek G1
Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów
|
Wysł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 |
|
|
|
|
hespes
Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów
|
Wysł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"
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 |
|
|
.:BUSZI:.
Dołączył: 18 Paź 2007
Posty: 141
Przeczytał: 0 tematów
|
Wysł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 |
|
|
hespes
Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów
|
Wysł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 |
|
|
rudolf
Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów
Skąd: Katowice/Gliwice
|
Wysłany: Sob 20:39, 24 Maj 2008 Temat postu: |
|
|
Mozecie wytlumaczyc dlaczego w pyt 4 odpowiedz d?
|
|
Powrót do góry |
|
|
hespes
Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów
|
Wysł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 |
|
|
rudolf
Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów
Skąd: Katowice/Gliwice
|
Wysł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 |
|
|
hespes
Dołączył: 11 Paź 2007
Posty: 30
Przeczytał: 0 tematów
|
Wysłany: Sob 21:06, 24 Maj 2008 Temat postu: |
|
|
niestety nic, zmienilo by dopiero rzutowanie c = (float)a / b;
|
|
Powrót do góry |
|
|
GREY
Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów
Skąd: Żory/DS Ondraszek
|
Wysł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 |
|
|
marek G1
Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów
|
Wysłany: Nie 8:40, 25 Maj 2008 Temat postu: |
|
|
a ja mam takie pytanie do ósmego, tak wygląda deklaracja tablicy tab:
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 |
|
|
uzi
Dołączył: 11 Paź 2007
Posty: 104
Przeczytał: 0 tematów
Skąd: Lędziny/Gliwice
|
Wysł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 |
|
|
L3oN
Dołączył: 31 Paź 2007
Posty: 517
Przeczytał: 0 tematów
|
Wysł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 |
|
|
GREY
Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów
Skąd: Żory/DS Ondraszek
|
Wysł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:
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 |
|
|
Zack de la Rocha
Dołączył: 10 Lis 2007
Posty: 187
Przeczytał: 0 tematów
|
Wysł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 .
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 |
|
|
marek G1
Dołączył: 09 Paź 2007
Posty: 138
Przeczytał: 0 tematów
|
Wysł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 |
|
|
|
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
|