Upload files to "/"

This commit is contained in:
xcjajx 2025-01-13 21:01:48 +01:00
commit baf76b1169

207
1-1. Wartości.ipynb Normal file
View File

@ -0,0 +1,207 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block\" style=\"text-align: center; background-color: lightgrey; font-weight: bold;\">\n",
"<h1> Algorytmy i programowanie</h1>\n",
"<h2> <i>1. Podstawowe typy zmiennych i instrukcji w Pythonie</i></h2> \n",
"<!--<h3> </h3>-->\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Uwaga.** Polecam zapoznanie się również z darmowym kursem oraz materiałami dostępnymi na stronie https://py4e.pl/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1.1. Wartości i ich typy\n",
"\n",
"Wielokrotnie podczas pisania nawet najprostszych programów istnieje konieczność wykorzystania wartości np. wartości liczbowej (4, 3.14, 0.5), wartości będącej ciągiem znaków (\"Cześć\" lub \"lpan@amu.edu.pl\"), itp. \n",
"\n",
"Dla przykładu, jednym z najprostszych programów może być wypisanie (za pomocą polecenia `print()`) wartości liczbowej, która może być również podane w postaci prostych formuł matematycznych. To na ile skomplikowane mogą być te formuły dowiemy się na późniejszym etapie, gdy będziemy mówili o operatorach w języku Python."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(4) #wypisanie wartości 4\n",
"print(3+4) #wypisanie wyniku działania 3+4, czyli 7\n",
"print(2*3.14) #wypisanie wyniku działania 2*3.14, czyli 6.28\n",
"print(2+2*2) #wypisanie wyniku działania 2+2*2, czyli 6\n",
"print(1/2) #wypisanie wyniku dzielenia 1/2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Podobnie możemy wypisywać wartości będące ciągiem znaków. W tym celu ciąg znaków należy umieścić w cudzysłowie lub apostrofach."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"Cześć\")\n",
"print('Cześć')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Warto zaznaczyć, że cudzysłowy lub apostrofy są konieczne. W przeciwnym przypadku interpreter zwóci informację o błędzie jak w poniższym kodzie."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(Cześć)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Każda wartość w języku Python ma określony typ, który decyduje o tym jak program w dalszej części będzie wykonywał pewne operacje na niej, np. co będzie oznaczało dodawanie, mnożenie lub dzielenie dwóch wartości. Typ danej wartości można sprawdzić za pomocą polecenia `type()`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(4)) #polecenie type sprawdza typ wartości 4, a następnie zostaje to wypisane za pomocą polecenia print"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(3+4)) #wypisanie jakiego typu będzie wynik działania 3+4"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(2+2*2)) #wypisanie jakiego typu będzie wynik działania 2+2*2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Uwaga.** O tym dlaczego nazwa typu poprzedzona jest słowem 'class' dowiemy się na dalszym etapie."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"W powyższych przykładach mamy do czynienia z wartościami typu int (skrót od słowa integer) reprezentującym liczby całkowite."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(2*3.14))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(1/2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"W powyższych przykładach mamy do czynienia z wartościami typu float od \"floating point\", który reprezentuje liczby rzeczywiste(?). Liczby rzeczywiste zazwyczaj zapisuje się w pamięci komputera za pomocą tzw. techniki zmiennego przecinka (z ang. *floating point*), stąd często stosowana nazwa liczba zmiennoprzecinkowa. Praktyczną konsekwencją zastosowania takiego typu jest to, że liczba jest zapisywana z określoną dokładnością.\n",
"\n",
"Warto zaznaczyć, że zapisywanie liczb rzeczywistych z pewną dokładnością może skutkować istotnymi błędami obliczeń, co przedstawia poniższy przykład. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(1/3*10-3-1/3)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(type(\"Cześć!\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Powyższy przykład przedstawia wartość typu str tzn. string, który reprezentuje ciąg znaków. "
]
}
],
"metadata": {
"author": "Bartosz Naskręcki",
"celltoolbar": "Slideshow",
"email": "bartnas@amu.edu.pl",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"lang": "pl",
"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.9.2"
},
"subtitle": "04. Normy i ortogonalizacja [wykład]",
"title": "Matematyczne podstawy sztucznej inteligencji i cyberbezpieczeństwa",
"year": "2021"
},
"nbformat": 4,
"nbformat_minor": 4
}