Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Podobne dokumenty
Programowanie obiektowe

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy Programowania ZŁOŻONE TYPY DANYCH, LOGIKA CYFROWA I MACIERZE

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Podstawy programowania w Pythonie

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

1 Podstawy c++ w pigułce.

Wstęp do programowania

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Programowanie obiektowe

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Algorytmy i struktury danych

Podstawy programowania skrót z wykładów:

Algorytmy i struktury danych. wykład 1

Przegląd języka Python. Łukasz Anwajler

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie do języka Java

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

2018 Marcin Kukliński. Niesforne bity i bajty

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Podstawy i języki programowania

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Microsoft IT Academy kurs programowania

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

1 Podstawy c++ w pigułce.

Zmienne, stałe i operatory

Podstawy programowania w języku C

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Python wstęp do programowania dla użytkowników WCSS

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

MATERIAŁY DO ZAJĘĆ II

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawowe części projektu w Javie

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

PROGRAMOWANIE W JĘZYKU PYTHON

Język ludzki kod maszynowy

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Języki i metodyka programowania. Wprowadzenie do języka C

Programowanie strukturalne i obiektowe

Kurs rozszerzony języka Python

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Struktury, unie, formatowanie, wskaźniki

Algorytmy i struktury danych

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Programowanie, algorytmy i struktury danych

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

C++ wprowadzanie zmiennych

JAVA?? to proste!! Autor: wojtekb111111

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Programowanie RAD Delphi

Java Podstawy. Michał Bereta

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania w języku C i C++

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Platformy Programistyczne Podstawy języka Java

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Oczywiście plik musi mieć rozszerzenie *.php

Pracownia Komputerowa wykład VI

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.


Programowanie Komputerów

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else

JAVA W SUPER EXPRESOWEJ PIGUŁCE

KOTLIN. Język programowania dla Androida

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Podstawy programowania C. dr. Krystyna Łapin

Powtórka algorytmów. Wprowadzenie do języka Java.

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Pracownia Komputerowa wykład IV

Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59:

Wstęp do programowania

Stan wysoki (H) i stan niski (L)

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Algorytmy i struktury danych

Wstęp do programowania

Mikrokontroler ATmega32. Język symboliczny

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Podstawy Programowania Podstawowa składnia języka C++

Cw.12 JAVAScript w dokumentach HTML

Transkrypt:

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1

Pytania weryfikacyjne: o Wiedza deklaratywna vs imperatywna o 6 kroków pracy programisty o Sposoby projektowania programów o Klasyfikacje języków programowania o Poziom/generacja języka programowania o Kompilator vs. interpreter o Paradygmaty programowania 2

Słownictwo o Instrukcja (Instruction) o Zmienna (Variable) o Słowo kluczowe (Keyword) o Wyrażenie (Expression) o Operator (Operator) o Komentarz (Comment)

Przykładowa instrukcja instrukcja wyrażenie a = a + 1 operator dodawania operator przypisania (podstawienia) zmienna

Instrukcja o Program komputerowy to ciąg instrukcji w języku programistycznym o Podstawowe typy instrukcji: czynne (zmieniają wartości zmiennych, wywołują kolejne instrukcje) bierne (deklaracje zmiennych, specyfikacje funkcji/obiektów)

Zmienna o Nazwa (identyfikator) przypisana do danych zapisanych w pamięci komputera o Większość języków programistycznych posiada wiele typów danych które określa się na stałe dla danej zmiennej (JAVA, C) o Niektóre języki (np. Python, Pearl, PHP, JavaScript) nie wymagają stałego deklarowania typu, gdyż może on się zmieniać w trakcie działania programu (typowanie dynamiczne)

Nazwy zmiennych o o o mogą zawierać duże i małe litery cyfry, _, w niektórych językach również $ nie mogą zaczynać się od cyfry nie mogą pokrywać się ze słowami kluczowymi danego języka (reserved keywords) and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print Słowa kluczowe: Python ~30, JAVA ~50, C++ ~80-150

Typy danych o Liczbowe całkowite i zmiennoprzecinkowe o Znakowe (char) o Tekstowe o Tablicowe o Wyliczeniowe (listy) o Wskaźnikowe o Strukturalne o Logiczne (boolean) o Klasy (typ obiektowy)

Systemy liczbowe o Dziesiętny o Binarny (bit, bajt, słowo) o Szesnastkowy o Kolejność bajtów: Big endian / little endian (grubokońcowe/cienkokońcowe)

System dziesiętny o 1234 = 1 * 10 3 + 2 *10 2 + 3 * 10 1 + 4 * 10 0 System binarny o 1101 = 1 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 10

1 Bajt = 8 bitów 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 11

Liczby ujemne o Sign bit 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 +/- 64 32 16 8 4 2 1 o Two s complement (invert bits, add 1) 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0-128 64 32 16 8 4 2 1 12

Szesnastkowy (hexadecimal) 2 3 2 2 2 1 2 0 8 4 2 1 o F201(hex) = 15*16 3 + 2*16 2 + 0*16 1 + 1*16 0 (dec) = 1111 0010 0000 0001 (bin) 13

Kolejność bajtów w pamięci o Wartość 0x4A3B2C1D w pamięci pod adresem 100 o Big-endian (grubokońcowość) o Little-endian (cienkokońcowość) 14

Liczby całkowite (integer, long) o o W zależności od ilości bitów, różny górny limit Przykłady z Javy: JAVA Integral Types Memory Storage Approximate Range int 4 bytes +/- 2 billion short 2 bytes +/- 32,767 long 8 bytes +/- 9.2 x 10 18 byte 1 byte -128 to 127 o o Python standardowo używa aż 8 bajtów na zwykły int (maksymalnie 2 63-1 = 9223372036854775807) Automatycznie zmienia na long (36 bajtów) gdy ten limit zostaje przekroczony i dynamicznie zmienia rozmiar 15

Liczby zmiennoprzecinkowe (float, double) o Rozbite na dwa elementy: a b o a - mantysa (mantissa) o b - wykładnik (exponent) o Pewna ilość bajtów na jedno i drugie o W Pytonie float ma 8 bajtów - 1 bit znak, 11 bitów wykładnik, 52 bity mantysa 16

JAVA DATA TYPES Groups Variable Type Storage Approximate Range Integrals int 4 bytes +/- 2 billion short 2 bytes +/- 32,767 long 8 bytes +/- 9.2 x 10 18 byte 1 byte -128 to 127 Floating-point float 4 bytes 7-8 digits double 8 bytes 16-17 digits Character char 2 bytes 65,536 Boolean boolean 1 bit true and false

Zmienne znakowe - ASCII 18

OPERATORY Arytmetyczne (+,-,/...) Jednoargumentowe (Unary) (!,~,-,++...) Przypisania (Assignment) (=,+=...) Porównania (Relational) (==,!=, <=...) Logiczne (and, or not) i bitowe (&,, ~) Przynależności (in) ARYTMETYCZNE + Addition - Subtraction (also unary minus) * Multiplication / Division % Modulus (remainder from division) ** Exponent // Floor division JEDNOARGUMENTOWE - Arithmetic negation! Logical negation ++ Increment -- Decrement

Styl o Zbiór wytycznych w języku programistycznym nie wpływających na działanie programu o Wpływa na czytelność kodu o Nazewnictwo zmiennych o Wcięcia kodu, spacje, komentarze o PEP 8 obowiązujący styl Pythona

Styl PEP 8 wcięcia i linijki o Wcięcia na 4 spacje o Bez tabulatorów (chyba że edytujemy plik w którym już ich używano) o Puste linie : Pomiędzy klasami 2 Pomiędzy metodami, funkcjami, atrybutami 1 o Znaków w linii 72 21

Styl PEP 8 - spacje o Spacje po przecinku, nie przed dookoła operatorów o Brak spacji dookoła operatorów jednoargumentowych przed otwarciem nawiasu lub klamry Puste linie 22

Styl PEP 8 - komentarze o Komentarz na początku pliku informuje o użytym kodowaniu ASCII (np. US-ASCII lub UTF-8) o Blok dokumentacyjny na początku skryptu o Komentarze zazwyczaj po # o Każda funkcja udokumentowana po nagłówku: def funkcja_add(self): " " " Opis funkcji. " " " 23

Styl PEP 8 nazewnictwo o Stałe - WIELKIMI_LITERAMI o Klasy - ZWielkichLiter (jak w JAVA) o Zmienne - male, krotkie, o Zmienne lokalne tymczasowe - a,b,c o Funkcje - podkresl_jesli_konieczne 24