LucíaBlogs

Apunt Programació De Python I C#

Publicat el 10 min read
Apunt Programació

Introducció a Python

Què és Python?

Python és un llenguatge de programació interpretat, de tipatge dinàmic i multiplataforma. És un llenguatge de programació molt popular i fàcil d’aprendre.

Print

Per imprimir text per pantalla, utilitzem la funció print(). Per exemple:

print("Hola món!") # Hola món!

Variables

Per declarar una variable, utilitzem el següent format:

nom_variable = valor

Per exemple:

nom = "Joan"
edat = 16

I les imprimim per pantalla:

print(nom) # Joan
print(edat) # 16

Input

Per demanar a l’usuari que introdueixi un valor, utilitzem la funció input(). Per exemple:

nom = input("Introdueix el teu nom: ")
print("Hola, " + nom) # Hola, Joan

Exercici 1

Demanar tres números a l’usuari i mostrar la suma:

primeroNumero = input("Dime el primer número entero: ")
segundoNumero = input("Dime el segundo número entero: ")
tercerNumero = input("Dime un número real: ")
 
suma = int(primeroNumero) + int(segundoNumero) + float(tercerNumero)
 
nombre = input("Dime tu nombre: ")
 
print(f"Hola {nombre}\nLa suma de los tres números es: {suma}")

Math

Per utilitzar funcions matemàtiques, importem el mòdul math. Per exemple:

import math

Per fer arrels quadrades:

print(math.sqrt(16)) # 4.0

Per fer potències:

print(math.pow(2, 3)) # 8.0

Exercici 2

Calcular hipotenusa d’un triangle rectàngle:

import math
 
cateto1 = 6
cateto2 = 7
 
hipotenusa = math.sqrt(math.pow(cateto1, 2) + math.pow(cateto2, 2))
 
print(f"La hipotenusa es: {hipotenusa:.2f}") # La hipotenusa es: 9.22

Condicions

Per utilitzar condicions, utilitzem if, elif i else. Per exemple:

if 5 > 2:
    print("5 és més gran que 2")
elif 5 == 2:
    print("5 és igual a 2")
else:
    print("5 no és més gran que 2")

Exercici 3

Es demana un número i es diu si és positiu, negatiu o 0:

numero = input("Dime un numero: ")
 
if (numero > 0 ):
    print("El numero es positivo")
elif (numero < 0):
    print("El numero es negativo")
else:
    print("El numero es 0")

Exercici 3.1

Par o senar:

numero = int(input("Dime un numero: "))
 
if numero % 2 == 0:
    print("Es par")
else:
    print("Es impar")

Exercici 3.2

El número més gran:

numero = int(input("Dime un numero: "))
segundoNumero = int(input("Dime otro numero: "))
 
if numero < segundoNumero:
    print(f"{segundoNumero} es mayor que {numero}")
elif numero > segundoNumero:
    print(f"{numero} es mayor que {segundoNumero}")
else:
    print(f"{numero} y {segundoNumero} son iguales")

Exercici 3.3

Ara amb tres números:

numero = int(input("Dime un numero: "))
segundoNumero = int(input("Dime otro numero: "))
tercerNumero = int(input("Dime otro numero: "))
 
if numero > segundoNumero and numero > tercerNumero:
    print(f"{numero} es mayor que {segundoNumero} y {tercerNumero}")
elif segundoNumero > numero and segundoNumero > tercerNumero:
    print(f"{segundoNumero} es mayor que {numero} y {tercerNumero}")
elif tercerNumero > numero and tercerNumero > segundoNumero:
    print(f"{tercerNumero} es mayor que {numero} y {segundoNumero}")
else:
    print(f"{numero}, {segundoNumero} y {tercerNumero} son iguales")

Llistes

Per utilitzar llistes, utilitzem el següent format:

llista = ["manzana", "plátano", "cereza"]
print(llista) # ['manzana', 'plátano', 'cereza']

Per accedir a un element de la llista:

print(llista[1]) # plátano

Per modificar un element de la llista:

llista[1] = "kiwi"
print(llista) # ['manzana', 'kiwi', 'cereza']

Per afegir un element a la llista:

llista.append("naranja")
print(llista) # ['manzana', 'kiwi', 'cereza', 'naranja']

Per eliminar un element de la llista:

llista.remove("plátano")
print(llista) # ['manzana', 'cereza', 'naranja']

Bucle While

Per utilitzar un bucle while, utilitzem el següent format:

i = 1
while i < 6:
    print(i)
    i += 1

Exercici 4

Es demana un número i es diu quants cops ha tardat en superar-lo:

numero = int(input("Dime un número: "))
 
a = 1
b = 2
contador = 0
 
while True:
    a = a + b
    b += 1
    contador += 1
    if a >= numero:
        break
 
print(f"El número ha tardado {contador} veces en superar o igualar a {numero}")

Bucle For

Per utilitzar un bucle for, utilitzem el següent format:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
    print(x) # apple, banana, cherry

Exercici 5

Contar fins a 100 i mostrar els múltiples de 13:

import time
 
contador = 0
 
numero = int(input("Dime hasta que número quieres contar: "))
 
multiplos = []
 
for i in range(1, numero + 1):
    print(i)
    if i % 13 == 0:
        print("¡Múltiplo de 13!")
        contador += 1
        multiplos.append(i)
        time.sleep(1)
 
 
print(f"Has contado hasta {numero} y has encontrado {contador} múltiplos de 13.\n Los múltiplos son: {multiplos}")

Exercici 5.1

Fes un programa que demani 5 números a l’usuari i els guardi en una llista. Després, mostra’ls per pantalla:

lista = []
for i in range(1, 5):
    elemento = input("Introduce un elemento para la lista: ")
    lista.append(elemento)
 
print("Los elementos de la lista son: ")
for i in lista:
    print(f"- {i}")

Exercici 5.2

Fes un programa que demani 5 números a l’usuari i els guardi en una llista. Després, moostra els números parells per pantalla:

lista = []
for i in range(1, 6):
    elemento = input("Introduce numeros: ")
    lista.append(elemento)
 
print("Los números pares de la lista son: ")
for i in lista:
    if int(i) % 2 == 0:
        print(f"- {i}")

Exercici 5.3

Fes un programa que demani 8 números a l’usuari i els guardi en una llista. Després, mostra’ls per pantalla i mostra els números únics:

lista = []
for i in range(1, 9):
    elemento = input("Introduce numeros: ")
    lista.append(elemento)
 
print("Los números únicos son: ")
for i in lista[:]:
    while lista.count(i) > 1:
        lista.pop(lista.index(i))
 
for i in lista:
    print(f"- {i}")

Introducció a C#

Què és C#?

C# és un llenguatge de programació orientat a objectes desenvolupat per Microsoft. És un llenguatge de programació molt popular i fàcil d’aprendre.

Console.WriteLine

Per imprimir text per pantalla, utilitzem la funció Console.WriteLine(). Per exemple:

Console.WriteLine("Hola món!");

Variables

Per declarar una variable, utilitzem el següent format:

tipus nom_variable = valor;

Per exemple:

string nom = "Isaac";
int edat = 16;
bool cert = true;
char lletra = 'a';

I les imprimim per pantalla:

Console.WriteLine(nom); // Isaac

Variables Numèriques Valors en Bytes

Segons la variable numèrica que declarem, tindrà un valor en bytes:

Taula de variables numèriques

Input

Per demanar a l’usuari que introdueixi un valor, utilitzem la funció Console.ReadLine(). Per exemple:

Console.WriteLine("Introdueix el teu nom: ");
string nom = Console.ReadLine();
Console.WriteLine("Hola, " + nom); // Hola, Lucía

Exercici 1

Fes un programa que demani el nom de l’usuari i mostri el total dels caràcters del nom en valor numèric (ASCII):

Console.WriteLine("Dime tu nombre");
string nombre = Console.ReadLine();
 
int total = 0;
 
for (int i = 0; i < nombre.Length; i++)
{
    char caracter = nombre[i];
    total += (int)caracter;
}
 
Console.WriteLine($"El total de tu nombre es {total}");

Exercici 1.1

Fes el mateix programa però ara també possa el nom en majúscules:

Console.WriteLine("Dime tu nombre en minusculas");
string nombre = Console.ReadLine();
 
string nombreMayusculas = "";
int total = 0;
 
for (int i = 0; i < nombre.Length; i++)
{
    char caracter = nombre[i];
 
    caracter = (char)(caracter - 32);
 
    nombreMayusculas += caracter;
    total += (int)nombre[i];
}
 
Console.WriteLine($"El total de tu nombre es {total} y tu nombre en mayusculas es {nombreMayusculas}");

If

Per utilitzar condicions, utilitzem if, else if i else. Per exemple:

if (5 > 2)
{
    Console.WriteLine("5 és més gran que 2");
}
else if (5 == 2)
{
    Console.WriteLine("5 és igual a 2");
}
else
{
    Console.WriteLine("5 no és més gran que 2");
}

Exercici 2

Fes un programa que demani 2 números a l’usuari i mostri la seva divisió:

Console.WriteLine("Dime el primer número ");
int num1 = int.Parse(Console.ReadLine());
Console.WriteLine("Dime el segundo número ");
int num2 = int.Parse(Console.ReadLine());
 
if (num2 == 0)
{
    Console.WriteLine("No se puede dividir por 0");
}
else
{
    Console.WriteLine("La división es: " + ((float)(num1) / (float)(num2)));
}

Exercici 2.1

Multiples de 2 y 3:

Console.WriteLine("Dime un número ");
int num = int.Parse(Console.ReadLine());
 
if (num % 2 == 0 && num % 3 == 0)
{
    Console.WriteLine("El número es múltiple de 2 y de 3");
}
else if (num % 2 == 0)
{
    Console.WriteLine("El número es múltiple de 2");
}
else if(num % 3 == 0)
{
    Console.WriteLine("El número es múltiple de 3");
}
else
{
    Console.WriteLine("El número no es múltiple de 2 ni de 3");
}

Char

Per utilitzar caràcters, utilitzem el tipus de dades char. Per exemple:

char lletra = 'a';

Per obtenir el valor numèric (ASCII) d’un caràcter:

Console.WriteLine((int)lletra);

Switch Case

Per utilitzar un switch case, utilitzem el següent format:

int dia = 4;
switch (dia)
{
    case 1:
        Console.WriteLine("Dilluns");
        break;
    case 2:
        Console.WriteLine("Dimarts");
        break;
    case 3:
        Console.WriteLine("Dimecres");
        break;
    case 4:
        Console.WriteLine("Dijous");
        break;
    case 5:
        Console.WriteLine("Divendres");
        break;
    case 6:
        Console.WriteLine("Dissabte");
        break;
    case 7:
        Console.WriteLine("Diumenge");
        break;
    default:
        Console.WriteLine("No és un dia de la setmana");
        break;
}

Pots posar condicions en el switch case amb el when:

int numero = 5;
switch (numero)
{
    case 1 when numero > 0:
        Console.WriteLine("El número es 1");
        break;
    case 2 when numero > 0:
        Console.WriteLine("El número es 2");
        break;
    case 3 when numero > 0:
        Console.WriteLine("El número es 3");
        break;
    default:
        Console.WriteLine("El número no es 1, 2 o 3");
        break;
}

Exercici 3

Fes un programa que al possar un caracter, et digui si es un caracter de control, imprimible o especial:

Console.WriteLine("Inserta un caracter");
char caracter = char.Parse(Console.ReadLine());
 
int caso;
 
if ((int)caracter >= 0 && (int)caracter <= 31 || (int)caracter == 127)
{
    caso = 1;
}
else if ((int)caracter >= 32 && (int)caracter <= 126)
{
    caso = 2;
}
else
{
    caso = 3;
}
 
switch (caso)
{
    case 1:
        Console.WriteLine("El caracter es un caracter de control");
        break;
    case 2:
        Console.WriteLine("El caracter es un caracter imprimible");
        break;
    case 3:
        Console.WriteLine("El caracter es un caracter especial");
        break;
}

While

Per utilitzar un bucle while, utilitzem el següent format:

int i = 1;
while (i < 6)
{
    Console.WriteLine(i);
    i++;
}

Exercici 4

Fes un programa que mentres la contrasenya sigui diferent de 12345, demani la contrasenya:

int password = 0;
 
while (password != 12345)
{
    Console.WriteLine("Introduce la contraseña");
    password = int.Parse(Console.ReadLine());
}

Exercici 4.1

Ara amb 5 intents:

int password = 0;
int oportunidades = 0  ;
 
while (password != 12345  && oportunidades < 5)
{
    Console.WriteLine("Introduce la contraseña");
    password = int.Parse(Console.ReadLine());
    oportunidades++;
}

Exercici 5

Fes un for dins d’un for per fer una estructura amb *:

for(int x = 0; x <3; x++)
{
    for(int y = 0; y < 4; y++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

Arrays

Per utilitzar arrays, utilitzem el següent format:

int[] numeros = {5};

Per accedir a un element de l’array:

Console.WriteLine(numeros[1]);

Per modificar un element de l’array:

numeros[1] = 6;
Console.WriteLine(numeros[1]); // 6

ArrayList

Per utilitzar ArrayList, primer hem d’importar la llibreria:

using System.Collections;

Després, utilitzem el següent format:

ArrayList lista = new ArrayList();
lista.Add(5);
lista.Add("Hola");

Per accedir a un element de l’ArrayList:

Console.WriteLine(lista[0]); // 5
Console.WriteLine(lista[1]); // Hola

Per modificar un element de l’ArrayList:

lista[0] = 6;
Console.WriteLine(lista[0]); // 6

Exercici 6

Fes un programa que demani 5 números a l’usuari i els guardi en un ArrayList. Després, mostra per pantalla els números parells, tot això amb 3 bucles for:

Console.WriteLine("Dime cuantos numeros quieres introducir");
int cantidadNumeros2 = Convert.ToInt32(Console.ReadLine());
ArrayList numeros2 = new ArrayList();
for (int i = 0; i < cantidadNumeros2; i++)
{
    Console.WriteLine("Introduce el número");
    int numero = Convert.ToInt32(Console.ReadLine());
    numeros2.Add(numero);
}
ArrayList numerosPares2 = new ArrayList();
for (int i = 0; i < numeros2.Count; i++)
{
    if ((int)numeros2[i] % 2 == 0)
    {
        numerosPares2.Add(numeros2[i]);
    }
}
Console.WriteLine();
Console.WriteLine("Los números pares son:");
for (int i = 0; i < numerosPares2.Count; i++)
{
    Console.WriteLine(numerosPares2[i]);
}

Split

Per separar una cadena de text en un array, utilitzem el següent format:

string text = "Hola, com estàs?";
string[] paraules = text.Split(' ');

Exercici 7

Fes un programa que amb la string “1 2 3”, sumi els números:

string numeritos = "1 2 3";
string[] numeros = numeritos.Split(" ");
int suma = 0;
foreach (string num in numeros)
{
    suma += Convert.ToInt32(num);
}
Console.WriteLine($"La suma de los números es {suma}");

Exercici 7.1

Fes un programa que separi les paraules de una frase:

Console.WriteLine("Dime una frase");
string frasecita = Console.ReadLine();
Console.WriteLine("Dime cuantas palabras quieres ver?");
int cuantasPalabras = Convert.ToInt32(Console.ReadLine());
frasecita = frasecita.Trim();
string[] palabras = frasecita.Split(' ');
int contadorDePalabras = 0;
for(int i = 0; i < palabras.Length; i++)
{
    if (contadorDePalabras < cuantasPalabras)
    {
        Console.Write($"{palabras[i]} ");
        contadorDePalabras++;
    }
    else
    {
    break;
    }
}

Funciones

Per utilitzar funcions, utilitzem el següent format:

int Suma(int num1, int num2)
{
    return num1 + num2;
}

Per cridar la funció:

int resultat = Suma(5, 3);
Console.WriteLine(resultat); // 8

Exercici 8

Fes un programa que amb una funció, que digui el número més gran:

public static int NumeroMasGrande(int num1, int num2)
{
    if (num1 > num2)
    {
        return num1;
    }
    else
    {
        return num2;
    }
}
static void Main(string[] args)
{
    Console.WriteLine(NumeroMasGrande(5, 7)); // 7
}