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

Interschimbare valori

Interschimbati continutul a doua numere de tip intreg citite de la tastatura

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

namespace _1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, aux; 
            Console.Write("Introduceti primul numar a = "); 
            a = int.Parse(Console.ReadLine()); 
            Console.Write("Introduceti al doilea numar b = "); 
            b = int.Parse(Console.ReadLine()); 
            Console.WriteLine("a={0}, b={1}", a, b); 
            aux = a; a = b; b = aux; 
            Console.Write("Dupa interschimbare a={0}, b={1}", a, b); 
            Console.ReadKey();
        }
    }
}

Analiza programului

Pe prima linie in corpul functiei principale se declara trei variabile intregi: a, b si aux.
Se foloseste de doua ori perechea de functii Console.Write()/int.Parse(Console.ReadLine()) pentru a afisa un mesaj pe ecran si apoi pentru a citi cele doua valori intregi de la tastatura, care vor fi depuse in variabilele a, respectiv b; deoarece numerele citite de la tastatura se introduc in valori de tip int, functia de citire de la tastature Console.ReadLine() trebuie insotita de transformarea intrarii de tip String in int cu ajutorul functiei int.Parse();

– urmeaza trei instructiuni de atribuire, care impreuna formeaza “metoda celor trei pahare”;

– se afiseaza rezultatul, folosind un apel de functie Console.Write(); observam ca se va tipari pe ecran atat sir de caractere cat si doua secvente de tipul {…}, care la tiparire se vor inlocui cu valorile din variabilele a, respectiv b;

– urmeaza un apel al functiei Console.ReadKey() care va tine ecranul de Output vizibil pana la apasarea unei taste. In lipsa ei, aceasta dispare imediat dupa afisarea resultatelor

Efect
Primul numar: 15
Al doilea numar: 21
Dupa interschimbare: a=21 b=15

Metoda suplimentara de rezolvare, fara folosirea unei valori intermediare:

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

namespace _1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b;
            Console.Write("Introduceti primul numar a = ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Introduceti al doilea numar b = ");
            b = int.Parse(Console.ReadLine());
            Console.WriteLine("a={0}, b={1}", a, b);

            a = a + b;
            b = a - b;
            a = a - b;
            //sau, scris intr-o singura linie: 
            //b = (a + b) - (a = b);

            Console.Write("Dupa interschimbare a={0}, b={1}", a, b);
            Console.ReadKey();
        }
    }
}
Category: Uncategorized

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

*