Gestione avanzata della console di output

File: console.h

#include <windows.h>

void GotoXY(int x, int y) {
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), (COORD) {x, y});
}

void Color(int c) {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);
}

File: esempio.c

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

int main() {
	GotoXY(10, 5);
	Color(15); printf("Ciao alla ");
	Color(14); printf("classe ");
	Color(13); printf("2F");
}

numeri.c

#include <stdio.h>

int a[20];

void leggeVettore() {
    int i;
    printf("Inserisci 20 valori interi\n");
    for (i=0; i<20; i++)
        scanf("%d", &a[i]);
}

void stampaVettore() {
    int i;
    printf("a = (");
    for (i=0; i<20; i++)
        printf(" %d ", a[i]);
    printf(")\n");
}

int main() {
    leggeVettore();
    stampaVettore();
    return 0;
}

Prototipo di pagina JSP per l’accesso ad un DB

Tabella: Classe5E

index.html

  • Crea la tabella
  • Cancella la tabella
  • Inserisci un nominativo
  • Cancella un nominativo
  • Visualizza tutti i nominativi

crea.jsp

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Classe 5ª E</title>
</head>
<body>
    <h1>Classe 5ª E - Creazione tabella</h1>
    <%
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:mysql://didattica1.liceocuneo.it/db1", "studente1", "topolino13");
            Statement stat = conn.createStatement();
            stat.executeUpdate("CREATE TABLE Classe5E (ID_Studente INT NOT NULL AUTO_INCREMENT, Cognome VARCHAR(45) NOT NULL, Nome VARCHAR(45) NOT NULL, LuogoNascita VARCHAR(45) NOT NULL, DataNascita DATE NOT NULL, PRIMARY KEY (ID_Studente))");
            stat.close();
            conn.close();
    %>
    <p>Tabella "Classe5E" creata correttamente.</p>
    <%
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | SQLException ex) {
    %>
    <p><%=ex.toString()%><br/><%=ex.getMessage()%></p>
    <%
        } // endcatch
    %>
</body>
</html>

Progetto NetBeans completo: Anagrafe5E.zip

Esempi di domande per la terza prova di Fisica

  1. Dimostra la legge che collega le tensioni V1 e V2 presenti sui due avvolgimenti di un trasformatore al numero di spire N1 ed N2 di detti avvolgimenti.
  2. Calcola a partire dall’espressione della tensione alternata V(t) la corrente i(t) che circola in una resistenza e la potenza istantanea dissipata P(t). Rappresenta graficamente la funzione P(t).
  3. Calcola l’espressione matematica che rappresenta il campo elettrico indotto generato all’interno di un campo magnetico variabile con rapidità ΔB/Δt e disegna le linee di forza di tale campo.
  4. A partire dall’espressione dell’energia del campo elettromagnetico per unità di volume, calcola i valori medi di tale energia esprimendo il risultato utilizzando dapprima solo il campo E, e poi solo il campo B.
  5. Spiega come viene prodotta un’onda elettromagnetica e come avviene la sua ricezione.
  6. Descrivi utilizzando anche dei grafici come variano corrente e carica all’interno di un circuito oscillante e come la frequenza di oscillazione è collegata al valore di C ed L.

Esercizi elettromagnetismo

Una lampadina da 85 W è alimentata da una tensione alternata efficace di 220 V e 50 Hz. Calcola il valore efficace della corrente che circola al suo interno, la sua resistenza, i valori massimi di tensione e corrente. Scrivi l’espressione matematica delle funzioni V(t) e i(t).

Un trasformatore è costituito da due avvolgimenti di lunghezza 10 cm e rispettivamente di 1500 e 250 spire. Il nucleo di ferro del trasformatore ha una permeabilità magnetica di 580 e una sezione di 8 cm^2. Calcola il coefficiente di mutua induzione e l’espressione matematica della tensione V2(t) presente sull’avvolgimento secondario, sapendo che la corrente sul primario varia secondo la funzione i1(t) = 0,5 [A] · cos(100 Pigreco t)

Calcola l’energia termica che assorbe la superficie di un secchio di 30 cm di diametro quando viene investito da un’onda elettromagnetica nella regione delle microonde con un campo elettrico efficace di 5 V/m perpendicolarmente alla superficie del liquido in un tempo pari a 2 ore. Supponi che l’acqua assorba il 45 % dell’energia dell’onda.

Un fascio di luce già polarizzato linearmente da un primo polarizzatore, emerge da un secondo polarizzatore ridotta al 20% della sua intensità iniziale. Calcola l’angolo del secondo polarizzatore rispetto al primo.

calcolatrice.c

Creare una semplice calcolatrice che esegua le 4 operazioni

Crea una procedura menu che visualizza il menu seguente una sola volta all’avvio del programma.

+————————-+
| +: addizione
| -: sottrazione
| *: moltiplicazione
| /: divisione
+————————-+

nel main() deve essere per prima cosa visualizzato il menu, poi si entra in un ciclo do-while all’interno del quale viene chiesto:

il primo numero
l’operazione da eseguire fra + – * /
a seconda dell’operazione scelta mediante uno switch viene:
richiesto il secondo numero
eseguita l’operazione
stampato il risultato

supermercato.c

Simulare un supermercato.

Il menu deve essere fatto così:
=========================
Prodotti
=========================
1-Uova
2-Latte
3-Carne
4-Formaggio
5-Pane
0-Paga ed esci
=========================

#define UOVA 0.15
#define LATTE 1.25
#define CARNE 12.50
#define FORMAGGIO 7.45
#define PANE 1.10

Deve esserci una variabile globale float “totale”
Il main() deve gestire l’input della scelta dal menu mediante un ciclo do-while e uno switch
Lo switch deve richiamare le procedure “compraUova”, “compraLatte”, etc.
Ogni singola procedura deve chiedere il quantitativo del prodotto che si vuole acquistare e calcolare il prezzo del prodotto, che deve essere sommato a “totale”.

media.c

Scrivere una funzione chiamata “menu” che cancella lo schermo e visualizza il seguente menu:
Programma media
1-Inserisci un valore
2-Visualizza il totale
3-Visualizza la media
0-Esci
la funzione restituisce una delle scelte fatte dall’utente.

Creare le due variabili globali
float totale;
int n;

Il programma serve per calcolare la media di un certo numero di valori inseriti, che vanno ad accumularsi nella variabile totale e che vengono conteggiati nella variabile n.
Quando l’utente seleziona i valori da 1 a 3 mediante uno switch vengono chiamate le procedure “inserisci”, “visTotale”, “visMedia” che eseguono le operazioni richieste.

#include <stdio.h>

float totale;
int n;

int menu() {
	int scelta;

	system("CLS");
	printf("======================\n");
	printf("Programma media       \n");
	printf("----------------------\n");
	printf("1-Inserisci un valore \n");
	printf("2-Visualizza il totale\n");
	printf("3-Visualizza la media \n");
	printf("0-Esci                \n");
	printf("======================\n");
	printf("Scegli? ");
	scanf("%d", &scelta);
	printf("\n");

	return scelta;
}

void inserisci() {
	float val;
	printf("Inserisci numero: ");
	scanf("%f", &val);
	totale += val;
	n++;
}

void visTotale() {
	printf("Totale: %f\n", totale);
}

void visMedia() {
	printf("Media: %f\n", totale / n);
}

void pausa() {
	printf("Premi un tasto per continuare");
	getch();
}

int main() {
	int op;

	do {
		op = menu();
		switch (op) {
			case 0:
				printf("Programma terminato.\n");
				break;
			case 1:
				inserisci();
				pausa();
				break;
			case 2:
				visTotale();
				pausa();
				break;
			case 3:
				visMedia();
				pausa();
				break;
			default:
				printf("Valore non ammesso.\n");
				pausa();
		}
	} while (op != 0);

	return 0;
}

Esercizi sulla cinematica bidimensionale per la 2A

2) Un motoscafo si sta muovendo lungo una direzione che è inclinata di 25° verso Nord rispetto alla direzione Est con una velocità in modulo di 15 m/s. Compie in 6 s una virata verso sinistra che lo porta esattamente in direzione Nord; la velocità è ora di 20 m/s. Calcola il vettore accelerazione in componenti cartesiane e in modulo.

3) Un nuotatore attraversa un fiume largo 50 m nuotando alla velocità di 1,5 m/s rispetto all’acqua perpendicolarmente alle sponde. Calcola le componenti del vettore velocità rispetto all’acqua. Nel fiume c’é una corrente di 2,5 m/s. Calcola la velocità del nuotatore rispetto alla terra. Calcola quanto tempo impiega ad attraversare il fiume e quanto si è spostato a valle quando approda sulla sponda opposta.

4) Un sasso viene lanciato con un angolo di 60° rispetto al suolo. Raggiunge l’altezza massima di 8 m. Calcola la velocità di lancio verticale. Calcola il modulo della velocità di lancio. Calcola la componente orizzontale della velocità di lancio. Calcola il tempo di volo e la gittata.

5) Un aereo vuole raggiungere una località posta 500 km a Nord e 120 km a Ovest rispetto al punto di partenza in un tempo pari a 40 minuti. Poiché è presente un vento che soffia da Ovest verso Est alla velocità di 25 m/s, calcola:
a) la velocità vettoriale che deve avere rispetto alla terra;
b) la velocità vettoriale che deve avere rispetto all’aria;
c) l’angolo di inclinazione che deve mantenere l’aereo rispetto al Nord per riuscire ad arrivare nel luogo prestabilito nel tempo previsto.