Problemløsning og programmering

Eksempel 1. Gentagelser og tælleværker.

Eksempel 3. Gentagelse og opsummering.

Eksempel 2. Sammenligning og forgrening.

Opgaven

Indlæs tre tal. De to første tal adderes, og summen divideres med det tredie tal, hvis det tredie tal er forskellig fra 0, ellers udskrives en fejlmeddelelse.

Opstilling af drejebog

1. afprøvning:

Indtast det første tal: 10
Indtast det andet tal: 20
Indtast det tredie tal: 3
Resultatet er: 10

2. afprøvning:

Indtast det første tal: 10
Indtast det andet tal: 20
Indtast det tredie tal: 0
Beregning umulig

Formler

Beregning: (Tal1 + Tal2) / Tal3, hvis Tal3 forskellig fra 0.

Generelle rutiner:

Udskrivning af en ledetekst efterfulgt af indlæsning af et tal er en handling, som skal udføres 3 gange. Det kan derfor være relevant at generalisere denne handling i en funktion:

static int laesTal(string enTekst)
{
int tal;
string input;
Console.Write(enTekst);
input = Console.ReadLine();
tal = Int32.Parse(input);
return tal;
}

Programmets struktur

class Program
{
static int laesTal(string enTekst)
{
int tal;
string input;
Console.Write(enTekst);
input = Console.ReadLine();
tal = Int32.Parse(input);
return tal;
}
  static void Main(string[] args)
  {
    int tal1;
    int tal2;
    int tal3;
    int resultat = 0;
    tal1 = laesTal("Indtast det første tal: ");
    tal2 = laesTal("Indtast det andet tal: ");
    tal3 = laesTal("Indtast det tredie tal: ");
    if (tal3 != 0)
    {
      resultat = (tal1 + tal2) / tal3;
      Console.WriteLine("Resultatet er: {0,5:G}", resultat);
    }
    else
    {
      Console.WriteLine("Beregning er umulig");
    }
    Console.ReadLine();
  }
}

Ligesom muligheden for at udføre gentagelser er en fundamental egenskab ved datamaskiner, så er datamaskinens evne til at sammenligne og teste variabler af lige så stor vigtighed. En datamaskine ville nemlig ikke kunne løse vore administrative eller tekniske problemer for os, hvis den ikke kunne sammenligne to variabler og foretage en forgrening af databehandlingen på grundlag af resultatet af denne sammenligning.

Man udtrykker undertiden denne egenskab ved at sige, at datamaskinen er i stand til at udføre logiske valg. Et logisk valg udtrykkes i naturligt sprog ofte med en sætning, der indledes med ordet "hvis": Hvis betingelsen er opfyldt, så udfør denne behandling - ellers udføres en anden behandling.

Betingelser.

En betingelse er en sammensætning af ét eller flere boolske udtryk. Et boolsk udtryk er et udtryk, som kun kan antage én af de to værdier sand og falsk. De enkelte boolske udtryk består normalt af to variabler med en logisk operand imellem. De logiske operander kan være en af nedenstående muligheder:

= lig med
> større end
< mindre end
>= større end eller lig med
<= mindre end eller lig med
!= forskellig fra

Hvis betingelsen er sammensat af flere boolske udtryk, skal de enkelte boolske udtryk være omsluttet af paranteser. Sammenhængen mellem de enkelte boolske udtryk beskrives ved hjælp af logiske operander som AND (&&) og OR (||).

Negation.

Det er muligt ved hjælp af operanden ! at negere et boolsk udtryk. Det vil sige at ændre en værdi fra sand til falsk eller fra falsk til sand. Man skal passe på, hvis det boolske udtryk, som skal negeres, indeholder operander som AND og OR, fordi disse operander ifølge de Morgans lov skifter fra AND til OR eller fra OR til AND i forbindelse med negationen.

Oprettet 11. januar 2008
Opdateret 12. januar 2008