You are on page 1of 14

SYED SANJIDA 3D1

 
 
1. Sviluppare un programma che dato un numero intero
positivo, visualizzi i 10 numeri pari superiori al numero
inserito.

IDEA RISOLUTIVA: Controllo se il numero è pari o


dispari, se è pari aggiungo 2 per 10 volte, se è dispari,
prima aggiungo 1 e poi 2 per 10 volte.

CODICE:

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ES1

class Program

static void Main(string[] args)

int n = Convert.ToInt32(ReadLine());

int num = (n/2)*2 //controllo del numero, pari o dispari

if(num == n)

for(int i = 0; i<10; i++) //ciclo se i numeri sono pari

n = n+2;

WriteLine(n);

else

n = n+1;

WriteLine(n);

for(int i = 0; i<9; i++) //ciclo se i numeri sono dispari

n = n+2;

WriteLine(n);

2. Sviluppare un programma che riceva in input un intero e


visualizzi a video un quadrato di asterischi di dimensione
scelta dall’utente. Il quadrato deve essere vuoto (cioè solo
con i bordi di asterischi) o pieno (riempito di asterischi) a
scelta dell’utente (utilizzare cicli innestati)

IDEA RISOLUTIVA:

CODICE:

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace es2

class Program

static void Main(string[] args)

Console.WriteLine("inserisci la dimensione del quadrato");

int dimensione = Convert.ToInt32(ReadLine());

Console.WriteLine("scrivi 0 se il quadrato è pieno oppure 1 se il


quadrato è vuoto");

int a = Convert.ToInt32(ReadLine());

int b = dimensione - 2;

if(a == 0) //controllo se il quandrato e pieno

for (int i = 0; i < dimensione; i++) //ciclo per il quadrato


pieno

Console.WriteLine();

for(int j = 0; j < dimensione; j++)

Write("* ");

else

for(int i = 0; i < dimensione-1; i++) //ciclo per il quadrato


vuoto

if(i == 0 || i == dimensione)

for(int j = 0; j < dimensione; j++)

Write("* ");

else

Write("* ");

for(int d = 0; d < dimensione-2; d++);

Write("");

Write("* ");

Console.WriteLine();

for(int i = 0; i<dimensione; i++)

Write("* ");

4. Sviluppare un programma che richieda in input una frase


all’utente e visualizzi le seguenti informazioni ricavate dalla
frase: numero di caratteri, numero di parole, frequenza delle
lettere dell’alfabeto.
Nota: la versione base del programma può supporre che le
parole siano sempre separate da singoli spazi.
Opzionalmente considerare come separatori tra le parole
sequenze anche ripetute di spazi e segni di punteggiatura.

IDEA RISOLUTIVA: Chiedo una frase, dopo di che utilizzo i


metodi delle stringhe per trovare le cose richieste.

CODICE:

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace es4

class Program

static void Main(string[] args)

int cont = 1;

Console.WriteLine("digita una frase");

string frase = Console.ReadLine();

for(int i = 0; i < frase.Length; i++)

if(frase[i] == " ")

cont++;

int lungh = (frase.Length - cont) + 1;

5. Sviluppare tre metodi che implementino gli ordinamenti


per selezione, scambio e inserzione di un array di interi.

IDEA RISOLUTIVA:

CODICE:

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace es5

class Program

public static int[] BubbleSort(int[] v)

bool scambio;

do

scambio = false;

for(int i = 0; i < v.Length -1; i++)

if(v[i] > v[i+1])

int temp = v[i];

v[i] = v[v+1];

v[i+1] = temp;

scambio = true;

} while (scambio);

return v;

public static int[] InsertionSort(int[] v)

int j = 0;

for(int = 1; i<v.Length; i++)

int a = v[i];

for(j = i-1; j>=0 && a < v[j]; j--)

v[j+1] = v[j];

v[j+1] = a;

return v;

public static int[] SelectionSort(int[] v)

int m;

for(int i = 0; i < v.Length; i++)

m = i;

for(int j = i+1; j<v.Length; j++)

if(v[j] < v[m])

m = j;

int temp = v[m];

v[m] = v[i];

v[i] = temp;

return v;

6. Sviluppare un metodo che restituisca un array, fusione


ordinata di due array di interi ricevuti come parametri. Si
suppone che gli array ricevuti siano ordinati.

IDEA RISOLUTIVA:

CODICE:

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace es6

class Program

public static int[] a(int[] v, int[] v1)

int[] v2 = new int[v.Length + v1.Length]; //array per la fusione

int i = 0;

int j = 0;

int k = 0;

while(i<v.Length && j<v1.Length) //viene trovato il valore più


piccolo e viene assegnato a v2

if(v[i] < v1[j])

v2[k] = v[i];

i++;

k++;

else

v2[k] = v1[j];

j++;

k++;

if(i<v.Length)

v2[k] = v[i];

i++;

k++;

if(j<v1.Length)

v2[k] = v1[j];

j++;

k++;

return v2;

You might also like