{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f92b4881-2abb-40f5-9c6f-6f21f42c86dd",
   "metadata": {},
   "source": [
    "# **Lista 1**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5404551f-d988-4245-991b-1da12a3358f0",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Termin wykonania:\n",
    "12.03.2025\n",
    "\n",
    "## Zad 1 - **1 pkt**\n",
    "\n",
    "Zaimplementuj funkcję przyjmującą jeden argument typu `Int` drukującą wszystkie liczby od `1` do podanej wartości. \n",
    "\n",
    "Jeżeli liczba jest podzielna przez:\n",
    "- 3 - funkcja drukuje \"trzy\"\n",
    "- 5 - funkcja drukuje \"piec\"\n",
    "- 3 i 5 - funkcja drukuje \"trzypiec\"\n",
    "- W każdym innym przypadku funkcja drukuje wartość liczbową\n",
    "\n",
    "```kotlin\n",
    "val num: Int = 15\n",
    "println(foo(num))\n",
    "```\n",
    "\n",
    "```verbatim\n",
    ">>  1\n",
    ">>  2\n",
    ">>  trzy\n",
    ">>  4\n",
    ">> piec\n",
    ">> trzy\n",
    ">> 7\n",
    ">> 8\n",
    ">> trzy\n",
    ">> piec\n",
    ">> 11\n",
    ">> trzy\n",
    ">> 13\n",
    ">> 14\n",
    ">> trzypiec\n",
    "```\n",
    "\n",
    "## Zad 2 - **1 pkt**\n",
    "\n",
    "Stwórz program, który sprawdzi, czy podane przez użytkownika słowo jest palindromem (czytane tak samo od lewej do prawej, jak i od prawej do lewej).\n",
    "\n",
    "```kotlin\n",
    "val word = \"abba\"\n",
    "println(isPalindrome(word))\n",
    "```\n",
    "\n",
    "```verbatim\n",
    ">>  true\n",
    "```\n",
    "\n",
    "## Zad 3 - **1 pkt**\n",
    "\n",
    "Napisz program, który wygeneruje trójkąt Pascala o zadanej wysokości. Trójkąt Pascala to struktura liczbowa, w której każda liczba to suma dwóch liczb znajdujących się bezpośrednio nad nią w poprzednim rzędzie.\n",
    "\n",
    "```kotlin\n",
    "val height: Int = 4\n",
    "println(printPascal(height))\n",
    "```\n",
    "```verbatim\n",
    ">>       1\n",
    ">>      1 1\n",
    ">>     1 2 1\n",
    ">>    1 3 3 1\n",
    "```\n",
    "\n",
    "## Zad 4 - **2 pkt**\n",
    "\n",
    "Napisz program, który sprawdzi czy podana liczba jest liczbą doskonałą, obfitą lub niedomiarową, na podstawie jej [sumy alikwotowej](https://pl.wikipedia.org/wiki/Suma_alikwotowa).\n",
    "\n",
    "```kotlin\n",
    "val number: Int = 28\n",
    "println(isPerfect(number))\n",
    "```\n",
    "```verbatim\n",
    ">>       perfect\n",
    "```\n",
    "```kotlin\n",
    "val number: Int = 12\n",
    "println(isPerfect(number))\n",
    "```\n",
    "```verbatim\n",
    ">>       abundant\n",
    "```\n",
    "```kotlin\n",
    "val number: Int = 8\n",
    "println(isPerfect(number))\n",
    "```\n",
    "```verbatim\n",
    ">>       deficient\n",
    "```\n",
    "Przykłady:\n",
    "- 28:  $1 + 2 + 4 + 7 + 14 = 28$ - doskonała\n",
    "- 12: $1 + 2 + 3 + 4 + 6 = 16$ - obfita\n",
    "- 8: $1 + 2 + 4 = 7$ - niedomiarowa\n",
    "\n",
    "## Zad 5 - **2 pkt**\n",
    "\n",
    "Napisz program, który sprawdzi czy podana liczba jest liczbą [Armstronga](https://pl.wikipedia.org/wiki/Liczby_Armstronga).\n",
    "\n",
    "```kotlin\n",
    "val number: Int = 153\n",
    "println(checkArmstrong(number))\n",
    "```\n",
    "```verbatim\n",
    ">>       true\n",
    "```\n",
    "Przykłady:\n",
    "$$153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27$$\n",
    "$$9 = 9^1$$\n",
    "$$154 \\neq 1^3 + 5^3 + 4^3 = 1 + 125 + 64$$\n",
    "\n",
    "## Zad 6 - **1 pkt**\n",
    "\n",
    "Napisz funkcję, która sprawdzi, czy podana liczba jest liczbą pierwszą.\n",
    "\n",
    "```kotlin\n",
    "val number: Int = 17\n",
    "println(isPrime(number))\n",
    "```\n",
    "```verbatim\n",
    ">> true\n",
    "```\n",
    "\n",
    "## Zad 7 - **1 pkt**\n",
    "\n",
    "Zaimplementuj funkcję, która obliczy sumę wszystkich liczb parzystych od 1 do podanej wartości (włącznie).\n",
    "\n",
    "```kotlin\n",
    "val n: Int = 10\n",
    "println(sumEven(n))\n",
    "```\n",
    "```verbatim\n",
    ">> 30\n",
    "```\n",
    "\n",
    "## Zad 8 - **1 pkt**\n",
    "\n",
    "Napisz funkcję, która zliczy liczbę samogłosek w podanym słowie (bez rozróżniania wielkości liter).\n",
    "\n",
    "Przyjmij samogłoski: `a, e, i, o, u, y`.\n",
    "\n",
    "```kotlin\n",
    "val word = \"Programowanie\"\n",
    "println(countVowels(word))\n",
    "```\n",
    "```verbatim\n",
    ">> 6\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52c020cd-7473-43cd-ad8d-5fa3743fee66",
   "metadata": {},
   "source": [
    "### Oceny\n",
    "\n",
    "|**ocena**|**punkty**|\n",
    "|:---:|:---:|\n",
    "|3,0 | 6 pkt|\n",
    "|3,5 | 7 pkt|\n",
    "|4,0 | 8 pkt|\n",
    "|4,5 | 9 pkt|\n",
    "|5,0 | 10 pkt|"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
