218
Lécci, Lécci tanícsatok meg programozni
-
#178 milyen az a felsőfokú info érettségi? Eddig azt hittem, a szakmában ezt a titulust csak diplomával lehet elérni! -
#177 Nem hinném, hogy egy abszolút kezdő, akinek lövése sincs a témához, az a C-t könnyebben felveszi, mint a Pascal-t.
Egyébként a C nem minden modern nyelv alapja, inkább elsősorban a struktúrája (pl. a Delphi sem mondható C-gyökerűnek, mégis modern nyelv, a Borland C szintaktika meg el is tér a "másik" iránytól). De tudok olyan modern nyelvet, aminek még az sem: pl. a Visual Cobol, vagy az Oracle PL/SQL. :)
-
MacrosTheBlack #176 Pászkál szuxx, C rulez. Ugyanolyan könnyű, és legalább egy normális nyelv, gyakorlatilag minden modern nyelv alapja. Nem érdemes a p-t erőltetni, felesleges időpazarlás, inkább C, és aztán ami kell. -
#175 Próbáld meg itt körülnézni.
-
blackgamer #174 gondolom valami hivatalos oldalon van tételsor, de nem értek az éretségihez -
mustar #173 Hello!
Kb. mennyi idő lenne egy felsőfokú infó érettségire felkészülni, úgy hogy még életemben nem programoztam? Honnan lenne érdemes tananyagot letölteni, vagy hogyan kezdjem el? Ja és 2006ban érettségizem. -
#172 Lényegtelen. Ha megtanulod és megérted a 8086-os szintet, nem lesz gond a későbbiekkel. Ugyanez vonatkozik a különféle fordítókra is (pl. MAsm).
-
hano2 #171 Hmm, csak van egy bökkenő: nekem ezt "tanítják", és így a 8086/8088-ra szűkül le. A MASM32 v8.2 jó? -
#170 Assembly-hez, ha semmit nem tudsz még belőle, ugyanolyan jó a TPascal is egy kezdő számára, ráadásul lehetővé teszi, hogy úgy összerakhatsz egy működő programot, hogy csak bizonyos részeket írsz gépi kódban, majd több és több eljárást írsz át, és vizsgálhatod a működését is. De először tanuld meg az x86 CPU és a memória működését, a regisztereket, a címzési típusokat és működésüket (nagyon fontos!), az egyszerűbb, alap 8086 kódkészletet, és ha már elengedett kézzel is megülöd a bilit, jöhetnek a bonyolultabb 286-os kódok, később a 386-tól kezdve a 32 bites regiszterek, majd szépen fokozatosan rátérhetsz az FPU működésének megismerésére is (sztem a 387-es előtti FPU-kkal nem érdemes foglalkozni), de ez annyira nem igazán fontos. Később jöhet pár 486-os kiegészítés, majd a Pentium korszaktól kezdve teljesen új dolgok is jönnek, amelyek felül fogják bírálni a korábbiakat.
Ne akarj rögtön a közepébe vágni, biztos alapok nélkül egyszerűen nem fog menni. Ezt garantálom.
-
hano2 #169 Szertnék Assambly-t programozni (intel 8086/8088). Milyen programkörnyezetben tudok megírni egy assamblys programot? T.Pascal-ba is lehet, de gondok adódtak, mert ott 8086/8087 ill 80286/80287 utasítást lehet csak beszúrni...
Honnan szerezhetnék olyan progit, ami jó, illetve hogyan kell használni?
Köszi! -
#168 Mindenképpen szükséges valami kis alapvető számítógép, számrendszer (2-es, 10-es, 16-os) és operációs rendszer (ez a fontosabb) működési ismeret, különben csak tákolás az egész. Tudni kell, hogy alapszinten mi, hogyan és miért úgy működik egy oprendszeren belül, mi az a fájl, mi egy fájl kezelése, egy oprendszer honnan tudja, hogy mit kell kezdenie vele, stb. Pl. sokszor olvasni itt, vagy a magyarítás/stb. topikokban, hogy mivel lehet megnyitni valamit? Akármivel. Amivel akarod, és tudod kezelni. Nincs 1:1 megfeleltetés, nincs univerzális gyógyszer, vagy válasz. Egy fájl kiterjesztése egy oprendszer számára csak azt mondja, hogy a hozzá társított szoftverrel próbálja meg megnyitni. De nem tudja, hogy mi van benne (pontosabban: általában nem tudja, de az ismertebb, gyakoribb fájloknál már ez is működik). Pl. előfordul, hogy valaki megpróbál egy ".qqtyin" fájlt átnevezni zip-re, hogy attól az zip lesz, pedig nem. A "qqtyin" struktúrája, meg a zip struktúrája teljesen más. A "qqtyin"-t az őt létrehozó/használó alkalmazás tudja kezelni, a zip-et meg kezdetben a pkzip, majd a winzip, most meg már az XP is oprendszer szintjén kezeli. Lehet, hogy ha a "qqtyin"-ra ránézel egy nézőkével, csak szövegfájlt látsz, de lehet, hogy valami teljesen elkódolt, teljesen egyedi struktúrával kialakított, röptében tömörített és cheksumokkal ellátott számhalmazt.
Az exe és dll kérdés még ennyél is bonyolultabb. Ezekben - többnyire, de nem feltétlenül - befordított programkódok vannak, a programozási nyelvekkel leírt utasítások gépi kódú megfelelői. De ezeken felül lehetnek bennük egyéb resource adatok, szövegek, képek, ikonok, akármi. Ha szerencséd van, értelmesen látod, és szerkesztheted, ha nem, nem. De ez nem programozás. Csak nyers adatok nyers piszkálása. Ha nagyon ügyes vagy, és ismered a gépi kódú utasítások felépítését, kódjait, kódsorait, akkor persze hexa editálással elvileg programrészeket is át lehetne írni (a crack-ek része is ilyen), de ehhez már nagyon alapos tudás és több éves, mindennapos gyakorlat kell.
-
#167 Na most monolog következik.
Speciel a programozás mint tevékenység nem vonz,DE!De a fene megesz amikor értetlenül állok..azaz álltam eddig pl: a hexaeditor elött...azota sikerült már belegányolnom egy játékba,és még müködik is a forditott szöveg:))
Tulképpen a játékok honositásának buherálása(igen ez a jo szo)miatt vetödtem erre,mivel néha ,az esetek döntő többségében kell némi szoftveres tudás 1-2 file szerkesztéséhez.És ilyenkor értelemszerüen az emberfia kiváncsi:pl a dll.filé,ha már piszkálni kell..akkor miért is van?Tehát a szoftverek müködésének a folyamata érdekel..a mi-miért folyamat....Tudom..néhányatoknak szentségtörés a "tudatlanságom"..nos ez van...szoval a fenti okok miatt kérdeztem hogy célirányosan mellik téma felé kéne a kormányt tekernem...ismereteim bövitése miatt:)))...kb:ennyi lenne:))) -
#166 Sajna ez még csak 1 feladat, lesz még bőven :((((
-
#165 Mondtam, hogy nem vagyok C guru, de ha sikerült értelmezned az elvet, akkor jó. :)
-
#164 Teljes egészében nem, de a logikáját felhasználva igen.
-
#163 Működött?
-
#162 THX!!!!
-
#161 Az elsőre: hát... ez nem így működik, nagyon rosszul értelmezed a dolgokat. A miért kifejtése holnapra marad, mert nem két perc. Addig próbáld már magadban pontosan megfogalmazni, hogy mit is akarsz csinálni?
A másodikra: magyarul csak egy regény jelent meg hivatalosan, ami egy trilógia első része volt, a többire már nem került sor (mondjuk nem is veszítettél sokat :) ). Hivatalos novellákról nem tudok, amatőr írások meg vannak nálam is... :)
-
#160 Hali!!
A #154 bejegyzésedre tudnál vmi linket ajánlani?Mert a müszaki könyvesboltban dobtam 1 hátast a sokaságtol..illetve a pénztárcám laposságátol:))))
Emellett garatula a Torment forditása miatt:))))))....2xorra játszom végig,és lehet nem utoljára a játékot....nem ide vág,de igy egy körben: Planescape témában jelent meg vmi magyarul???regényre,novellákra gondoltam.....mert asszem csak egy könyvet adtak ki Kishazánkban eddi...:(((
Köszi!!
Üdv -
#159 Nem vagyok nagy C zseni (sőt, nagyon gyengén muzsikálok belőle), de van egy ilyen trükkje a dolognak, és talán működik:
...
teljes_aron_eladott_darabok = (2*almak%3)>0 ? 2*alma/3+1 : 2*alma/3;
felaron_eladott_darabok = almak - teljes_aron_eladott_darabok;
...
Ez így ugyanis nem elágazás, hanem logikai kifejezés. :)
-
#158 go to prog.hu -
#157 C++! Help
Kati néni egy kosár almát visz a piacra és
darabonként árulja azokat. Amikor a készletnek már
legalább a kétharmadát eladta, felére csökkenti az
árat. Mennyi lesz a befolyt összeg, ha az utolsó
almát is eladta. (megoldás: elágazás nélkül,
maradékos osztást alkalmazva …)
Így oldottam meg, talán elfogadja a tanár? Mert nem
maradékos osztást nem tudtam. Hogyan kellett volna?
THX!!!
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main (void)
{
clrscr();
int alma,ar,kethar,egyhar,ossz;
printf("\nKos rban mennyi alma van? ");
scanf("%d",&alma);
printf("\nMennyi ft db-ja? ");
scanf("%d",&ar);
kethar=(alma/3*2)*ar;
egyhar=(alma/3)*(ar/2);
ossz=kethar+egyhar;
printf("\nKati n‚ni nyeres‚ge: %dft",ossz);
getch();
}
-
blackgamer #156 valamelyik könyvesboltban kezembe került egy crack-es könyv, abban voltak ilyenről leírások, címet sajna nem tudok :( -
#155 Sziasztok!
Én a "Hex editálás" rejtelmeibe akarnék belemélyedni...szimplán hobbyból,játékmagyarositás céljából.Milyen irányban kellene elindulnom hogy alapvető ismereteket szerezzek?thx:))) -
#154 Szerintem meg először nyelvtől függetlenül az alapokkal kellene megismerkedni. Adatszerkezetek, típusok, változók, oprendszer alapjai, proc működése, memóriakezelés... Csupa fincsi téma, ezekben kell elkezdeni az olvasgatást. Alapok nélkül am blok nem érdemes belevágni semmilyen nyelvbe, mert berögzülhetnek a rossz megoldások, hiányosságok, aztán onnan nehéz lesz továbblépni.
-
#153 Hello!
Letölteni nem tudom honnan lehet, de szerintem Turbo Pascallal kezdj. Én googleval kerestem rá anno, és könnyen le tudtam vhonnan tölteni a 7-es verziót. Ezután valamilyen tutorialt kellene találnod, amiben az alapok le vannak írva. Ajánlom a http://prog.hu oldalt, ahol a cikkek között érdemes keresgélni, sok prognyelvhez van cikksorozat, ami az alapoktól indul, és jól lehet velük boldogulni.
Hogyha nem jók, nekem van itthon cikksorozatom pascalhoz, c-hez, assemblyhez (régi PCX-Users számok), ha adsz egy ftp-t, feltöltöm, vagy (nem tudom mekkore) e-mailre is elküldöm.
Márk -
kállai #152 valaki segítene nekem nagyon szeretnék megtanulni programozni de,hogyan kezdjem el? milyen program kell hozzá? honnan lehet letölteni stb légyszi segítsetek -
blackgamer #151 nincs HF, szeptembertől beindul a topic :) -
#150 nem megy a topik. ne csináljátok má -
#149 Passz, nem értek a koprocesszor programozásához, sohasem használtam. Ha csak sima asm betét lenne, nem is lenne gond. :)
-
#148 Hello! Nem tudja vki, hogy ez a két progi miért nem működhet?
Ennek az első 100 négyzetszámot kéne kiírnia:
{$N+}
program negyzet;
const n=100;
var a : single;
i,sz : integer;
begin
asm
push di
lea di,a
finit
mov cx, 1
@cimke:
mov si, cx
fld Dword Ptr[si]
fld Dword Ptr[si]
fmul
fadd
inc cx
cmp cx, 100
jne @cimke
fstp Dword Ptr ds:[di]
pop di
end;
writeln('Az elso ',n,' négyzetszám összege asm-el : ',a);
for i:=1 to n do sz:=sz+sqr(i);
writeln('Az elso ',n,' négyzetszám összege: ',sz);
end.
Ennek meg 150-et kéne elosztania 10-el:
{$N+}
program mm_m;
uses crt;
var m : single;
begin
asm
push es
push di
les di,m
finit
mov si,150
fld Dword Ptr[si]
mov si,10
fld Dword Ptr[si]
fdiv
fstp Dword Ptr es:[di]
pop di
pop es
end;
writeln('150 dm= ',m);
end.
Meg tudnátok nézni miért nem jó?
Márk
-
#147 DirtyPio #123-as üzenetére írtam ezt válasznak, ott vannak a szabályok is, csak azt nem tudtam, hogy nála mi volt a pontos feladat. Amit én írtam, az folyamatosan jeleníti meg, hogy hogyan alakul a mátrix állapota. -
blackgamer #146 ilyen vírus fejlődéses dolgot csináltam régebben
vannak szabályok amik szerint létrejön egy új helyen vagy elpusztul vagy nem csinál semmit
egy mátrix tömbben elmented hogy az adott helyen van-e "vírus"
és az egész táblát számold végig mielőtt a képernyőre írnád ki -
#145 Hello!
Megpróbáltam megcsinálni ezt a vírusos dolgot, de nem tudom mi a feladat, egyszerűen megjeleníteni a képernyőn a virusok fejlődését? Na mindegy, itt van: ahol 1, ott van vírus, ahol 0, ott nincs:
program virus;
uses crt;
const n=30;
type nemzetseg = array [1..n, 1..n] of integer;
var i,j : integer;
virusok,kor : nemzetseg;
function Szomszedok(tomb : nemzetseg; x,y : integer) : integer;
var szam : integer;
begin
szam:=0;
if not(x=1) then
if tomb[x-1,y]=1 then szam:=szam+1;
if not(x=n) then
if tomb[x+2,y]=1 then szam:=szam+1;
if not(y=1) then
if tomb[x,y-1]=1 then szam:=szam+1;
if not(y=n) then
if tomb[x,y+1]=1 then szam:=szam+1;
Szomszedok:=szam;
end;
BEGIN
for i:=1 to n do begin
for j:=1 to n do begin
virusok[i,j]:=1;
kor[i,j]:=0;
end;
end;
repeat
delay(500);
clrscr;
for i:=1 to n do begin
for j:=1 to n do begin
write(virusok[i,j],' ');
end;
writeln;
end;
for i:=1 to n do begin
for j:=1 to n do begin
if virusok[i,j]=1 then begin
if (szomszedok(virusok,i,j)<2)
or (szomszedok(virusok,i,j)>3) then begin
virusok[i,j]:=0; kor[i,j]:=0;
end;
if kor[i,j]>2 then begin
virusok[i,j]:=0; kor[i,j]:=0;
end;
kor[i,j]:=kor[i,j]+1;
end;
if virusok[i,j]=0 then begin
if (szomszedok(virusok,i,j)=2)
or (szomszedok(virusok,i,j)=3) then begin
virusok[i,j]:=1;
end;
end;
end;
end;
until keypressed;
end.
De lehet hogy nem ez a feladat.
-
#144 Küldjed, de csak akkor, ha bírod a kritikát. :-) (Ld. itt pár korábbi dolgot. ;-) )
-
#143 blackgamer köszi szépen az nagyon jó lenne.
vmark.freemail.hu (no spam) -
blackgamer #142 nekem 1-2 szám megvan, most épp a 1999 április van a kezemben, ha kell átküldhetem mailben, illetve a pascalos részt egy az egyben megtalálod itt -
#141 Hello!
Valaki nem tudja, hogy honnan lehetne letölteni a régen PC-X ujság mellékletében lévő PC-X User számait? Programozási melléklet volt, de jó nagyon. csak nekem kevés van meg. plz help. -
#140 Köszi a segítséget, azóta sikertül, annyi volt, hogy szöveges fájl, aztán:
readln(lottosz,temp[1],temp[2],temp[3],temp[4],temp[5]);
és így egy sorban lévő 5 számot beolvassa a tömb megfelelő helyeibe.
Most egy olyan kérdésem lenne, hogy nincsen közöttetek info-tanár, vagy esetleg olyan ember, aki ráérne, és megnézné nekem a mostmár kész emeltszintű-érettségi prog. feladatot? Olyan dolgok is érdekelnének, hogy mit lehetett volna könnyebben, strukturáltabban megcsinálni. Ha valaki ráérne, akkor elküldöm a .past. -
#139 Tipusos fájlnál nem az ascii alakot írja ki/olvassa be a pascal, hanem ugye
a 16/32 bites számot (ez pedig 2/4 bájtot foglal.)
Probáld ki, hogy csinálsz egy tipusos állományt, abba kiirsz egy számot.
Megnézed, hogy miként néz ki. Aztán megcsinálod ezt szöveges állományként is.
Én a helyedben szöveges állományként kezelném. (Mert tipusosként nem fog összejönni a fenti probléma miatt.)
Beolvasnám a program elején az összes adatot egy stringekből álló tömbbe.
Illetve írnék egy átalakító fv.-t ami a space-knél darabolja a stringet és
átnyomja egy integer tömbbe. Szerintem.