2640 - Extrage Cuvant: Difference between revisions

From Bitnami MediaWiki
No edit summary
Tag: visualeditor
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
Funcţia va primi patru parametri în următoarea ordine: '''şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor''' considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0).
Funcţia va primi patru parametri în următoarea ordine: '''şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor''' considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0).
== Date de ieșire ==
== Date de ieșire ==
Funcţia va returna '''1''' dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau '''0''' în caz contrar.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Funcţia va returna '''1''' dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau '''0''' în caz contrar. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
 
== Restricții de precizări ==
== Restricții de precizări ==
Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring).
Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring).
== Exemplul 1==
==Exemplu==
=== Exemplul 1===
; Intrare
; Intrare
: extrageCuvant(dest, "Un mar, doua mere, trei mere, toata livada !", ", !", 0);
: extrageCuvant(dest, "Un mar, doua mere, trei mere, toata livada !", ", !", 0);
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: va returna valoarea 1 şi va copia şirul Un în dest.
: va returna valoarea 1 şi va copia şirul Un în dest.


== Rezolvare ver. 1 ==
==Rezolvare==
=== Rezolvare ver. 1 ===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(destinatie, sursa, separatori, pozitie):
def validare(destinatie, sursa, separatori, pozitie):
Line 35: Line 37:
     separatori = input()
     separatori = input()
     pozitie = input()
     pozitie = input()
    if validare(destinatie, sursa, separatori, pozitie):
 
if validare(destinatie, sursa, separatori, pozitie):
         destinatie, sursa, separatori, pozitie = int(
         destinatie, sursa, separatori, pozitie = int(
             destinatie), int(sursa), int(separatori), int(pozitie)
             destinatie), int(sursa), int(separatori), int(pozitie)
        extrageCuvant = (destinatie, sursa, separatori, pozitie)
    extrageCuvant = (destinatie, sursa, separatori, pozitie)


        print("Cuvântul a fost găsit: ", destinatie)
    print("Cuvântul a fost găsit: ", destinatie)
        print("Poziția indicată nu există în șirul sursă.")
    print("Poziția indicată nu există în șirul sursă.")


        print(”Datele introduse corespund restrictiilor impuse”)
    print(”Datele introduse corespund restrictiilor impuse”)
    else:
else:
        print(”Datele introduse nu corespund restrictiilor impuse”)
    print(”Datele introduse nu corespund restrictiilor impuse”)


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 19:08, 24 April 2023

Cerință[edit]

Să se scrie o funcţie denumită extrageCuvant care să primească ca parametri trei şiruri de ca-ractere în această ordine: destinatie, sursa, separatori şi un număr întreg prin intermediul căruia se va specifica numărul cuvântului ce se doreşte a fi preluat din şirul de caractere sursă şi pus în şirul destinaţie.În şirul separatori se vor găsi o serie de simboluri ce sunt utilizate pentru a despărţi cuvintele (de exemplu virgulă sau spaţiu, etc.).Dacă funcţia a copiat cu succes cuvântul căutat în şirul destinaţie, va returna valoarea 1. Altfel va returna valoarea 0 (de exemplu dacă textul conţine doar trei cuvinte şi se doreşte găsirea cu-vântului al patrulea)

Date de intrare[edit]

Funcţia va primi patru parametri în următoarea ordine: şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0).

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Funcţia va returna 1 dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau 0 în caz contrar. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări[edit]

Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring).

Exemplu[edit]

Exemplul 1[edit]

Intrare
extrageCuvant(dest, "Un mar, doua mere, trei mere, toata livada !", ", !", 0);
Ieșire
va returna valoarea 1 şi va copia şirul Un în dest.

Rezolvare[edit]

Rezolvare ver. 1[edit]

<syntaxhighlight lang="python" line="1" start="1"> def validare(destinatie, sursa, separatori, pozitie):

   return 0 < int(destinatie, sursa, separatori, pozitie)


def extrageCuvant(destinatie, sursa, separatori, pozitie):

   cuvinte = sursa.split(separatori)
   if pozitie >= len(cuvinte):
       return 0
   else:
       destinatie = cuvinte[pozitie]
       return 1


if __name__ == "__main__":

   destinatie = input()
   sursa = input()
   separatori = input()
   pozitie = input()

if validare(destinatie, sursa, separatori, pozitie):

       destinatie, sursa, separatori, pozitie = int(
           destinatie), int(sursa), int(separatori), int(pozitie)
   extrageCuvant = (destinatie, sursa, separatori, pozitie)
   print("Cuvântul a fost găsit: ", destinatie)
   print("Poziția indicată nu există în șirul sursă.")
   print(”Datele introduse corespund restrictiilor impuse”)

else:

   print(”Datele introduse nu corespund restrictiilor impuse”)

</syntaxhighlight>