2589 - Set Last 2: Diferență între versiuni

De la Universitas MediaWiki
(Pagină nouă: <nowiki>== Cerință ==</nowiki> Se citește un număr <code>n</code> într-o variabilă de tip întreg pe <code>16</code> biți cu semn. Setați la valoarea <code>1</code> cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei. <nowiki>== Date de intrare ==</nowiki> Programul citește de la tastatură numărul <code>n</code>. <nowiki>== Date de ieșire ==</nowiki> Programul va afișa pe ecran valoarea cerută. <nowiki>== Restricții de preciz...)
 
Fără descriere a modificării
 
(Nu s-au afișat 4 versiuni intermediare efectuate de alți 2 utilizatori)
Linia 1: Linia 1:
<nowiki>== Cerință ==</nowiki>
== Cerință ==
Se citește un număr n într-o variabilă de tip întreg pe 16 biți cu semn. Setați la valoarea 1 cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei.
== Date de intrare ==
Programul citește de la tastatură numărul n.
== Date de ieșire ==
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."


Se citește un număr <code>n</code> într-o variabilă de tip întreg pe <code>16</code> biți cu semn. Setați la valoarea <code>1</code> cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei.
== Restricții de precizări ==
*-32768 &les; n &les; 32768
== Exemplul 1==
; Intrare
: 5
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: 7
== Exemplul 2 ==
; Intrare
: 100
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: 103
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
def validare(n):
    return n.isdigit() and 1 <= int(n) <= 32767  # Verificăm dacă input-ul este un număr valid între 1 și 32767.


<nowiki>== Date de intrare ==</nowiki>


Programul citește de la tastatură numărul <code>n</code>.
def setlast(n):
    # Setăm cei mai puțin semnificativi 2 biți la 1 folosind operatorul de bit OR.
    n = n | 3
    print("Valoarea după setarea celor mai puțin semnificativi 2 biți la 1: ", n)  # Afișăm rezultatul.


<nowiki>== Date de ieșire ==</nowiki>


Programul va afișa pe ecran valoarea cerută.
if __name__ == "__main__":
    n = input("Introduceți un număr pe 16 biți cu semn: ")  # Citim valoarea numărului de la tastatură.
    if validare(n):  # Verificăm dacă valoarea introdusă corespunde restricțiilor impuse.
        n = int(n)  # Convertim valoarea într-un număr întreg.


<nowiki>== Restricții de precizări ==</nowiki>
        print("Datele introduse corespund restricțiilor impuse.")
        setlast(n)  # Apelăm funcția setlast cu valoarea numărului.


<nowiki>*</nowiki>-32768 <nowiki>&</nowiki>les; n <nowiki>&</nowiki>les; 32768
    else:
        print("Datele introduse nu corespund restricțiilor impuse.")


<nowiki>== Exemplul 1==</nowiki>
</syntaxhighlight>
 
<nowiki>;</nowiki> Intrare
 
<nowiki>:</nowiki> 5
 
<nowiki>;</nowiki> Ieșire
 
<nowiki>:</nowiki> Datele introduse corespund restricțiilor impuse.
 
<nowiki>:</nowiki> 7
 
<nowiki>== Exemplul 2 ==</nowiki>
 
<nowiki>;</nowiki> Intrare
 
<nowiki>:</nowiki> 100
 
<nowiki>;</nowiki> Ieșire
 
<nowiki>:</nowiki> Datele introduse corespund restricțiilor impuse.
 
<nowiki>:</nowiki> 103
 
<nowiki>== Rezolvare ver. 1 ==</nowiki>

Versiunea curentă din 25 aprilie 2023 08:35

Cerință

Se citește un număr n într-o variabilă de tip întreg pe 16 biți cu semn. Setați la valoarea 1 cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări

  • -32768 ⩽ n ⩽ 32768

Exemplul 1

Intrare
5
Ieșire
Datele introduse corespund restricțiilor impuse.
7

Exemplul 2

Intrare
100
Ieșire
Datele introduse corespund restricțiilor impuse.
103

Rezolvare ver. 1

def validare(n):
    return n.isdigit() and 1 <= int(n) <= 32767  # Verificăm dacă input-ul este un număr valid între 1 și 32767.


def setlast(n):
    # Setăm cei mai puțin semnificativi 2 biți la 1 folosind operatorul de bit OR.
    n = n | 3
    print("Valoarea după setarea celor mai puțin semnificativi 2 biți la 1: ", n)  # Afișăm rezultatul.


if __name__ == "__main__":
    n = input("Introduceți un număr pe 16 biți cu semn: ")  # Citim valoarea numărului de la tastatură.
    if validare(n):  # Verificăm dacă valoarea introdusă corespunde restricțiilor impuse.
        n = int(n)  # Convertim valoarea într-un număr întreg.

        print("Datele introduse corespund restricțiilor impuse.")
        setlast(n)  # Apelăm funcția setlast cu valoarea numărului.

    else:
        print("Datele introduse nu corespund restricțiilor impuse.")