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 22:11
       
      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 23:11 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 23:11
       
      Faktycznie abs bezcelowe, fillbyte użyte dzięki