5 svar
65 visningar
Didar 212
Postad: 15 dec 09:57 Redigerad: 15 dec 10:05

Rättning av tenta fel bedömt ?

Hej jag gjorde en tenta ganska nyligen och jag vill bara veta ifall det är jag som har rättat fel eller min lärare. Jag har endast fått 3 poäng för de svar jag har angett. Men när jag räknar ihop det ska det vara 8 poäng. För varje påstående om man har rätt får man +1p och -1p om man har fel. Jag har svarat på följande: a) falskt, b) falskt , c) sant, d) falskt, e) falskt, f) sant, g) sant, h) sant, i) sant , j) falskt, k) sant , l) sant , m) falskt, n) sant, o) falskt , p) sant

Påståendena lyder:

Ange vilka av följande påståenden som är sanna.Varje påstående som du anger som sant och som faktiskt är sant ger +1pVarje påstående som du anger som sant och som egentligen är falskt ger -1p

a)En pekarvariabel deklareras med &-operatorn.

b)För att skriva till en textfil används funktione fwrite.

c) Om en funktion inte ska returnera någonting används returtypen void.

d) För att jämföra om två strängar är lika eller inte kan == användas.

e) Funktionen srand() används för att sätta ett startvärdet för generering av slumpade tal.

f) En do-while-loop utför sitt kodblock minst en gång.

g) Satsen printf(”%.2f”, 5/2); skriver ut 2.50.h) Funktionen strcmp(), som finns i biblioteket string.h, används för att jämföra om tvåsträngar är lika eller inte.

i) En fil som öppnads i läge ”r+” kan både läsas från och skrivas till.

j) Funktionen calloc() används för att ändra storleken på ett dynamiskt allokerat minne.

k) switch-satsen gör val baserat på om ett villkor är sant eller inte.

l) char array[10]; är exempel på en statisk array, dess storlek kan inte ändras underkörning.

m) printf-funktionen används för att läsa in data från användaren.

n) En array kan inte ha olika datatyper i dess element.

o) En fil kan inte ha två strömmar öppna till sig samtidigt.

p) ++i och i++ är alltid helt ekvivalenda-

sictransit 1122 – Livehjälpare
Postad: 15 dec 10:24 Redigerad: 15 dec 10:26
Didar skrev:

Hej jag gjorde en tenta ganska nyligen och jag vill bara veta ifall det är jag som har rättat fel eller min lärare. Jag har endast fått 3 poäng för de svar jag har angett. Men när jag räknar ihop det ska det vara 8 poäng. För varje påstående om man har rätt får man +1p och -1p om man har fel. Jag har svarat på följande: a) falskt, b) falskt , c) sant, d) falskt, e) falskt, f) sant, g) sant, h) sant, i) sant , j) falskt, k) sant , l) sant , m) falskt, n) sant, o) falskt , p) sant

Påståendena lyder:

Ange vilka av följande påståenden som är sanna.Varje påstående som du anger som sant och som faktiskt är sant ger +1pVarje påstående som du anger som sant och som egentligen är falskt ger -1p

a)En pekarvariabel deklareras med &-operatorn.

b)För att skriva till en textfil används funktione fwrite.

c) Om en funktion inte ska returnera någonting används returtypen void.

d) För att jämföra om två strängar är lika eller inte kan == användas.

e) Funktionen srand() används för att sätta ett startvärdet för generering av slumpade tal.

f) En do-while-loop utför sitt kodblock minst en gång.

g) Satsen printf(”%.2f”, 5/2); skriver ut 2.50.h) Funktionen strcmp(), som finns i biblioteket string.h, används för att jämföra om tvåsträngar är lika eller inte.

i) En fil som öppnads i läge ”r+” kan både läsas från och skrivas till.

j) Funktionen calloc() används för att ändra storleken på ett dynamiskt allokerat minne.

k) switch-satsen gör val baserat på om ett villkor är sant eller inte.

l) char array[10]; är exempel på en statisk array, dess storlek kan inte ändras underkörning.

m) printf-funktionen används för att läsa in data från användaren.

n) En array kan inte ha olika datatyper i dess element.

o) En fil kan inte ha två strömmar öppna till sig samtidigt.

p) ++i och i++ är alltid helt ekvivalenda-

Det var decennier sedan jag höll på med C, så ta mina svar med en stor nypa salt. Nedan är dina svar och i förekommande fall någon kommentar från min sida. Jag får det till 11 rätt och 5 fel. Summering överlåter jag till dig.

a) falskt

Ja, det är väl *.

b) falskt

Precis. Binärfil, eller hur?

c) sant

Absolut!

d) falskt

Håller med! Med == jämför du pekarna, inte innhållet. (Fast det klart, om det är samma objekt så är ju innehållet också lika, men inte nödvändigtvis det omvända.)

e) falskt

Håller inte med! Den används för att sätta "seed".

f) sant

Japp! Kontrollen sker i slutet.

g) sant

Nix. 5/2 är heltalsdivision, så resultatet blir 2. Sedan väljer du att skriva ut med två decimaler, så 2.00.

h) sant

Håller med.

i) sant

Stämmer. Det går att skriva med "r+".

j) falskt

Sant. Allokera, men inte ändra.

k) sant

Det skulle jag inte säga. Switch jämför med tal eller strängar och gör val baserat på om de är lika.

l) sant

Håller med.

m) falskt

Ja, printf skriver ut, läser inte in.

n) sant

Nej, det tror jag inte. Hur skulle den deklareras? 

o) falskt

Det går utmärkt, men man får passa sig för hur man läser och skriver.

p) sant

Nix. Skillnaden ligger i när i räknas upp, före eller efter läsning.

i=0

if (++i == 0) ... // Detta är falskt och efteråt är i ==1.

if (i++ == 0) ... // Detta är sant och efteråt är i ==1.

Didar 212
Postad: 15 dec 11:02

 

håller med, så då borde jag ändå få 6p eller?

Laguna Online 30711
Postad: 15 dec 11:46

Det går inte ens att få 3 poäng om man har svarat på allt. Det måste bli ett jämnt antal poäng. Det står visserligen inte vad som händer med påståenden där du har svarat "falskt", men det kan väl inte vara meningen att de ska ignoreras.

Jag skulle inte kalla string.h för ett bibliotek, men det kanske inte är relevant här. fwrite kan man visst använda för att skriva till textfiler, men som påståendet är utformat skulle jag också svara falskt.

D4NIEL 2961
Postad: 15 dec 12:14 Redigerad: 15 dec 14:06

Hur definierar ni textfil? Måste den skriva en BOM i början?

För mig betyder "textfil" att det man skriver till filen formateras om och/eller anpassas för den specifika miljön. Om man inte anger "wb" till fopen kommer fwrite lägga sig i det man skriver. På HP/UX får man en annan fil än på Windows, där fwrite formaterar om LF till CR/LF.

På n) kanske uppgiftsmakaren menar att man kan göra en array av en struct med flera datatyper i sig. Elementtypen kan ha olika datatyper.

Edit: Jag hade tydligen rätt från början... Det är skillnad mellan "wb" och "w" för fwrite.

Här skriver vi 1 byte till filen testfil, först med wb (binary-mode) och sedan med "w" (text-mode) och tittar på resultatet:

buf innehåller alltså bara 2 bytes, {0A,00} (nollavslutad sträng). Vi skriver bara 1 element 1 byte stort.

Med "wb" får vi filen (1 byte)

Och med "w", dvs text-mode, får vi filen (2 byte)

Från ingenstans har vi alltså fått en CR av fwrite. Trots att vi inte bett om det (tekniskt sett har vi kanske bett om det eftersom vi använt fwrite för att skriva en textfil).

Didar 212
Postad: 15 dec 17:30
Laguna skrev:

Det går inte ens att få 3 poäng om man har svarat på allt. Det måste bli ett jämnt antal poäng. Det står visserligen inte vad som händer med påståenden där du har svarat "falskt", men det kan väl inte vara meningen att de ska ignoreras.

Jag skulle inte kalla string.h för ett bibliotek, men det kanske inte är relevant här. fwrite kan man visst använda för att skriva till textfiler, men som påståendet är utformat skulle jag också svara falskt.

ja men precis håller med, då har läraren gjort fel eller formulerat sig väldigt konstigt eller har jag fel?

Svara
Close