Calcolo di un’orbita astronautica mediante l’integrazione numerica con la calcolatrice grafica

gravitation_turtle.py

from math import *
from turtle import *

# valori di G e M massa Terra
G=6.67E-11; M=5.97E24

# valori orbita geostazionaria
x=4.2164E7; y=0
vx=0; vy=3066

# integrazione numerica
t=0; dt=60
while t<86400:
  setheading(degrees(atan2(vy,vx)))
  goto(x/1E6, y/1E6)
  r=sqrt(x**2+y**2)
  ax=-G*M*x/r**3; ay=-G*M*y/r**3
  vx=vx+ax*dt; vy=vy+ay*dt
  x=x+vx*dt; y=y+vy*dt
  t=t+dt

https://my.numworks.com/python/gianfranco-oddenino/gravitation_turtle

gravitation turtle
gravitation_turtle.py
gravitation_kandinsky.py

from math import *
from kandinsky import *

# valori di G e M massa Terra
G=6.67E-11; M=5.97E24

# valori orbita geostazionaria
x=4.2164E7; y=0
vx=0; vy=3066

# integrazione numerica
t=0; dt=60
fill_rect(159,110,3,3,'blue')
while t<86400:
  set_pixel(160+round(x/1E6),111-round(y/1E6),'black')
  r=sqrt(x**2+y**2)
  ax=-G*M*x/r**3; ay=-G*M*y/r**3
  vx=vx+ax*dt; vy=vy+ay*dt
  x=x+vx*dt; y=y+vy*dt
  t=t+dt

https://my.numworks.com/python/gianfranco-oddenino/gravitation_kandinsky

gravitation kandinsky
gravitation_kandinsky.py

Gestione del sito liceocuneo.it e dei siti web personali

Data: Mercoledì 4 novembre 2020
Ora: 15.00-17.00
Modalità: Google Meet

Argomenti del corso

  • La piattaforma WordPress ™ 5.5.2
  • Le impostazioni del sito
  • La scelta del tema
  • Le pagine e gli articoli
  • I media e i link
  • Il nuovo editor Gutenberg
  • Le gallerie di immagini
  • I video e i contenuti multimediali
  • Utilizzo didattico del sito personale
  • I requisiti per l’accessibilità

Segnalo a tutti i colleghi, che già dispongono di un sito web personale, di verificare in anticipo nei giorni precedenti l’incontro la funzionalità delle credenziali di accesso al proprio sito. In caso di difficoltà potete inviarmi una mail.

Gli altri colleghi, che non dispongono ancora di un sito web personale, potranno accedere al loro nuovo sito personale con delle credenziali provvisorie che fornirò durante il corso e che modificheranno successivamente.

Per confermare la propria adesione al corso, per facilitare l’avvio della conferenza e per avere un punto di scambio condiviso delle informazioni di supporto che fornirò anche in seguito ai colleghi partecipanti, chiedo gentilmente di iscriversi con le proprie credenziali nome.cognome@liceocuneo.it

Interferenza di onde circolari con la calcolatrice grafica

interferenza di onde circolari
Con la calcolatrice grafica Numworks e la sua libreria grafica kandinsky
from math import *
from kandinsky import *

for y in range(222):
  for x in range(161):
    z1 = cos(2*pi/20*sqrt((x+40)**2+y**2))
    z2 = cos(2*pi/20*sqrt((x-40)**2+y**2))
    z = z1+z2
    c = color(0,0,128+int(z*63))
    set_pixel(160-x,y,c)
    set_pixel(160+x,y,c)
Sul PC con le librerie grafiche matplotlib
import numpy as np
import matplotlib.pyplot as plt
from math import pi

x = np.arange(-5, 5, 0.05)
y = np.arange(-4, 4, 0.05)
x, y = np.meshgrid(x, y)
x1 = np.sqrt((x-1)**2 + y**2)
x2 = np.sqrt((x+1)**2 + y**2)
z = np.cos(2*pi*x1)+np.cos(2*pi*x2)

fig, ax = plt.subplots()
fig.canvas.set_window_title('Interferenza di onde circolari')
ax.title.set_text('Interferenza di onde circolari')
ax.set(xlabel='X', ylabel='Y')
ax.contour(x, y, z)

plt.show()

Google annuncia la supremazia quantistica

Con uno studio pubblicato su “Nature” arriva la conferma che il computer quantistico sviluppato dai ricercatori di Google ha superato il più potente supercomputer del mondo costruito da IBM.

L’articolo pubblicato su “Nature” riporta che, grazie al processore quantistico programmabile Sycamore a 53 qubit, è stato possibile completare in appena 200 secondi un’elaborazione che anche al più potente supercomputer del mondo (il Summit di IBM) avrebbe richiesto circa 10.000 anni. Un’affermazione inequivocabile del raggiungimento della quantum supremacy, ossia essere riusciti a battere le prestazioni dei computer tradizionali più potenti in circolazione.

Il traguardo raggiunto ha una grande rilevanza scientifica, non solo tecnologica, “perché finora non si aveva nessuna certezza che un simile risultato si potesse davvero ottenere. Si temeva che non fosse possibile mantenere le caratteristiche di un sistema quantistico anche in un sistema di dimensioni notevoli come questo”.

Articolo completo disponibile sul sito on-line di Le Scienze:

https://www.lescienze.it/news/2019/10/24/news/google_supremazia_quantistica-4592609/

Esercizi di informatica per il 24-04-2018

#include <stdio.h>
#include <math.h>
#incluse "vettori.h"

void assoluto(int v1[], int v2[]) {
	int i;
	for (i=0; i<10; i++) 
		v2[i] = abs(v1[i]);
}

int main() {
	int a[10], b[10];
	LeggeValoriInteri(a, 10);
	assoluto(a, b);
	StampaValoriInteri(b, 10);
}
// costruire una procedura che permetta di spostare di s posti verso destra un blocco di n elementi collocati in una certa posizione iniziale p all'interno di un 
// array sufficientemente lungo. Per evitare la cancellazione degli elementi durante la copia si consiglia di iniziare la copia dei valori da destra verso sinistra
// mediante un ciclo for in decremento.
// programma fatto il 23.04.18

#include <stdio.h>
#include "vettori.h"

int vett1[20], s, n, p;

void leggegruppoint() {
	int i;
	printf("Inserisci %d numeri:\n", n);
	for (i=p; i<(n+p); i++)
		scanf("%d", &vett1[i]);
}

void spostamentonumeri() {
	int i;
	for (i=(p+s+n-1); i>=0; i--) {
		if(i<20)
			vett1[i]=vett1[i-s];	
	}
}

int main() {
	printf("Inserisci il numero di valori diversi da zero che si vogliono inserire sucessivamente (non piu' di 20): "); scanf("%d", &n);
	printf("Inserisci la posizione iniziale dei numeri (non maggiore di 20): "); scanf("%d", &p);
	leggegruppoint();
	printf("\nIl vettore e': \n");
	StampaValoriInteri(vett1, 20);
	printf("Inserici di quanto vuoi far spostare il blocco verso destra: "); scanf("%d", &s);
	spostamentonumeri();
	printf("\nIl vettore spostato e': \n");
	StampaValoriInteri(vett1, 20);
	return 0;
}