4270 - F Concat: Difference between revisions

From Bitnami MediaWiki
 
(3 intermediate revisions by the same user not shown)
Line 22: Line 22:
==Exemplu==
==Exemplu==
=== Exemplul 1===
=== Exemplul 1===
Dacă '''s = abcde''' și '''d = XYZ''', atunci după apelul '''FConcat(s, d)''', șirul '''s''' va deveni '''s = abcdeXYZ'''.
;Intrare
:abcde
:XYZ
;Ieșire
:abcdeXYZ.


==Important==
==Important==
Line 44: Line 48:
         return False
         return False
     return True
     return True


def FConcat(s, d):
def FConcat(s, d):
Line 51: Line 56:
     :param d: al doilea șir de caractere
     :param d: al doilea șir de caractere
     """
     """
    if not validate_input(s, d):
        print("Input invalid!")
        return
     s += d
     s += d
     print("Rezultat: ", s)
     print("Rezultat: ", s)


# Program de testare
# Program de testare
def main():
if __name__ == '__main__':
     s = input("Introduceti primul sir: ")
     s = input("Introduceti primul sir: ")
     d = input("Introduceti al doilea sir: ")
     d = input("Introduceti al doilea sir: ")
     FConcat(s, d)
     if not validate_input(s, d):
        print("Datele de intrare nu corespund restrictiilor impuse.")
    else:
        print("Datele de intrare corespund restrictiilor impuse.")
        FConcat(s, d)
 
 
 
 
 


if __name__ == '__main__':
 
     main()
      




Line 70: Line 82:
</syntaxhighlight>
</syntaxhighlight>


==Explicatie==
==Explicație==
Codul Python de mai sus definește o funcție de validare validate_input și o funcție principală FConcat care primește doi parametri: s și d, care reprezintă două șiruri de caractere. Funcția validate_input verifică dacă cele două șiruri primite sunt de tipul str și dacă au o lungime mai mare de 0, returnând True dacă ambele condiții sunt adevărate și False în caz contrar.
Codul Python de mai sus definește o funcție de validare validate_input și o funcție principală FConcat care primește doi parametri: s și d, care reprezintă două șiruri de caractere. Funcția validate_input verifică dacă cele două șiruri primite sunt de tipul str și dacă au o lungime mai mare de 0, returnând True dacă ambele condiții sunt adevărate și False în caz contrar.



Latest revision as of 18:29, 6 May 2023

Cerință[edit]

Scrieți funcția cu următorul antet:

 void FConcat(char s[], char d[])

Funcția primește ca parametri două șiruri de caractere și adaugă caracterele din d la sfârșitul lui s.

Date de intrare[edit]

Se citesc:

  • Un șir de caractere "s" - reprezentând primul șir
  • Un șir de caractere "d" - reprezentând al doilea șir

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse.". Nicio valoare nu este returnată, dar șirul "s" este modificat astfel încât să conțină și caracterele din șirul "d" la sfârșit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări[edit]

  • Este garantat că vor încăpea în s toate caracterele din d.
  • Nu puteți utiliza funcțiile pentru șirurile de caractere din biblioteca cstring


Exemplu[edit]

Exemplul 1[edit]

Intrare
abcde
XYZ
Ieșire
abcdeXYZ.

Important[edit]

Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Rezolvare[edit]

Rezolvare var. 1[edit]

<syntaxhighlight lang="python" line="1" start="1">

def validate_input(s, d):

   """
   Verifică dacă cele două șiruri de caractere primite ca parametri sunt valide
   :param s: primul șir de caractere
   :param d: al doilea șir de caractere
   :return: True dacă ambele șiruri sunt valide, False în caz contrar
   """
   if not isinstance(s, str) or not isinstance(d, str):
       return False
   if len(s) == 0 or len(d) == 0:
       return False
   return True


def FConcat(s, d):

   """
   Adaugă caracterele din d la sfârșitul lui s
   :param s: primul șir de caractere
   :param d: al doilea șir de caractere
   """
   s += d
   print("Rezultat: ", s)


  1. Program de testare

if __name__ == '__main__':

   s = input("Introduceti primul sir: ")
   d = input("Introduceti al doilea sir: ")
   if not validate_input(s, d):
       print("Datele de intrare nu corespund restrictiilor impuse.")
   else:
       print("Datele de intrare corespund restrictiilor impuse.")
       FConcat(s, d)






</syntaxhighlight>

Explicație[edit]

Codul Python de mai sus definește o funcție de validare validate_input și o funcție principală FConcat care primește doi parametri: s și d, care reprezintă două șiruri de caractere. Funcția validate_input verifică dacă cele două șiruri primite sunt de tipul str și dacă au o lungime mai mare de 0, returnând True dacă ambele condiții sunt adevărate și False în caz contrar.

Funcția FConcat apelează mai întâi funcția validate_input pentru a verifica dacă cele două șiruri primite sunt valide. Dacă acestea sunt invalide, funcția afișează un mesaj corespunzător. În caz contrar, funcția concatenează șirul d la sfârșitul șirului s, utilizând operatorul += și afișează rezultatul obținut.

În final, am adăugat și o funcție main, care citește cele două șiruri de la tastatură și apelează funcția FConcat cu parametrii citiți.