Untitled
unknown
plain_text
5 months ago
5.6 kB
3
Indexable
// Zadanie 1 (10 pkt): // Napisz program, w którym wykorzystasz Int.random do wylosowania czterech liczb z zakresu [1, 2] (z dokładnością do części dziesiętnych). // Wyświetl te liczby. Wylicz i wyświetl ich średnią arytmetyczną. import Foundation print("Zad1") var liczby: [Double] = [] var suma: Double = 0 for _ in 1...4 { let liczba = Double.random(in: 1...2) liczby.append(liczba) suma += liczba } let srednia = suma / Double(liczby.count) print(liczby) print("Srednia: \(srednia)") // Zadanie 2 (12 pkt): // Napisz program, w którym wczytasz od użytkownika PESEL. Na jego podstawie określ płeć użytkownika. // Wyświetl użytkownikowi informacje o płci. print("Zad2") print("Podaj PESEL:") if let pesel = readLine(), pesel.count == 11 { let plec = Int(String(pesel[pesel.index(pesel.startIndex, offsetBy: 9)])) ?? 0 if plec % 2 == 0 { print("Kobieta") } else { print("Mezczyzna") } } else { print("Nieprawidłowy PESEL") } // Zadanie 3 (23 pkt): // Napisz program, w którym zadeklarujesz tablicę liczb całkowitych. Uzupełnij tablicę powtarzającą się sześciokrotnie liczbą, // która jest przedostatnią cyfrą Twojego numeru indeksu. Wyświetl tablicę. // Do każdego elementu tablicy dodaj liczbę całkowitą wczytaną od użytkownika. Wymuś na użytkowniku podanie prawidłowej wartości. // Wyświetl tablicę. Wczytaj od użytkownika dwa indeksy tablicy. Zamień miejscami elementy znajdujące się na tych indeksach. print("zad 3") let cyfraIndeksu = 4 var tablica: [Int] = Array(repeating: cyfraIndeksu, count: 6) print("Tablica po uzupełnieniu: \(tablica)") var i=0 while i < tablica.count { print("Podaj liczbę do dodania do elementu \(i):") if let wejście = readLine(), let wartość = Int(wejście) { tablica[i] += wartość i+=1 } else { print("Nieprawidłowa wartość") } } print("Tablica po dodaniu wartości: \(tablica)") print("Podaj dwa indeksy do zamiany:") if let wejście1 = readLine(), let wejście2 = readLine(), let idx1 = Int(wejście1), let idx2 = Int(wejście2), idx1 < tablica.count, idx2 < tablica.count { let temp = tablica[idx1] tablica[idx1] = tablica[idx2] tablica[idx2] = temp print("Tablica po zamianie: \(tablica)") } else { print("Nieprawidłowe indeksy") } // Zadanie 4 (26 pkt): // Napisz program, w którym utworzysz słownik rejestrSamochodow. Kluczem będzie numer rejestracyjny pojazdu, // a wartością będzie struktura Samochod. Struktura Samochod ma uwzględniać informacje takie jak marka, model, VIN (17 znaków), rok produkcji. // Utwórz funkcję, która umożliwia dodanie nowego samochodu do słownika. Utwórz funkcję, która umożliwia usunięcie samochodu. // Utwórz funkcję, która przyjmuje jako parametr markę i wyświetla wszystkie samochody danej marki. Przetestuj działanie tych funkcji (dane możesz wpisać na sztywno). print("Zad 4") struct Samochod { var marka: String var model: String var vin: String var rokProdukcji: Int } var rejestrSamochodow = [String: Samochod]() func dodajSamochod(numerRejestracyjny: String, samochod: Samochod) { rejestrSamochodow[numerRejestracyjny] = samochod } func usunSamochod(numerRejestracyjny: String) { rejestrSamochodow.removeValue(forKey: numerRejestracyjny) } func wyswietlSamochody(marka: String) { for (_, samochod) in rejestrSamochodow { if samochod.marka == marka { print(samochod) } } } dodajSamochod(numerRejestracyjny: "AB1234", samochod: Samochod(marka: "Toyota", model: "Corolla", vin: "VIN12345678901234", rokProdukcji: 2020)) dodajSamochod(numerRejestracyjny: "CD5678", samochod: Samochod(marka: "BMW", model: "X5", vin: "VIN98765432109876", rokProdukcji: 2022)) dodajSamochod(numerRejestracyjny: "EF9012", samochod: Samochod(marka: "Toyota", model: "Yaris", vin: "VIN12349876543210", rokProdukcji: 2021)) wyswietlSamochody(marka: "Toyota") usunSamochod(numerRejestracyjny: "AB1234") // Zadanie 5 (19 pkt): // Napisz program, w którym definiujesz klasę Osoba, której wartościami są imię i nazwisko oraz funkcją wyswietlInfo. // Następnie utwórz klasy pochodne Osoba: klasa Student i klasa Pracownik. Student zawiera dodatkowy numer indeksu, // a Pracownik rok zatrudnienia. Utwórz po jednej instancji dla klasy Student i Pracownik. Wyświetl informacje o utworzonych osobach. print("Zad 5") class Osoba { var imie: String var nazwisko: String init(imie: String, nazwisko: String) { self.imie = imie self.nazwisko = nazwisko } func wyswietlInfo() { print("\(imie) \(nazwisko)") } } class Student: Osoba { var numerIndeksu: Int init(imie: String, nazwisko: String, numerIndeksu: Int) { self.numerIndeksu = numerIndeksu super.init(imie: imie, nazwisko: nazwisko) } override func wyswietlInfo() { print("\(imie) \(nazwisko), Indeks: \(numerIndeksu)") } } class Pracownik: Osoba { var rokZatrudnienia: Int init(imie: String, nazwisko: String, rokZatrudnienia: Int) { self.rokZatrudnienia = rokZatrudnienia super.init(imie: imie, nazwisko: nazwisko) } override func wyswietlInfo() { print("\(imie) \(nazwisko), Rok zatrudnienia: \(rokZatrudnienia)") } } let student = Student(imie: "Jan", nazwisko: "Kowalski", numerIndeksu: 12345) let pracownik = Pracownik(imie: "Anna", nazwisko: "Nowak", rokZatrudnienia: 2015) student.wyswietlInfo() pracownik.wyswietlInfo()
Editor is loading...
Leave a Comment