Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Impartire prin scadere

Impartirea a doua numere prin scaderi repetate

Analiza Programului

Se stie din clasele elementare ca impartirea inseamna de fapt niste scaderi repetate. Astfel, a:b inseamna b scazut de c ori si este posibil sa existe si un rest apartine [0, b-1]. nu se stie de cate ori se va scadea b din a, acest lucru se va afla doar la final, de asemenea si eventualul rest. in acest sens, pentru a repeta scaderea se va utiliza instructiunea repetitiva cu numar necunoscut de pasi si anume while. Conditia ca scaderea sa se mai repete esta ca a>=b. De fiecare data cand se mai face o scadere se va incrementa variabila c, care in final va reprezenta catul. Valoarea care ramane in final in a reprezinta restul.
Variabilele c si r se initializeaza cu 0, urmand ca la final sa contina catul (obtinut in cadrul ciclului while) si restul impartirii. Deoarece valoarea lui a se alterneaza in timpul calculului, daca se doreste se poate face o copie a sa inainte de a intra in ciclul while

Rezolvarea problemei in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _7
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, a1 = 0, c = 0, r = 0;
            Console.Write("Introduceti a = ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Introduceti b = ");
            b = int.Parse(Console.ReadLine());
            a1 = a;
            while (a1 >= b)
            {
                a1 = a1 - b;
                c++;
            }
            r = a1;
            Console.WriteLine("{0} : {1} = {2} rest {3}", a, b, c, r);
            Console.ReadLine();
        }
    }
}

Rezolvarea problemei in C++

//the header conio, which include library functions for performing "console input and output"
#include <conio.h>
//the header iostream, which supports the C++ I/O system
#include <iostream>
//tells the compiler to use the std namespace
using namespace std;

//begin program execution
int main()
{
    //declare variables
    int a, b, c = 0, r = 0;

    //display message on the screen
    cout<<"Introduceti primul numar: "<<endl;
    //read from keyboard
    cin>>a;
    cout<<"Introduceti al doilea numar: "<<endl;
    cin>>b;

    while(a >= b)
    {
        a = a-b;
        c++;
    }
    
    r = a;

    cout<<"Catul este "<<c<<endl;
    cout<<"Restul este "<<r<<endl;
    //terminates main and return value to the calling process
    return 0;
}
Category: c#, scoala
Tag:
  • carmen says:

    nu reusec sa intelec cum sa fac o impartire cu rest pana ajung sa am restul 0
    help

    June 6, 2012 at 7:14 pm

Your email address will not be published. Required fields are marked *

*