Kezdőoldal » Számítástechnika » Programozás » Ezt a feladatot kaptuk suliban...

Ezt a feladatot kaptuk suliban, tud segíteni vki?

Figyelt kérdés

Részben megoldottam a feladatot,de aztán megállt a tudomány.Az info tanár kitalálta,hogy írjunk egy olyan programot,hogyha egy textboxba kiadjuk ezt az utasítást,hogy "for valami = x to y do",akkor listázza ki egy valódi for utasításban megadottak értékeit. Sajnos csak minden 1 helyi értékkel működik és azt kellene megoldani,hogyha valaki ezt a parancsot adja ki, hogy


for kutyagumi=65342 to 896322, vagy ha ezt hogy

for z= 1 to 332 do

akkor is is működjön és listázza ki az értékeket egy másik szövegdobozba.Annyi kevés fogalmam van,hogy valami pozicionáló és beszúró függvényekkel lehet,hogy meg lehetne oldani,bár ebben sem vagyok biztos,de azokhoz viszont végképp nem konyítok semmit.Nem is nagyon értem ezt,hogy minek kér ilyen nehéz feladatot tőlünk.Elég makacs és goromba is ez a tanár sajnos. Sok mindent el sem mond az órán és olyan feladatokat ad fel,amihez még nekünk kell hozzátanulnunk néha.


Eddig jutottam,segítsetek kiegészíteni,mert időm az nincs sok rá,hétfőre le kellene adnom. Ha nagyon durva a feladat megoldása és a kérés,akkor hagyjátok inkább a fenébe,max kapok rá egy 2-est,vagy karót.Vitatkozni nincs kedvem és időm sincs rá. Csupán egy gyors segítséget kérek,ha nem túl nagy kérés.

Előre is köszi!


most ügy működik legalább, hogyha beírod,hogy

for u=0 to 9 do akkor kiírja az értékeket,vagy ha

for i=2 to 7 do akkor is, de sajna több helyi értékkel nem szuperál.


procedure TForm1.Button1Click(Sender: TObject);

const egyenlo='=';

{const to2='to';}

{const do2='do';}


var s,s1,s2,s3:string;

var x,y,i:integer;

var valtozo:string;


begin


x:=strtoint(memo1.text[7]);

y:=strtoint(memo1.text[12]);

valtozo:=memo1.Text[5];



s1:='to';

s:=memo1.seltext;

insert(s1,s,memo1.SelStart);


s3:='do';

s2:=memo1.seltext;

insert(s3,s2,memo1.SelStart);


if memo1.text='for '+valtozo+egyenlo+inttostr(x)+' '+s+' '+inttostr(y)+ ' '+s2 then begin

for i:=x to y do begin memo2.lines.Add(inttostr(i));


end;

end;

end;

end.



2015. szept. 12. 15:02
1 2 3 4 5 6 7
 51/63 A kérdező kommentje:
Tudom hogy nagy szar de működik legalább és látom te is használtad a saját függvényhívásodnál a lowercase, uppercase utasításokat. Na most lesz mit kipróbálnom és tanulmányoznom asszem. Látom van 2 működő forráskód is:) Mindenki segítségét nagyon köszönöm!!!! Zsírok vagytok és egészségedre a borhoz!
2015. szept. 12. 22:08
 52/63 A kérdező kommentje:

Ez így zsír legalább is D7-nél:


Javítva az eredeti képen, ez a sor,mert erre hibát dobott:

"command:=copy(command,pos(' ',command)+1);"


*Igazmodó helyes megoldása:*



procedure TForm1.Button1Click(Sender: TObject);

var

command:string;

i,si,ei:word;

begin


command:=memo1.text;

command:=copy(command,pos('=',command)+1,length(command));

si:=strtoint(copy(command,1,pos(' ',command)-1));

command:=copy(command,pos(' ',command)+1,length(command));



command:=copy(command,pos(' ',command)+1,length(command));

ei:=Strtoint(Copy(command,1,pos(' ',command)-1));

for i:=si to ei do begin memo2.Lines.Add(inttostr(i));

end;

end;

2015. szept. 12. 22:13
 53/63 A kérdező kommentje:
Egyedül tuti biztos nem tudtam volna megcsinálni,mert fogalmam sincs a "copy", "pos" vagy más parancsokhoz.Ennek megértése hosszas tanulmányozást kíván, ráfekszem a témára majd asszem.
2015. szept. 12. 22:17
 54/63 A kérdező kommentje:

Zsírok vagytok,mivel tartozom?


és végül SimkoL teljes megoldása:


unit Unit3;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;


type myVar = record

env: string;

first, last: string;

end;



type

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;

i:integer;


implementation


{$R *.dfm}


function Enviroment(s: string): myVar;

begin

{kidobjuk a szóközöket}

s := StringReplace(s, ' ', '', [rfReplaceAll]);

{megkeressük a változó nevét}

Result.env := Copy(s,4, Pos('=', s) - 4);

{megkeressük a kezdo értéket}

Result.first := Copy(s, (Pos('=', s) + 1), Pos('to', LowerCase(s)) - Pos('=', s) - 1);

{megkeressük a végzo értéket}

Result.last := Copy(s, Pos('to', LowerCase(s))+2, Pos('do', LowerCase(s)) - Pos('to', LowerCase(s))-2);

{ha nem lenne do akkor is megkeressük a végzo értéket}

if Result.last = '' then

Result.last := Copy(s, Pos('to', LowerCase(s))+2, High(byte));



end;


procedure TForm1.Button1Click(Sender: TObject);

begin


{Form1.Caption := Enviroment(Edit1.Text).env + ' ' + Enviroment(Edit1.Text).first + ' ' + Enviroment(Edit1.Text).last;}



for i:=strtoint(Enviroment(Edit1.Text).first) to strtoint(Enviroment(Edit1.Text).last) do

form1.Memo1.Lines.Add(inttostr(i));


end;


procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text := 'for i = 1234 to 5678 do';

end;


end.

2015. szept. 12. 23:08
 55/63 A kérdező kommentje:
Inkább beiratkozom az általános iskolába újra:D Tutira nem tudtam volna ezt így kiokoskodni sajnos.Nullának érzem magam.Nincs meg a megfelelő tudásom ehhez még.:(
2015. szept. 12. 23:12
 56/63 A kérdező kommentje:
Tényleg mindenkinek nagyon köszönöm a segítséget!!!!!!!:)
2015. szept. 12. 23:16
 57/63 anonim ***** válasza:
Latom megy itt az elet rendesen.:-))"Kerdezo" pedig egyaltalan nem vagy balfek, raadasul alapszinten ketfele keppen is megoldottad a feladatot meg akkor is ha nem az igazi.Kezdetnek es kezdoknek meg ez is boven megtenne.Ne huzd le magad es ne szomorkodj!Latom raadasul a tobbiek minimalis szintaxis hibait is ki tudtad javitani es igy egyutt,de szepen megirtatok a programot.Egesz biztos,hogy nem vagy nulla es kezdo,mert nagyon akarsz es bizonyos hibakat azonnal felismersz es korigalsz is,amihez tobb kell mint egy kezdo tudasa.Ajanlom ne hagyd ott a sulidat szerintem es inkabb gyakorolj sokat! Nem kaptal volna az elso peldadra sem egyest a tanarodtol.A masodikra meg kettest sem,az legalabb egy harmast megerdemel,mert sok delphi konyv is tobb beiromezoben es tobb buttonnal oldja meg a feladatokat meg egy alapszintu expression evaluator es egy simple calculator esetben is.Nagyon ugyes kis programozo csapat van itt a hatterben.Roppant profik vagytok!Azt is megfigyeltem mostanaban,hogy a tanarok valamiert egyre jobban eroltetik az egy parancssorban torteno megoldasokat es string es karakter kezeleseket,amit nem teljesen ertek hogy miert,amikor inkabb a vizualis es egyszerubben ertheto felhasznalobarat programok hoditanak manapsag.Csak nem akarjak visszahozni a parancssor parameter rendszereket?? Elkepzelni is nehez lenne hogy valaki mindent onnet hivna meg vagy inditana el legyen barmilyen kutyurol is szo.Okostelefonokon meg foleg nem.Inkabb szerintem uj szkripteket es programozasi nyelveket akarnak fejleszteni,mert elkepzelni is nehez barhova manapsag ezeket a fapados es elavult megoldasokat.Jo ejt nektek szupercsapat!:-)
2015. szept. 12. 23:57
Hasznos számodra ez a válasz?
 58/63 SimkoL ***** válasza:

Talán még ajánlanám figyelmedbe ezt: [link] az 'strtoint' miatt :)

Szépen:

for i := StrToInt(Enviroment(Edit1.Text).first) to StrToInt(Enviroment(Edit1.Text).last) do

Form1.Memo1.Lines.Add(IntToStr(i));

2015. szept. 13. 06:47
Hasznos számodra ez a válasz?
 59/63 A kérdező kommentje:
Köszönöm.Tényleg nagyon kedvesek vagytok!!!! Igen éppen gondolkodtam rajta,hogy valószínű még fognak "fárasztani" bennünket a tanárok ilyen sztring és karakter manipulációs műveletekkel egy jó párszor. Éppen ezért jó lenne valami pascalos vagy delphis könyv,vagy bármi ami erre van kihegyezve,mert ez is egy szívós, végtelen és szerteágazó történet,tele végtelen kombinációval.El leszek vele mire átnézem, megértem és értelmezem majd az itt leírt dolgokat és forráskódokat.Engem érdekel ez a terület,ameddig még bírom és csinálhatom,de hogy az életemet azért nem teszem rá az egészen biztos,mert ebbe bele lehet őrülni.Tudni kellene hozzá okosan és mértékkel programozni,ami nem biztos hogy megvan bennem hozzá.
2015. szept. 13. 17:03
 60/63 A kérdező kommentje:
Fantasztikus az oldalad SimkoL.Megyek tanulmányozni és szétnézni rajta.Egy igazi professzor vagy! Becsülni tudom azokat az embereket akinek ennyire jó az érzéke, elszántsága és felfogóképessége a dolgokhoz.:)
2015. szept. 13. 17:14
1 2 3 4 5 6 7

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!