atarionline.pl MadPascal - uproszczenie programu - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorwojtas76
    • CommentTime8 Nov 2020
     
    Witam
    Dzięki za pomoc w poprzednich pytaniach..
    Dziś tylko dwa;) - dalej oczywiście programowanie w Pascalu:
    1. Czy można rozwiązać przesuwaniecię bitów w "jednej linii":
    if x>0 then a:=b shr x;
    if x<0 then a:=b shl abs(x);

    2. Czyszczenie tablicy prościej niż pętlą?
    Pozdrawiam
    • 2:
       
      CommentAuthorbocianu
    • CommentTime8 Nov 2020 zmieniony
     
    Ad.1:
    W jednej linii nie umiem, ale z pewnością zrezygnowałbym z funkcji abs:
    if x>0 then a := b shr x 
    else a := b shl -x;

    kod wynikowy będzie krótszy.

    Ad.2
    Zakładając, że chcesz ją wypełnić zerami to tak:
    FillByte(tablica, sizeOf(tablica), 0);
    • 3: CommentAuthorwojtas76
    • CommentTime8 Nov 2020
     
    Faktycznie abs bezcelowe, fillbyte użyte dzięki