Mantığını anlıyorum ama plcde nasıl gösterebilirim
PROGRAM PLC_PRG
VAR
sayac, sayi: INT;
sonuc:ARRAY[0..100] OF INT;
END_VAR
FOR sayac:=0 TO (sayi-1) DO
IF sayac >1 THEN
IF sayac = 2 OR sayac = 3 OR sayac = 5 THEN
sonuc[sayac] := sayac;
ELSE
IF (sayac MOD 2) = 0 OR (sayac MOD 3) = 0 OR (sayac MOD 10) = 5 THEN
;
ELSE
sonuc[sayac] := sayac;
END_IF;
END_IF;
END_IF;
END_FOR;
IF HesaplamaBasla THEN (* HesaplamaBasla(bool) komutuyla hesaplamaya baslanır *)
FOR i:=0 TO 100 DO (* Daha önce hesaplama varsa tüm Array içi önce sıfırlanır *)
sonuc[i] := 0;
END_FOR
HesaplamaOK := FALSE;
HesaplamaBasla := FALSE;
j := 0;
FOR sayac:=0 TO (sayi-1) DO (* sayi degeri 100'e ayarlanmalı, hesaplamaya başlamadan önce *)
IF sayac >1 THEN (* Asal sayılar aranır *)
IF sayac = 2 OR sayac = 3 OR sayac=5 THEN
sonuc[j] := sayac; (* 2,3 ve 5 sayıları aşağıdaki formulden bağımsız zaten asaldır *)
j := j +1;
ELSE
(* Sayı>5 durumunda 2,3 veya 5 e bölünüyorsa Array içine yazılmaz! *)
IF (sayac MOD 2) = 0 OR (sayac MOD 3) = 0 OR (sayac MOD 10) = 5 THEN
;
ELSE
sonuc[j] := sayac;
j := j +1;
END_IF;
END_IF;
END_IF;
END_FOR;
HesaplamaOK := TRUE;
END_IF (* HesaplamaBasla komutu if sonu *)