Skocz do zawartości

Programowanie w języku C - pytanie kontrolne


FlyingDutch

Pomocna odpowiedź

Ze słownika PWN:

Cytat

poprawny

1. «zgodny z faktami lub prawami logiki»

2. «zgodny z obowiązującym konwenansem»

3. «przestrzegający obowiązujących norm»


• poprawnie • poprawność

Jak widzisz nie ma tam nic o działaniu. Można mieć działający program, który nie jest poprawnie napisany, albo niedziałający napisany poprawnie.

Edytowano przez Elvis
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Hm... wydaje mi się, że jeśli program nie działa prawidłowo [to nie jest poprawnie napisany (chyba, że ktoś za "poprawność" uważa jedynie poprawność składniową). Inaczej: program który uważa , że 2 * 3 = 5 nie może być poprawny, choć najprawdopodobniej użyto w nim całkiem poprawnego operatora dodawania zamiast mnożenia 😉 A o słynnej różnicy między poprawnymi w FORTRAN-ie instrukcjami

DO 10 I=1,5

a

DO 10 I=1.5

to już wspominać nie będę...

Ale może faktycznie to mi się wydaje...

Link do komentarza
Share on other sites

Zanim narodzi się z tego jakaś mała przepychanka słowna to bardzo proszę wszystkich o profesjonalne podejście do tematu 🙂 Może dobrym rozwiązaniem będzie zwyczajne określenie dokładnej specyfikacji języka i kompilatora, na którym mają działa rozwiązywane przez Was zadania?

  • Lubię! 1
Link do komentarza
Share on other sites

Jak w inny sposób zliczać wciśnięcie przycisku w tym przerwaniu (dalej doprecyzuje):

ISR(PCINT0_vect) {
for ( i=0; i<4; i++) {
if (bitRead(PINB,i))
  {
    buttonPress++;    
    if ((button[i]==losowyPin) && bitRead(PIND,2+i))
    {
     score++; 
     bitClear(PORTD, 2+i);
    }
    if(!buttonPress) buttonPressBuf++;
    if(!score) scoreBuf++; 
  }
 }
}

poniżej zmienne globalne

volatile byte button[4] = {2,3,4,5}; 
volatile byte buttonPress = 0;
volatile byte buttonPressBuf = 0;
volatile byte losowyPin =2;
volatile byte score =1;
volatile byte scoreBuf =0;

unsigned int buttonPressSum;

ostatnia zmienna znajduje się w loop();  i zlicza ile razy wciśnięto przycisk

buttonPressSum = (buttonPress + (buttonPressBuf * 256));

Czy można zliczać ile razy wciśnięto przycisk bez dodatkowej zmiennej buttonPressBuf , która zlicza przepełnienia? i analogicznie ze zmienną score.

Link do komentarza
Share on other sites

Okej, to może pytanie bardziej z gatunku wiedzy o składni:

Zakładając, że mamy tablicę:

int arr[5] = {1,2,3,4,5};

Oraz interesuje nas element o indeksie:

const int idx = 2; // zwróć liczbę 3

Wypisz wszystkie możliwe sposoby na uzyskanie dostępu do wartości elementu o indeksie 2, czyli wartości = 3, korzystając z C lub C++ (bez użycia wstawek assemblerowych).

Edytowano przez Matthew11
Sprecyzowanie
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.