2640 - Extrage Cuvant: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerință == 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 s...
 
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Cerință ==
== Cerință ==
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.
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)
Î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 ==
== Date de intrare ==
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==
=== Rezolvare ver. 1 ===
<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>

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>