Programmering

Hvad betyder ~=1

12. august 2016 af Searchmath

Hej

Jeg har følgende kode:

yhelp=input('Vil du vide mere om programmet, inden vi begynder? (ja/nej): ','s');

while strcmpi(yhelp,'ja')~=1 && strcmpi(yhelp,'nej')~=1

    yhelp=input('Forkert! Skriv "j" for ja eller "n" for nej: \n', 's');

end

Hvad betyder ~=1 i den her sammenhæng? Det betyder vel mere end at det ikke må være tallet 1? For når jeg kører koden så acceptere den ikke andet end ja og nej. 


Brugbart svar (0)

Svar #1
12. august 2016 af Eksperimentalfysikeren

Hvilket programmeringssprog er det?


Svar #2
12. august 2016 af Searchmath

Det er matlab :-)

Brugbart svar (0)

Svar #3
13. august 2016 af hesch (Slettet)

Jeg kender ikke Matlab, men det tog 1 min at google:

https://help.scilab.org/docs/6.0.0/en_US/m2sci_not_equal.html

~=  betyder "not equal to".

Hvad koden angår gætter jeg på at

1 = true,  0 = false, altså at cifferet indikerer en logisk værdi.


Brugbart svar (0)

Svar #4
13. august 2016 af hesch (Slettet)

PS:  I andre programmeringssprog kan du støde på  "¬"  og  "!"  i betydningen "not".


Svar #5
13. august 2016 af Searchmath

Det ved jeg godt :-) det forklarer stadig ikke hvad koden gør'

Brugbart svar (0)

Svar #6
13. august 2016 af hesch (Slettet)

Jeg ved stadig intet om Matlab, men en oversættelse til Pascal ( kendt for sin læsbarhed ) kunne være

while strcmpi(yhelp,'ja')~=1 && strcmpi(yhelp,'nej')~=1
    yhelp=input('Forkert! Skriv "j" for ja eller "n" for nej: \n', 's');           =>

var
   s: string;
   wrong: boolean;

begin
repeat
   readln(s);
   wrong := (s<>'ja') and (s<>'nej');
   if wrong then  
      writeln('Forkert! Skriv "j" for ja eller "n" for nej: \n', 's');
until not wrong;
end;

Jeg ved så ikke hvad  \n  betyder, men gætter at det er et linieskift.

Koden er vildledende, for den siger at du skal svare 'j' eller 'n', men af koden fremgår at du skal svare 'ja' eller 'nej'.


Skriv et svar til: Hvad betyder ~=1

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.