Mam do zrobienia zadanie z Pascala (na lekcji mówiliśmy trochę o Pythonie i pseudokod pisaliśmy) i kompletnie nie wiem jak się zabrać żeby coś konkretniejszego wyszło, bo nie znam się na komputerach. Jest ktoś kto może mi pomóc?
program zadanie;
var
x:longint;
i:longint;
y:longint;
z:longint;
begin
writeln('Imie Nazwisko','416234');
readln;
x:=416234;
FOR i:=1 TO 416234 DO
begin
writeln ('x mod i', x mod i);
end;
if (x mod i =0) then
begin
writeln(i);
end;
readln;
end.;
readln;
end.
Twoim problemem jest to, że twój program w ogóle nawet nie kojarzy się z tym co chcesz uzyskać. Zacznij od poczytania w necie na temat tablic, o begin end - ty używasz swojej pętli całkiem do czegoś innego niż byś chciał. Zrób tak:
deklarujesz tablicę nadmiarową
tworzysz licznik dzielników i przypisujesz do niego 1
pobierasz swoje imie i nr do 2 osobnych zmiennych
iterujesz od 1 do nr/2 np zmienną i
jeżeli reszta z dzielenia nr przez i jest zero
zapisujesz i do tablicy na index licznika_dzielników
zwiększasz licznik dzielników
zapisujesz nr jako ostatni dzielnik
tworzysz pętlę nieskończoną
pytasz o liczbę
jeżeli liczba > niż licznik dzielników kończysz pętlę
jeżeli jest inaczej wyświetlasz z tablicy wartość pod indeksem z pobranej liczby
program zadanie;
uses crt;
var
x:longint;
i:longint;
max:integer;
ilosc:integer;
numer:integer;
nazwisko:string;
ld:array[1..100] of longint;
begin
clrscr;
max:=0;
writeln('Nazwisko i imie',' - index');
readln(nazwisko,x) ;
FOR i:=1 TO x
DO
begin
if (x mod i =0) then
begin
writeln(i);
max:=max+1;
ld[max]:=i;
end
end;
writeln ('ilosc dzielnikow liczby - ',x,' do przetestowania');
ReadLn(ilosc);
for i:=1 to ilosc do
begin
writeln ('podaj numer dzielnika');
ReadLn(numer);
if (numer<=max) and (numer>0) then
begin
writeln ('dzielnik o numerze: ',numer, ' to ',ld[numer]);
end
else
begin
writeln ('moj index nie ma dzielnikow o takim numerze'
);
end;
end;
repeat until keypressed;
end.
Może być np tak, a tak przy okazji, to pascal jest obrzydliwy.