Pseudocodi

Dins el marc de les ciències de la computació i l'anàlisi numèrica, el pseudocodi (o fals llenguatge) és una descripció a molt alt nivell de l'estructura d'un programa. Encara que utilitzi estructures típiques de la programació es diu que és a alt nivell perquè una persona amb pocs o sense coneixements informàtics pugui entendre i interpretar la porció de codi que estigui llegint.

Introducció

Normalment, en un codi escrit en pseudocodi s'obvien detalls que no siguin essencials com ara la declaració de variables molt específiques, la codificació de rutines del sistema, etc. També moltes vegades és necessari per una correcta interpretació enriquir el pseudocodi amb anotacions en llenguatge natural, o amb notació matemàtica.

Per tant, s'utilitza el pseudocodi perquè és una abstracció de l'algoritme a un llenguatge que les persones poden entendre i facilita la feina alhora d'interpretar un problema més complex.

Es poden trobar exemples d'ús de pseudocodi en llibres de text on es faci referència a algoritmes d'ordenació, d'inserció, estructures bàsiques de programació (estructures condicionals, iteratives, etc.) i també en documentacions de planificació de programes (estudis, projectes, etc.).

Malgrat que sigui semblant el pseudocodi amb el codi del programa, s'ha d'evitar confondre'ls. Els diagrames de flux i el llenguatge UML podrien ser considerats com una alternativa gràfica al pseudocodi encara que puguin ser més extensos sobre paper.

Aplicacions

Com s'ha comentat anteriorment, l'ús del pseudocodi es troba en llibres de text i publicacions científiques i relacionades amb la informàtica i la computació numèrica per la descripció i explicació d'algoritmes de manera que tots els programadors/lectors puguin llegir-ho sense la necessitat de conèixer algun llenguatge de programació. Un programador que ha d'aplicar un algoritme específic majoritàriament inicia l'ús de pseudocodi per a aquella interpretació i llavors ho tradueix al llenguatge desitjat

Sintaxi

Generalment no obeeix a cap regla bàsica que regeixi com ha d'ésser redactat, sinó que cada autor redacta particularment i a la seva manera, encara que no significa que diferents algoritmes de diferents autors no coincideixin amb la declaració de variables. La forma en què estan escrites les estructures tenen un lligam.

Característiques i parts del pseudocodi

Hi ha una sèrie de característiques en aquest llenguatge que són:

  • Com s'ha explicat abans, és una manera de representació senzilla i entenedora d'un algoritme.
  • Facilita la codificació de llenguatge natural a llenguatge de programació.
  • És independent del llenguatge de programació que s'utilitzarà.

Tots els documents escrits en pseudocodi han de compartir:

  • Instruccions primitives: poden ser d'entrada, d'assignació o de visualització.
  • Instruccions de definició de dades: per exemple X: enter.
  • Instruccions de control: són utilitzades per a controlar la seqüència d'execució del programa.
  • Instruccions compostes: són aquelles instruccions que són executades directament pel processador i estan construïdes per un conjunt d'accions agrupades en mòduls.

En tot algoritme en pseudocodi hi ha una estructura com la següent capçalera:

  • Programa
  • Mòdul
  • Tipus de dades
  • Constants
  • Variables
  • Cos
  • Inici
  • Instruccions
  • Fi

Definició de dades del pseudocodi

Es defineixen les dades a la capçalera de l'algorisme tal com es veu a l'exemple següent.

Un esquema visual del tipus de dades que es poden trobar en el pseudocodi podria ser el següent, on es reflecteixen tots els tipus de dades:

Dades d'un programa

En altres apartats s'ha comentat que un programa està format per un algorisme més unes dades. Pel que fa a les dades, en un algorisme podem trobar manipulacions de:

  • Constants: es caracteritzen per ser valors que no es veuen alterats durant l'execució de l'algorisme. Es defineixen al principi de l'algorisme.

  • Variables: una variable és una dada el valor de la qual pot variar durant l'execució.
  • Expressions:
    • Aritmètiques: donen com a resultat un valor numèric.
      • +
      • – (unari i binari)
      • * (producte)
      • div (divisió entera)
      • mod (residu o mòdul)
      • ** (potència)
      • / (divisió real)
    • Lògiques: es connecten amb els següents operadors.
      • Operadors de relació: donen com a resultat cert o fals. La seva sintaxi és:
expressió1 OP_RELACIÓ expressió2: 
  • < (menor que)
  • > (major que)
  • <> (diferent de)
  • = (igual que)
  • <= (menor o igual)
  • >= (major o igual)
Funcions i operacions

Com que el pseudocodi és un llenguatge de descripció, es poden tenir diferents interpretacions alhora de definir diferents operacions, com ara a l'hora de fer una assignació en dues variables:

  • Assignació de valors
    • x <--- y;
    • x := y;
    • x = y;

En els tres casos s'assigna a x el valor de y.

Altres tipus d'operacions matemàtiques es representarien de la forma usual, com ara:

  • Resultat = sin(a)
  • Resultat = x^2+⅔

Operacions d'entrada-sortida

Per tal que un algorisme pugui obtenir les dades d'entrada i mostrar els resultats de sortida, calen unes operacions específiques: les operacions d'entrada-sortida.

Operacions d'entrada

Les operacions d'entrada (o també anomenade de lectura) s'utilitzen per obtenir dades des d'un dispositiu d'entrada (teclat, fitxer, etc).

Es poden llegir enters, reals i caràcters.

  • llegirEnter(), que retorna un enter.
  • llegirReal(), que retorna un real.
  • llegirCaracter(), que retorna un caràcter.

Operacions de sortida

Les operacions de sortida (o també anomenades d'escriptura) s'utilitzen per treure el valor d'una variable (també d'una constant, d'una expressió o d'un missatge) cap a un dispositiu de sortida (pantalla, fitxer, etc.).

Es poden escriure enters, reals o caràcters, així com cadenes de caràcters:

  • escriureEnter(i), que mostra el valor de l'enter i.
  • escriureReal(x), que mostra el valor del real x.
  • escriureCaracter(c), que mostra el valor del caràcter c.

Una cadena de caràcters ha d'aparèixer entre doble cometa. Per exemple: escriureCaracter('A')

Estructures de control

algorisme nom
 const
 // definició de constants
 fconst
 tipus
 // declaració de nous tipus de dades
 ftipus
 var
 // declaració de variables
 fvar
 inici
 // cos (instruccions)
falgorisme

S'utilitzen tres tipus d'estructures de control:

  • Les seqüencials.
  • Les selectives.
  • Les iteratives.

Estructures seqüencials

Consisteix en el fet que les instruccions s'executin una darrere l'altra.

Un bloc d'instruccions és una seqüència d'instruccions que s'executen seqüencialment.

Amb pseudocodi s'escriuen una sota l‟altra, o, si es vol fer-ho a la mateixa línia, separades per un.

Existeix un altre tipus de representació a part del pseudocodi: els diagrames de flux

La representació de la composició seqüencial utilitzant diagrames de flux és:

Diagrama de flux condicional

Estructures selectives

Controla l'execució d'un bloc d'instruccions segons es compleixi o no una condició (resultat d'avaluar una expressió booleana), de tal manera que, si l'expressió dona CERT, s'executa el bloc; si és FALS, no s'executa i se segueix amb la següent instrucció.

Exemple de pseudocodi

Tot seguit es mostrarà un exemple d'un algoritme amb el seu pseudocodi i el seu diagrama de flux. L'algoritme consisteix a demanar un nombre enter, i si el nombre enter és deu es mostra en un missatge per pantalla:

Condicional si doble

Diagrama de flux condicional

Controla l'execució de dos blocs d'instruccions en funció de si es compleix o no una condició, de tal manera que si la condició és certa s'executarà el bloc; altrament no s'executara.

L'exemple del condicional si doble:

Instrucció cas

El cas és una operació que es fonamenta en complir condicions. Es defineix un cas amb tots els valors que es volen incloure. Un cop definida l'estructura, s'avaluarà el resultat i en funció del cas s'efectuarà una operació/bloc d'instruccions o una altra:

Diagrama de flux mentre

Instrucció mentre

S'utilitza la instrucció quan no es coneix per endavant el nombre d'iteracions que cal fer i el cos del bucle es repeteix mentre es compleix un condició concreta. En funció de la condició, doncs, permet que el bloc d'instruccions del cos del bucle s'executi de 0 a moltes vegades.

Instrucció per

Diagrama de flux per

Només es pot utilitzar la instrucció per quan es coneix el nombre d'iteracions que cal fer.

El funcionament de la instrucció és el següent:

  • varComptador ha de ser de tipus enter
  • valorInicial i valorFinal són constants/expressions/variables de tipus enter.
  • varComptador s'incrementa amb el valor especificat per pas, és a dir, amb n al final de cada iteració. Si no hi ha la paraula pas ni n, s'incrementa amb 1 de manera automàtica.
  • varComptador no pot aparèixer a valorInicial ni a valorFinal.

No es pot modificar varComptador, ni tampoc les variables que apareguin a valorFinal.

Si valorInicial>valorFinal, no fa cap iteració.

Read other articles:

Montpellier HSClogoNama lengkapMontpellier Hérault Sport ClubJulukanMHSC, La PailladeBerdiri1974StadionStade de la Mosson,Montpellier(Kapasitas: 32.900)PemilikLouis NicollinKetuaLaurent NicollinManajerFrédéric HantzLigaLigue 12015–16ke-12, Ligue 1Situs webSitus web resmi klub Kostum kandang Kostum tandang Musim ini Montpellier Hérault Sport Club merupakan sebuah klub sepak bola Prancis yang berbasis di kota Montpellier. Klub ini awal didirikan pertama kali pada tahun 1919, sedangka...

 

男はつらいよ 純情篇監督 山田洋次脚本 山田洋次宮崎晃製作 小角恒雄製作総指揮 高島幸夫小林俊一出演者 渥美清音楽 山本直純主題歌 渥美清『男はつらいよ』撮影 高羽哲夫編集 石井巌製作会社 松竹配給 松竹公開 1971年1月15日上映時間 89分製作国 日本言語 日本語配給収入 2億3000万円[1]前作 男はつらいよ 望郷篇次作 男はつらいよ 奮闘篇テンプレートを表示 『男...

 

The Free (1969). The Free was een Nederlandse muziekgroep die bestond in de jaren 1968 en 1969. Hun stijl was soul. De muziekgroep werd geplaagd door personeelswisselingen. Enigszins bekend uit het personeel waren/werden: Ray Nichols (Leadsinger), backgroundsingers : Cindy Shore,Lillian Love,Vivian Roy en Jimi Mack . Julian Schell (gitaar) Egon Verhoeven (gitaar, later in de groep ([Amsterdam]) en nog later in een band rondom Hans Dulfer) Peter Vlietstra (toetsinstrumenten) Cees Mason, M...

Cet article est une ébauche concernant la littérature et l’Albanie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Timbre émis en 2011 en hommage à Ismail Kadare. La littérature albanaise est la littérature écrite par des auteurs de langue albanaise (environ 6 millions d'albanophones), d'Albanie, du Kosovo voisin ou des diasporas. Mais il convient d'intégrer ceux qui, en métropole ou dans les dia...

 

يو-1222 الجنسية  ألمانيا النازية الشركة الصانعة دويتشه ويرفت  المالك  كريغسمارينه المشغل كريغسمارينه (1 سبتمبر 1943–11 يوليو 1944)[1]  المشغلون الحاليون وسيط property غير متوفر. المشغلون السابقون وسيط property غير متوفر. التكلفة وسيط property غير متوفر. منظومة التعاريف الاَلية ...

 

German cloud gas attack on British during first world war Main article: Chemical weapons in World War I Gas attacks at WulverghemPart of Local operations December 1915 – June 1916 Western Front, in the First World WarWulverghemDate30 April 1916 and 17 June 1916LocationMessines in West Flanders, Belgium50°46′N 02°49′E / 50.767°N 2.817°E / 50.767; 2.817Result British victoryBelligerents  Germany  BritainCommanders and leaders Erich von Falkenhayn Doug...

Flehmen respon pada kuda Respons flehmen (/ˈfleɪmən/; bahasa jerman: [ˈfleːmən]), juga disebut posisi flehmen, reaksi flehmen, flehming, atau flehmening, adalah perilaku binatang yang menggulung bibir atasnya ke belakang, memperlihatkan gigi-gigi depannya. Binatang-binatang tersebut bernapas dengan cuping hidung yang biasanya tertutup, dan posisi ini bisa mereka pertahankan selama beberapa detik. Hal ini dilakukan atas suatu ketertarikan khusus terhadap tempat atau cairan dari binatang ...

 

Young adult sci-fi series by Patrick Ness For the film adaptation, see Chaos Walking (film). Chaos WalkingCover of the 1st book in the trilogy,The Knife of Never Letting GoThe Knife of Never Letting GoThe Ask and the AnswerMonsters of MenAuthorPatrick NessCover artistLynne Condellon (design) John Picacio (painting)CountryUnited KingdomLanguageEnglishGenreYoung adult science fiction, dystopian adventurePublisherWalker BooksPublished2008–2010Media typePrint (hardcover and paperback), e-book, ...

 

Application of statistical techniques to biological systems Biometry redirects here. For the automated recognition of people based on intrinsic physical or behavioural traits, see Biometrics. For the academic journal, see Biostatistics (journal). Biostatistics (also known as biometry) is a branch of statistics that applies statistical methods to a wide range of topics in biology. It encompasses the design of biological experiments, the collection and analysis of data from those experiments an...

Kashmiri Sufi teacher (1494–1576) SheikhHamza Makhdoomحمزہ مُخدومPersonalBornHamza Raina1494 CE (900 AH)Tujjar, Sopore, KashmirDied1576 CE (984 AH)Srinagar, KashmirResting placeHari Parbat, Srinagar, KashmirReligionIslamParentsUsman Raina (father)Maryam (mother)EraShah Mir eraRegionKashmirAlma materDarul Shifa Madrasa, Shamsi Chak seminaryKnown forSufismRelativesAli Raina (brother)Muslim leaderTeacherBaba Fatehullah, Sheikh Ismail Kabroi Students Sheikh Baba Dawood Khaki...

 

Всероссийский фестиваль японской анимации (VRNFEST) — это ежегодный фестиваль поклонников аниме, проводимый в Воронеже, начиная с 2000 года. Дата проведения, как правило, совпадает с майскими праздниками (начало мая). Содержание 1 История 1.1 Первый всероссийский фестиваль я...

 

Egyptian Nobel laureates and nominees The following is a list of Egyptian Nobel laureates and nominees: Laureates Year Image Laureate Born Died Field Citation 1964 Dorothy Crowfoot Hodgkin[a] 12 May 1910 Cairo, Egypt 29 July 1994 Ilmington, Warwickshire, United Kingdom Chemistry for her determinations by X-ray techniques of the structures of important biochemical substances.[1] 1978 Muhammad Anwar el-Sadat [محمد أنور السادات] 25 December 1918 Mit Abu El Kom, Mon...

هانس فون روزنبرغ (بالألمانية: Frederic Hans von Rosenberg)‏    معلومات شخصية الميلاد 26 ديسمبر 1874  برلين  الوفاة 30 يوليو 1937 (62 سنة)   فورستينزيل  مواطنة الرايخ الألماني  عضو في فيلق بوروسيا بون  [لغات أخرى]‏[1]  الحياة العملية المدرسة الأم جامعة بونجامعة هومب...

 

2013 unratified treaty between Mainland China and Taiwan You can help expand this article with text translated from the corresponding article in Chinese. (March 2014) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikiped...

 

This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (June 2022) (Learn how and when to remove this template message) Private school in Mumbai, Maharashtra, IndiaUdayachal High SchoolLocationMumbai, Maha...

United States historic placeDIXIE (sternwheeler)U.S. National Register of Historic Places Dixie at Webster Lake, January 2013Show map of IndianaShow map of the United StatesLocation400 Blk. of S. Dixie Dr., North Webster, IndianaCoordinates41°19′23″N 85°41′35″W / 41.32306°N 85.69306°W / 41.32306; -85.69306Arealess than one acreBuilt1928 (1928)-1929Built byBarbour Metal Boat Works, St. Louis, MO; Breeck, JosephArchitectural styleStern wheel shipNRH...

 

High school in Camden County, New Jersey, United States Collingswood High SchoolAddress424 Collings AvenueCollingswood, Camden County, New Jersey 08108United StatesCoordinates39°54′45″N 75°04′39″W / 39.91250°N 75.07750°W / 39.91250; -75.07750InformationTypePublic high schoolMottoIt's where you want to learn.[1]Established1910[citation needed]NCES School ID340342001474[2]PrincipalMichael OstroffFaculty65.6 FTEs[2]Enrollment777...

 

Chinese Communist Party slogan This article is part of a series aboutXi Jinping Xi Jinping Administration 2012 election as General Secretary 2017 reelection as General Secretary 2022 reelection as General Secretary New Zhijiang Army Policies and theories Belt and Road Initiative Chinese Dream Common prosperity Confidence Doctrine Four Comprehensives Comprehensive Deepening Reforms Chinese-style modernization Foreign policy Eight Musts Eight-point Regulation Targeted Poverty Alleviation Two Es...

Mistreatment or neglect of an old-age adult Elder abuse (also called elder mistreatment, senior abuse, abuse in later life, abuse of older adults, abuse of older women, and abuse of older men) is a single, or repeated act, or lack of appropriate action, occurring within any relationship where there is an expectation of trust, which causes harm or distress to an older person.[1] This definition has been adopted by the World Health Organization (WHO) from a definition put forward by Hou...

 

Afghan woman (born 1985) Nadia Ghulam in 2012 Nadia Ghulam Dastgir (born 4 June 1985 in Kabul)[1] is an Afghan woman who spent ten years posing as her dead brother to evade the Taliban's strictures against women. Her book about her experiences, written with Agnès Rotger and published in 2010, El secret del meu turbant (The Secret of My Turban), won the Prudenci Bertrana Prize for fiction.[2] Life and publications In 1993, a portion of Ghulam's family's home was destroyed by a...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!