Block Structure ?

Tags:    c++

Jeg er ved at læse en bog under titlen: C++ Primer 4th.Ed.
Her nævner de forkundskaber som at man skal have kendskab til "Block Structured Language".


I beskrivelse af bogen, står der:

"Knowledge of the C language is not assumed, although familiarity with some modern, BLOCK STRUCTURED LANGUAGE will make the going easier. The book is intended as a first book on C++; it is not intended as a first book on programming!"



Jeg har tidligere lavet lidt C++ programmer, uden kendskab til begrebet...

Jeg har lavet x86 Assembler programmer i både 8, 16, og 32-bit(Windows).

Er der andre bøger jeg burde læse INDEN jeg kaster mig ud i denne ca. 1000 siders sag !

Venlig Hilsen

The SharK ;-)




10 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg ved ikke helt hvad der menes med Block Structured Language, men jeg kunne forestille mig at det referer til sprog der har en blok struktur funktion (de fleste moderne sprog idag, men også en masse ældre sprog).

I C++ benyttes { og } til at definere blokke.
Blokke eksekveres i det logiske program sammenhæng, som var de enkelte statements.
Altså en blok samler flere statements til en logisk enkelt statement.

Med andre ord, simpelthen den syntax som muliggør dette:

if (blabla = blablabla) {
1;
2;
3;
}

istedet for dette:

if (blabla = blablabla) 1;
if (blabla = blablabla) 2;
if (blabla = blablabla) 3;

Det er mit bedste bud på hvad block structured language skal betyde :)



Men jeg vil lige sige at block structured programming også kan være andre sprog som fx C, Algol, Java, Python. Altså alle de sprog som gøre det muligt at "indkapsle" ens kode i blokke, http://www.csse.monash.edu.au/~lloyd/tildeProgLang/PL-Block/ et link som forklarer lidt mere omkring dette.



Jonatan du kan gøre begge ting i C++. Blocks er, som du siger, koden imellem {}.



Jonatan du kan gøre begge ting i C++. Blocks er, som du siger, koden imellem {}.


Martin, det var et eksempel som skulle vise hvad det var at samle i en blok.
Hvis min tekst giver tvivl om at man kunne gøre begge dele, så må jeg lære at skrive mere tydeligt.

Men tak for "hjælpen" :)



Tak for svarene, de var fyldestgørende ;-)

Så kan jeg roligt gå videre i min C++ programmering ;-)


Hilsen

The SharK



Jonatan. Aaah ja. Din tekst er lidt tvetydig. Men gl med C++'en sharK



Hvordan forholder man sig til dette her, jeg læste:

"The reason that C (and C++) is not, technically, a block-structured language is that block-structured languages permit procedures or functions to be declared inside other procedures or functions. However, since C does not allow the creation of functions within functions, it cannot formally be called block-structured."

siger de hér, at C++ IKKE er Block-structured ?

hmm....



Det er fordi C af performancehensyn (og for at gøre linking simplere, vil jeg tro) undlader nogle af de mere avancerede features som et klassisk blok-struktureret programmeringssprog, som f.eks. ALGOL , har. Og C++ har så arvet den designfeature fra C++.



Hej Troels !

Når du skriver at:

Og C++ har så arvet den designfeature fra C++



mener du så, at C++ har arvet den designfeature fra C !



Indlæg senest redigeret d. 01.06.2006 15:43 af Bruger #9738
Ja, naturligvis, det var en tastefejl.



t