18 svar
52 visningar
AD75 8
Postad: 23 apr 19:46 Redigerad: 23 apr 19:50

Kontrollera två tals delbarhet och endast skriva ut resultatet om de är jämnt delbara

Jag ska skriva psuedokod och ett aktivetsdiagram .Programmet skall läsa in två tal. Programmet skall sedan undersöka om de är jämnt delbara (det blir inga decimaler vid division) med varandra. Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara.

 

jag försöker skriva ett program i Netbeans (Java) som ger detta resultat men vet inte hur jag ska skriva exakt den delen som handlar om " om de är jämnt delbara (det blir inga decimaler vid division) med varandra. Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara."

 

 

Jag har skrivit så här :

package inlänmningtest02;

import java.util.Scanner;

/** *

*/public class uppgift

 public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int tal1, tal2; System.out.print( " Mata in två tal: " );

tal1 = scan.nextInt();

tal2 = scan.nextInt();

System.out.println( tal1 + " / " + tal2 + " = " + tal1/tal2) ;

.

.

.jag vet inte hur jag ska skriva för att för att programmet ska skriva ut resultatet

Du behöver använda en operator som heter modulo. Det är alltså resten i division med rest man lärde sig tidigare matten. Operatorn skrivs som % men har ingenting med procent att göra. 

5 % 2 = 1 eftersom 5/2=2 med rest 1

6 % 2 = 0 eftersom 6/2=3 med rest 0

Om modulo returnerar noll så är dina två tal jämnt delbara. 

Är det en bit på väg?

AD75 8
Postad: 23 apr 19:58 Redigerad: 23 apr 20:01

jo jag skrev så här från början

System.out.println( tal1 + " % " + tal2 + " = " + tal1%tal2) ;

Men med denna sats får man en rest som resultat och det är ju inte vad som frågas om.

Men enligt uppgiften ska man få resultat om de två talen är jämt delbara alltså att svaret blir ett heltal och om de inte är det så ska det stå i resultatet  .Det är inte jämnt delbart.

Hur skriver man den satsen?

sictransit 389 – Livehjälpare
Postad: 23 apr 20:05 Redigerad: 23 apr 21:37
if (… villkor…)
{
     … skriv ut något …
}
else
{
     … skriv ut något annat …
}
AD75 8
Postad: 23 apr 20:08 Redigerad: 23 apr 20:10

Så man ska skriva om resultat blir 0 så är det jämnt delbart men om det inte är lika med noll så är det inte jämnt delbart.

Detta måste skrivas som programmkod,

Ska testa och återkomma.

Tack för svar

Jag har ju inte sett exakt hur din uppgift ser ut men det låter som om du är på rätt väg nu. 

AD75 8
Postad: 23 apr 20:18 Redigerad: 23 apr 20:20

Uppgift A  (Programmering 1)

Syfte

Att visa att man kan

  • skriva pseudokod
  • rita aktivitetsdiagram.

Krav på programmets funktioner

Programmet skall läsa in två tal.

Programmet skall sedan undersöka om de är jämnt delbara  (det blir inga decimaler vid division) med varandra.

Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara.

Att programmera i Java sedan när det fungerar även skriva som pseudokod och rita aktivitetsdiagram

Tack! Välkommen till Pluggakuten förresten.

Det verkar som du behöver få till ditt villkor där och sedan skriva ut det som förväntas av uppgiften, beroende på resultatet. 

AD75 8
Postad: 23 apr 20:44 Redigerad: 23 apr 20:47

Kan du hjälpa mig få till det villkoret för det fungerar inte?

Jag kommer inte på hur jag ska skriva det matematiska uttrycket för detta i programkod. Jag är nybörjare i detta

Något åt det här hållet?

if (tal1 % tal2 == 0)
{
	System.out.println("Talen " + tal1 + " och " + tal2 + " är jämnt delbara.");
}
else
{
	System.out.println("Talen " + tal1 + " och " + tal2 + " är inte jämnt delbara.");
}
AD75 8
Postad: 23 apr 21:10

Tack jag ska testa

AD75 8
Postad: 23 apr 21:34

Tack så mycket för hjälpen.

Jag fick till det till slut :)

sictransit 389 – Livehjälpare
Postad: 23 apr 21:34 Redigerad: 23 apr 21:35
AD75 skrev:

Tack så mycket för hjälpen.

Jag fick till det till slut :)

Tjusigt! Posta gärna ditt fungerande program om du vill. Nu har du pseudokod + diagram kvar.

AD75 8
Postad: 23 apr 21:45
package uppgifta;
import java.util.Scanner;


public class UppgiftA {

    public static void main(String[] args) {
        java.util.Scanner scan = new java.util.Scanner(System.in); 
        
        int tal1, tal2;
        System.out.print( " Mata in två tal: " );
        tal1 = scan.nextInt();
        tal2 = scan.nextInt();
        System.out.println( tal1 + " / " + tal2 + " = " + tal1/tal2) ;
        
        if (tal1 % tal2 == 0)
{
	System.out.println("Talen " + tal1 + " och " + tal2 + " ar jamnt delbara.");
}
        else
{
	System.out.println("Talen " + tal1 + " och " + tal2 + " ar inte jamnt delbara.");
}
    } 
}
    
   
Laguna Online 28680
Postad: 23 apr 21:52

"Med varandra"? Räknar man t.ex. 6 och 3, eller även 3 och 6?

Fixa till indenderingen, så att det som är efter if är på samma nivå i vänsterkant som resten av koden.

Sedan har du ju redan skrivit ut tal1 och tal2 tidigare, så det kanske räcker med att tala om huruvida de är jämnt delbara eller ej (utan att skriva ut dem på nytt).


Laguna ställde precis en fråga, men den känns definitivt som överkurs för uppgiften. Det står inte uttryckligen att det är tal1tal2 som gäller, men jag tror vi kan utgå ifrån att uppgiften inte också vill att man kontrollerar tal2tal1. Senare i livet, om du börjar koda på högre nivå eller för pengar som jag, är det dock absolut relevant att lusläsa "kraven". Är de otydliga är det lätt att man hamnar i en diskussion om programmet fungerar som "beställt" eller ej.

Laguna Online 28680
Postad: 23 apr 22:20

Ju tidigare man lär sig att fundera på tolkningen av kraven, desto bättre.

Nästa fråga: har du funderat på vad som ska hända om tal2 är 0?

Laguna skrev:

Ju tidigare man lär sig att fundera på tolkningen av kraven, desto bättre.

Nästa fråga: har du funderat på vad som ska hända om tal2 är 0?

Sant, men på den här nivån är det så otroligt mycket att fundera på, som att lära sig modulo samt vanliga if-satser.

Jag tycker den som frågade skall vara nöjd med löst uppgift och fungerande javakod.

Sedan, som du säger, kan tal2 absolut vara noll, eller -2i eller banankaka. Det finns så otroligt många saker som kan gå fel i ett enkelt javaprogram som inte inte validerar inmatning. Det är väl sannolikt inte vad den här uppgiften handlar om, eller hur? Dessutom smäller den färdiga koden i uppgiften innan vi ens kommer till det vi knåpat ihop om någon inte matar in fina förväntade heltal. 

Laguna Online 28680
Postad: 23 apr 22:45

Frågan var ställd till trådskaparen, förstås.

Svara Avbryt
Close