• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

[ONI][Clasa IX] Limbaj

0
  • Publicat de Andrei Avădănei
  • în Probleme algoritmică
  • — 27 iun., 2009 at 5:25 pm

Definim un limbaj de programare, cu instructiuni de atribuire si de decizie. Sintaxa instructiunilor este:

Instructiunea de atribuire
variabila=variabila
Instructiunea de decizie
if
semn variabila variabila
{da
instructiuni}
{nu
instructiuni}
fi

Variabilele limbajului sunt identificate printr-un singur caracter, litera mica, din alfabetul englez. Valorile variabilelor sunt de tip intreg.

Semn este unul din caracterele ‘< ’ , ‘>’ sau ‘=’.
Liniile instructiunilor nu contin spatii.
Instructiunile din {} pot lipsi.
Cerinta

Daca se dau valorile initiale ale tuturor variabilelor (de la a la z), in ordine alfabetica incepand cu a. Se cer valorile tuturor variabilelor de la a la z, dupa executia secventei de program.

ONI 2006

Date de intrare
Fisier de intrare: limbaj.in
Linia 1: Va Vb ….Vz – Valorile initiale ale variabilelor, de la a la z, separate prin cate un spatiu.
Linia 2: linie de program – Urmatoarele linii, pana la sfarsitul fisierului contin linii de program,
Linia 3: linie de program cu instructiuni corecte din punct de vedere sintactic.
….
Date de iesire
Fisier de iesire: limbaj.out
Linia 1: Va Vb ….Vz – Åžirul valorilor variabilelor, de la a la z, in ordine alfabetica, pe un rand, separate prin cate un spatiu.
Restrictii
• -30000< a,b, ..,z < 30000
• Numarul liniilor de program este mai mic decat 10000
• Limbajul este case sensitive. (se folosesc doar litere mici de la a la z)
Exemplu
limbaj.in

1 3 5 7 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
if
=ab
nu
if
b=d
fi
f=d
fi

limbaj.out

1 7 5 7 4 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Timp maxim de executie: 0.5 secunde

Soluție oficiala:
Timp execuție : O(n)
Memorie folosita : O(1)
Soluție :

Aceasta problema mi s-a parut interesanta datorita faptului ca este o problema cu aplicabilitate in realitate.Practic consta intr-un limbaj basic de programare cu cateva instrucțiuni.

Soluția mea se bazeaza pe citirea valorilor variabilelor si setarea fiecareia in parte cu valoarea inițiala citita din fisierul de intrare, dupa care are loc evaluarea intregului algoritm prin funcția eval().

FuncÈ›ia eval() lucreaza astfel : Algoritmul in sine este considerat „acÈ›iunile ce au loc intr-o condiÈ›ie(daca aceasta este adevarata)”, astfel el considera algoritmul intreg acÈ›iunea ce trebuie sa o faca.Daca gaseste pe una din linii pe primele doua poziÈ›ii ale sirului de caractere „if” atunci testeaza acel if prin funcÈ›ia ifeval().Daca condiÈ›ia este adevarata ruleaza o noua instanÈ›a a funcÈ›iei eval() la condiÈ›ia „da” si evalueaza sub-expresia,in caz contrar trece peste condiÈ›ia neadevarata si ruleaza o noua instanÈ›a a funcÈ›iei eval() la condiÈ›ia „nu”.Daca funcÈ›ia eval intalneste sfarsitul de condiÈ›ie (fi,da,nu) se opreste din execuÈ›ie.

Solutie problema Limbaj

Etichete: algoritmicaclasa a 9ainformaticaLimbajONIproblemaproblema algoritmicaproblema informatica

— Andrei Avădănei a scris 1246 articole

Andrei scrie pe worldit.info din vara lui 2011. Este fondatorul Asociatiei Centrul de Cercetare in Securitate Informatica din Romania - CCSIR si coordoneaza DefCamp, cea mai importanta conferinta de securitate informatica & hacking din Europa Centrala si de Est. Andrei ofera in cadrul Bit Sentinel servicii de securitate informatica, penetration testing, security management, recuperarea de pe urma unui atac cibernetic, training-uri si workshop-uri.

  • Articolul anterior Hy there
  • Articolul următor Deficienta in Google Desktop Search

  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • mai 2022
    L Ma Mi J V S D
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Probleme algoritmică
  • [ONI][Clasa IX] Limbaj
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons