Untitled
unknown
plain_text
a year ago
5.6 kB
6
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