Modulo I Introduzione: Informatica, Algoritmi e Programmi

Slide dal Corso di Laurea Triennale in Innovazione Sociale, Comunicazione, Nuove Tecnologie su Modulo I Introduzione. Il Pdf esplora l'informatica, definendola come l'insieme di processi e tecnologie per la gestione dell'informazione, con un focus sull'intelligenza artificiale e i concetti di problema, algoritmo e programma, utile per studenti universitari di Informatica.

Mostra di più

31 pagine

Modulo I
Introduzione
2024/2025 - Corso di Laurea Triennale in Innovazione Sociale, Comunicazione, Nuove Tecnologie
Computer science is no more about computers
than astronomy is about telescopes
Edsger W. Dijkstra

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

2024/2025 - Corso di Laurea Triennale in Innovazione Sociale, Comunicazione, Nuove Tecnologie

Modulo I

Introduzione

Computer science is no more about computers than astronomy is about telescopes Edsger W. Dijkstra

Scopo del Corso

Approfondire vostra conoscenza dei computer e delle reti dei computer

Obiettivo

Farvi diventare utenti informati In modo che possiate lavorare con il computer in un modo più consapevole ed efficiente

  • Utente

    Sa usare un computer

  • Utente informato

    Studia modi per allargare il campo di utilizzo dei computer o per migliorare le funzionalità esistenti

Modulo I - Introduzione

Outline

  • Il calcolo automatico
  • Terminologia e definizioni

Il calcolo automatico

Effettuare calcoli a mente o "a mano" è un'attività noiosa e incline all'errore depositphotos 45 X 38 Depositphotos 17 45 × 38 = 1710 ( ) % AC 7 8 9 4 5 6 × 1 2 3 1 depk 0 . = + 560 35

Il calcolo automatico

Per secoli l'uomo ha cercato di automatizzare il processo di calcolo. L'abaco I primi abachi risalgono al V millennio a.C. È la prima macchina di calcolo nota. Ma ... L'abaco non è molto diverso da un foglio di carta: la logica e la correttezza dell'operazione dipendono unicamente dall'utente.

Il calcolo automatico

La pascalina

Solo dopo il XVII secolo d.C. si ha la logica dell'operazione è controllata dalla la prima vera innovazione rispetto macchina all'abaco. Ma ... Brascal arvernies Blasius HAmuerto la pascalina permetteva di effettuare "solo" addizioni e sottrazioni. Moltiplicazioni e divisioni potevano essere calcolate mediante ripetizioni di addizioni e sottrazioni, ma era di nuovo l'utente a dover controllare il processo.

Il calcolo automatico

Si può pensare di affrontare il problema modificando la macchina pascalina in modo da introdurre la divisione e la moltiplicazione. Ma come calcolare la radice quadrata? Il logaritmo? Non si sta risolvendo il problema, lo si "rimandando". Il problema vero è che la logica che governa le operazioni è "cablata" nella macchina calcolatrice ... La soluzione è di trattare tale logica come parte dell'input della macchina. In tal modo la logica non dipenderà dalla macchina stessa.

La Macchina Analitica

Introdotta da Charles Babbage intorno al 1840, è il primo esempio di macchina di calcolo "programmabile". Ma ... La tecnologia non era ancora sviluppata a sufficienza (la macchina analitica avrebbe dovuto funzionare a vapore!) Inoltre, all'epoca, l'esigenza di automatizzare il calcolo non era forte.

John von Neumann

John von Neumann Le idee di Babbage vennero dimenticate per quasi un secolo e furono "riscoperte" solo nella prima metà del '900 da John von Neumann.

Architettura di von Neumann

Architettura di von Neumann (semplificata)

Memoria Periferiche di input Periferiche di output Unità centrale di elaborazione È ancora oggi il modello su cui si basano i computer moderni.

Architettura di von Neumann: Memoria

Nella memoria risiedono i programmi (le istruzioni) e i dati che devono essere elaborati. La caratteristica più importante della macchina di von Neumann è costituita dal fatto che sia dati che programmi vengono trattati in modo sostanzialmente omogeneo, ed immagazzinati nella stessa unità di memoria. Memoria Periferiche di input Periferiche di output Unità centrale di elaborazione

Architettura di von Neumann: Periferiche

Una periferica di input è un qualsiasi dispositivo che permette l'inserimento di dati nel calcolatore. Sono un esempio il mouse, la tastiera, il microfono, la fotocamera, lo scanner etc. Una periferica di output è un qualsiasi dispositivo che permette al calcolatore di mostrare il risultato delle sue elaborazioni all'utente. Il classico esempio è il monitor, ma possiamo menzionare anche le casse audio e la stampante. Memoria Periferiche di input Periferiche di output Unità centrale di elaborazione

Architettura di von Neumann: Unità Centrale

Le informazioni contenute in memoria vengono elaborate da una singola unità centrale di elaborazione. Memoria Periferiche di input Periferiche di output Unità centrale di elaborazione

Eniac

Eniac è considerato il primo computer elettronico general purpose della storia (1943) e rispecchia l'architettura di Von Neumann. Costruito durante la Seconda Guerra Mondiale, doveva essere in grado di risolvere principalmente i problemi di calcolo balistico per il lancio dei proiettili d'artiglieria. Occupava una superficie di 180 metri quadrati, pesava 30 tonnellate e consumava fino a 150 kilowatt di potenza.

Informatica oggi

M Is 1000 bigger than 1062? Yes, 1000 is larger than 1062. To compare two numbers, you can line them up and compare the digits starting from the leftmost digit. In this case, the leftmost digit of 1000 is 1, and the leftmost digit of 1062 is 1, so we move on to the next digit. The second digit of 1000 is 0, and the second digit of 1062 is 6, so 1062 is larger than 1000 because 6 is greater than 0.

Informatica oggi: Esempio di Codice

class Unit(object ) : def _init_(self, ** kwargs): self.name = kwargs. get( self.damage = kwargs.get"< self.armor = kwargs.getto self.hit_points = kwargs. self.current_hit_points self.level = kwargs.get"Le . def attack(self, enemy: „gi tignone ... REROVE. Nd Attack enemy unit. Ret ... log. 1 23 24 25 returo 26 27 28 29 38 Esteticmethod def fight mie 21 damage_top_limi enemy.current hits. returo calculates

Informatica oggi: Social Media

FEDEZ HA RISPOSTO A TONY EFFE < V 137.2K ... 4428 20.7K 27.5K 00:03 / 02:48 Velocità ...

Modulo I - Introduzione

Outline

  • Il calcolo automatico
  • Terminologia e definizioni

L'informatica

L'informatica: Definizione Garzanti

Dal Dizionario Garzanti: Informatica Etimologia: Dal fr. informatique, tratto da infor(mation) (automatique 'informazione automatica' Definizione: scienza che studia l'informazione e, più specificamente, l'elaborazione dei dati e il loro trattamento automatico mediante elaboratori elettronici. È anche una branca della matematica e della logica, quella che studia come si possono trasformare procedure complesse in una serie di calcoli elementari, tali da poter essere eseguiti da un sistema automatico, che si tratti di un telaio meccanico o di un computer.

L'informatica: Processi e Tecnologie

Informatica: infor(mazione) (auto)matica È l'insieme dei processi e delle tecnologie che consentono la creazione, la raccolta, l'elaborazione, l'immagazzinamento, la diffusione dell'informazione. Le tecnologie informatiche hanno tre funzioni principali: - elaborare dati per ottenere informazioni significative. - mantenere le informazioni elaborate per utilizzarle in combinazione con altre come dati di un nuovo processo di elaborazione. - organizzare le informazioni in una nuova forma per renderle più comprensibili, più interessanti o più utili.

Temi dell'Informatica

  • Calcolabilità
  • Complessità
  • Teoria dei linguaggi formali
  • Algoritmi e strutture dati
  • Linguaggi di programmazione
  • Compilatori e interpreti
  • Architettura dei calcolatori
  • Sistemi operativi
  • Ingegneria del software
  • Reti di calcolatori
  • Interazione uomo-macchina
  • Sicurezza
  • Intelligenza artificiale
  • Basi di dati

    Ciascuno di questi temi contiene tante sotto- tematiche più o meno complesse; ad es. L'intelligenza artificiale deve occuparsi di: - Rappresentazione della conoscenza - Meccanismi di ragionamento - Apprendimento automatico - Pianificazione, scheduling, diagnosi, configurazione, soddisfacimento di vincoli, ecc.

Problemi, algoritmi e programmi

Algoritmo

Insieme delle operazioni necessarie per risolvere un problema (es. istruzioni di un LEGO). Dato un problema, possono esistere più algoritmi che lo risolvono.

Programma

Implementazione di un algoritmo in un linguaggio formale. Un algoritmo ha infinite implementazioni in diversi programmi (nello stesso linguaggio e anche in linguaggi diversi).

Problemi, algoritmi e programmi: Esempio Cartolina

Problema: è il compleanno del mio amico Silvio e voglio mandargli una cartolina. Algoritmo: - Andare in un negozio che vende cartoline. - Comprare la cartolina. - Compilare la cartolina con i dati di Silvio ed una frase tipo "auguri". - Spedire la cartolina.

Problemi, algoritmi e programmi: Esempio Addizione

Problema: effettuare l'addizione di due numeri forniti dall'utente. Algoritmo: - Chiedere il primo addendo all'utente e memorizzarlo. - Chiedere il secondo addendo all'utente e memorizzarlo. - Effettuare l'addizione. - Stampare il risultato.

Programmi: Esempi di Codice

JavaScript

function addNumbers() { // Get the first number from the user. const firstNumber = prompt("Enter the first number : "); / / Get the second number from the user. const secondNumber = prompt("Enter the second number : "); / / Add the numbers and print the result. const sum = parseInt(firstNumber) + parseInt (secondNumber ) ; console. log("The sum of the numbers is", sum) ;

Python

def add_numbers () : " " "Adds two numbers . """ # Get the first number . first_number = int(input("Enter the first number : ")) # Get the second number . second_number = int(input("Enter the second number : ") ) # Add the numbers and print the result. sum = first_number + second_number print("The sum of the numbers is", sum)

Java

import java. util. Scanner; public class AddNumbers { public static void main(String[] args) { // Create a Scanner object to read input from the console Scanner scanner = new Scanner (System.in); // Get the first number from the user . System.out.println("Enter the first number: "); int firstNumber = scanner .nextInt(); // Get the second number from the user. System.out.println("Enter the second number: "); int secondNumber = scanner.nextInt(); / / Add the numbers and print the result. int sum = firstNumber + secondNumber ; System.out.println("The sum of the numbers is " + sum); }

Hardware e Software

Hardware: componente fisica del sistema informatico. Software: insieme dei programmi che fanno funzionare l'hardware. Due categorie principali di software: - sistemi operativi: permettono all'elaboratore di svolgere le proprie funzioni (software di base) - programmi applicativi: svolgono i compiti più vari, in funzione delle esigenze dell'utenza MS-DOS, Windows 2000/XP/ Vista/7/8 MacOS X Unix (BSD, Linux, Solaris, ... ) MacOS W browser, videoscrittura, fogli elettronici gestione di basi di dati grafica avanzata controllo di centraline

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.