Slide dall'Università Tuscia Dipartimento di Scienze Ecologiche e Biologiche su Informatica. La Pdf introduce i principi di programmazione e l'analisi dati utilizzando il linguaggio R, definendo concetti chiave come algoritmo e programmazione per studenti universitari di Informatica.
See more25 Pages
Unlock the full PDF for free
Sign up to get full access to the document and start transforming it with AI.
Informatica® Principi di programmazione ed analisi dati in linguaggio Scienze Biologiche R Dr. Bruno Bellisario, PhD
BL cala F# Edge ABAP Visual Basic xPro º Logo Un linguaggio di programmazione, in informatica, è un linguaggio formale che specifica un insieme di istruzioni che possono essere usate per produrre dati in uscita: esso è utilizzabile per il controllo del comportamento di una macchina formale o di un'implementazione di essa (tipicamente, un computer) ovvero in fase di programmazione di questa attraverso la scrittura del codice sorgente di un programma ad opera di un lo Yacc TCL Delphi PL/I Dart Scala Max/MSP CT SAS Tcl Lisp Mathematica Ruby PHP Pascal FortOS Obj MAT Haskell Groovy Swift
Dr. Bruno Bellisario, PhD
Hex Assembler C Fortran C++ Java Ruby Il primo linguaggio di programmazione della storia è il linguaggio meccanico adoperato da Ada Lovelace per la programmazione della macchina di Charles Babbage, al quale fu seguito il Plankalkül di Konrad Zuse, sviluppato da lui nella Svizzera neutrale durante la seconda guerra mondiale e pubblicato nel 1946. La programmazione dei primi elaboratori veniva fatta invece in short code, da cui poi si è evoluto l'assembly, che costituisce una rappresentazione simbolica del linguaggio macchina. La sola forma di controllo di flusso è l'istruzione di salto condizionato, che porta a scrivere programmi molto difficili da seguire logicamente per via dei continui salti da un punto all'altro del codice.
MONITOR FOR 6802 1.4 9-14-80 TSC ASSEMBLER PAGE 2 C000 ORG START LDS ROM+$0000 BEGIN MONITOR #STACK ******* * FUNCTION: INITA - Initialize ACIA * INPUT: none * OUTPUT: none * CALLS: none * DESTROYS: acc A 0013 RESETA EQU $00010011 0011 CTLREG EQU $00010001 C003 86 13 INITA LDA A #RESETA RESET ACIA C005 B7 80 04 STA A ACIA C008 86 11 LDA A #CTLREG SET 8 BITS AND 2 STOP COOA B7 80 04 STA A ACIA COOD 7E CO F1 JMP SIGNON GO TO START OF MONITOR ***** ******** * FUNCTION: INCH - Input character * INPUT: none * OUTPUT: char in acc A * DESTROYS: acc A * CALLS: none * DESCRIPTION: Gets 1 character from terminal C010 B6 80 04 INCH LDA A ACIA GET STATUS C013 47 ASR A SHIFT RDRF FLAG INTO CARRY C014 24 FA BCC INCH RECIEVE NOT READY C016 B6 80 05 LDA A ACIA+1 GET CHAR C019 84 7F AND A #$7F MASK PARITY C01B 7E CO 79 JME OUTCH ECHO & RTS A w2 ( n ) implies = v dounto ( * FUNCTION: INHEX - INPUT HEX DIGIT * INPUT: none tevation 0 0 0 Function F to inper x. 5 assigned to ? A 2 if to >400 then to (ami]=(1 +00) 5 2> 100 (1,+@%) -/Rr (10-1) C01E 8D FO INHEX BSR INCH GET A CHAR C020 81 30 CMP A ZERO C022 2B 11 BMI HEXERR NOT HEX C024 81 39 CMP A # ' 9 NINE C026 2F 0A BLE HEXRTS GOOD HEX C028 81 41 CMP A #'A C02A 2B 09 BMI HEXERR NOT HEX C02C 81 46 CMP A #'F C02E 2E 05 BGT HEXERR C030 80 07 SUB A #7 FIX A-F C032 84 OF HEXRTS AND A #$OF CONVERT ASCII TO DIGIT C034 39 RTS C035 7E CO AF HEXERR JME CTRL RETURN TO CONTROL LOOP grease datatupe integer vurderea pair (Iniger floating-point) 12 الصف (49) 2 PL 2 3 0 U e 5 - divi + 5 x V . R 1 assignment operation f(t) -.: . 5€5 3 0 0 7 ( vector a På R(V) = R 4 0 0 pairs W2 (11) RI(V) = 7 R.O.C) a Result of applying wir thand Ibm V 0 type A? 6) K A negation ( if not (to ) 400) then [10 ]= (1, 7) indices of Thatvidual Vartables Z > 400 R (10-1) v 0 0 0 A 9 2 q components of a streetured variable. denated bu index V= inputvariable 2- intermediate vaviable R-output variable
Dr. Bruno Bellisario, PhD 02 6E 00 00 00 61 00: FO CA #include Kio h #include output is Re on the same type I Maps to of Type li . AAS (floating-point numbers , > into Ro of ' x Al. ( vector of ordered ) * OUTPUT: Digit in acc A * CALLS: INCH * DESTROYS: acc A * Returns to monitor if not HEX input floating C000 8E 00 70 *** #include "stdio h
La maggior parte dei linguaggi di programmazione successivi cercarono di astrarsi da tale livello basilare, dando la possibilità di rappresentare strutture dati e strutture di controllo più generali e più vicine alla maniera (umana) di rappresentare i termini dei problemi per i quali ci si prefigge di scrivere programmi. Tra i primi linguaggi ad alto livello a raggiungere una certa popolarità ci fu il Fortran, creato nel 1957 da John Backus, da cui derivò successivamente il BASIC (1964): oltre al salto condizionato, reso con l'istruzione IF, questa nuova generazione di linguaggi introduce nuove strutture di controllo di flusso come i cicli WHILE e FOR e le istruzioni CASE e SWITCH: in questo modo diminuisce molto il ricorso alle istruzioni di salto (GOTO), cosa che rende il codice più chiaro ed elegante, e quindi di più facile manutenzione.
implicit none type MultiArray real (kind=8), end type allocatable : : elem( : ) integer :: myID, totID, i, p real (kind=8), allocatable : : X ( : ) [ : ] type (MultiArray) , allocatable : : Phi( : ) [ : ] real (kind=8), allocatable : : Vect ( : ) myID = this_image () totID = num_images () ! Local Vector allocate( X(2) [*] ) allocate( Phi(6) [*] ) p = 2 allocate( Phi(p) %elem(10) ) Phi(p)%elem(1:10) = dble(myID)
Fortran è un linguaggio di programmazione, compilato e imperativo, particolarmente adatto per il calcolo numerico e la scienza computazionale.
HELLO, WORLDA JLIST 10 HOME 120 INVERSE 130 PRIN "HELLO, WORLD !" 40 NORMAL 50 PRINT CHR$ (7) La parola è l'acronimo della frase in lingua inglese Beginner's All-purpose Symbolic Instruction Code ovvero - in italiano - "codice simbolico di istruzioni adatto a ogni esigenza dei principianti".
Dr. Bruno Bellisario, PhD
Il Commodore BASIC (nelle prime versioni PET BASIC) è il dialetto del linguaggio BASIC usato nella linea a 8 bit degli home computer della Commodore International, a partire dal PET del 1977 fino al C128 del 1985.
**** COMMODORE 64 BASIC V2 64K RAM SYSTEM 38911 BASIC BYT READY. LOAD PRESS PLAY ON TAPE LOADING. .. READY . RUN PLA Coca-Cola MATCH Audiogenic EARLY E RESTORE RETURN SHIFT 7 BARBARIAN 01200 02 00700 COMMODORE 64 COMMO-L82013
Dr. Bruno Bellisario, PhD
Dopo la comparsa del Fortran nacquero una serie di altri linguaggi di programmazione storici: il Lisp (1959) e l'ALGOL (1960). Tutti i linguaggi di programmazione oggi esistenti possono essere considerati discendenti da uno o più di questi primi linguaggi, di cui mutuano molti concetti di base; l'ultimo grande progenitore dei linguaggi moderni fu il Simula (1967), che introdusse per primo il concetto di oggetto software. Nel 1970 viene introdotto il Pascal, il primo linguaggio strutturato, a scopo didattico; nel 1972 dal BCPL nascono prima il B (rapidamente dimenticato) e poi il C, che invece fu fin dall'inizio un grande successo. Nello stesso anno compare anche il Prolog, finora il principale esempio di linguaggio logico. Con i primi mini e microcomputer e le ricerche a Palo Alto, nel 1983 vede la luce Smalltalk, il primo linguaggio realmente e completamente ad oggetti, che si ispira al Simula e al Lisp: oltre a essere in uso tutt'oggi in determinati settori, Smalltalk viene ricordato per l'influenza enorme che ha esercitato sulla storia dei linguaggi di programmazione, introducendo il paradigma object-oriented nella sua prima incarnazione matura. Esempi di linguaggi object-oriented odierni sono Eiffel (1986), C++ (che esce nello stesso anno di Eiffel) e successivamente Java, classe 1995.
Abstraction Polymorphism Encapsulation Object Oriented Programming Inheritance Classes Objects La programmazione orientata agli oggetti (OOP - object- oriented programming) è un paradigma di programmazione che permette di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi. È particolarmente adatta nei contesti in cui si possono definire delle relazioni di interdipendenza tra i concetti da modellare (contenimento, uso, specializzazione). Un ambito che più di altri riesce a sfruttare i vantaggi della programmazione a oggetti è quello delle interfacce grafiche.
Dr. Bruno Bellisario, PhD
Tutti i linguaggi di programmazione esistenti sono definiti da un lessico, una sintassi e una semantica e possiedono:
Dr. Bruno Bellisario, PhD