Podstawy programowania (1)

Slides:



Advertisements
Podobne prezentacje
Sortowanie przez scalanie
Advertisements

Programowanie obiektowe
Programowanie w języku Visual Basic
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
Informatyka Stosowana
OBJECT PASCAL Marzena Szałas.
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia Grupa: 1A
Kurs Pascala – spis treści
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Wykład 2 struktura programu elementy języka typy zmienne
Algorytmy i struktury danych
Wprowadzenie do programowania w języku Turbo Pascal
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Słowa kluczowe oraz nazwy obiektów i klas rozpoczynaj od dużej litery np. Loop, Dim, FileStream Rozpoczynaj nazwę zmiennej od małej litery stosując styl.
Podstawy C# Grupa .NET PO.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Metodyka nauczania Informatyki
Podstawy Programowania
Programowanie Windows na przykładzie C# część 1
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
Podstawy informatyki 2013/2014
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Wykład 10 typ zbiorowy rekurencja.
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
Kurs języka C++ – wykład 13 ( )
C++.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Podstawy programowania (4)
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
Platforma .Net.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wstęp do programowania Wykład 1
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Podstawy programowania (1) dr Jerzy Bartoszek jbartoszek@wskiz.edu jerzy.bartoszek@put.poznan.pl

Opis przedmiotu Cele: Podstawowym celem przedmiotu jest nauczenie studentów budowania algorytmów i programowania w języku imperatywnym wyższego rzędu. Studenci zapoznają się z podstawowymi cechami algorytmów, strukturami danych, instrukcjami, elementarną analizą programów, ich kompilowaniem i testowaniem. Opis przedmiotu: Wykład. Algorytmy i ich cechy. Podstawowe konstrukcje programistyczne: zmienne; stałe; typy danych: typy proste, tablice jedno- i wielowymiarowe, struktury, referencje; pliki; instrukcje: podstawienia, warunkowe, pętli; procedury i funkcje oraz ich parametry; rekursja; moduły; biblioteki; przestrzenie nazw. Obsługa zdarzeń i wyjątków. Podstawowe komponenty interfejsu z użytkownikiem. Zasady programowania strukturalnego. Etapy kompilacji. Elementy analizy poprawności programów i ich efektywności. Laboratorium. Składowe środowiska programowania. Tworzenie programów wykorzystujących proste typy danych i podstawowe instrukcji programistycznych (instrukcje podstawienia, warunkowe, pętle, konsolowe operacje wejścia/wyjścia). Tworzenie programów zawierających typy złożone (tablice jedno i dwuwymiarowych, struktury). Tworzenie programów z procedurami, funkcjami, modułami i obsługą wyjątków. Tworzenie prostego interfejsu z użytkownikiem i obsługiwanie zdarzeń. Śledzenie wykonywania programów.

Opis przedmiotu cd. Forma prowadzenia zajęć: Wykład wykorzystujący środki multimedialne oraz laboratorium. Metody oceny: Zaliczenie wykładu w formie egzaminu pisemnego, zaliczenie laboratorium – sprawdziany i projekty programistyczne. Bibliografia: N. Wirth, Algorytmy+struktury danych=programy, WNT Warszawa 1980 (i późniejsze) N. Wirth, Wstęp do programowania systematycznego, WNT Warszawa 1978 H. Gantenbein i inni, Microsoft Visual Basic .NET 2003. Księga eksperta, Wydawnictwo Helion, 2006 M. Szeliga, Visual Basic .NET : ćwiczenia, Wydawnictwo Helion, 2004

Algorytm Algorytm to jednoznaczny, dobrze określony przepis rozwiązania dowolnego zadania z pewnej klasy zadań. składa się z kroków, wykorzystuje dane wejściowe, wytwarza wyniki, jest dobrze określony, jest skończony, jest wykonywalny.

Złożoność obliczeniowa algorytmów Czas wykonywania algorytmu wyrażony jako funkcja rozmiaru zadania (liczby danych), to złożoność czasowa. logarytmiczna O(log n) liniowa O(n) kwadratowa O(n2) wielomianowa O(nk) , k>2 wykładnicza O(2n) lub O(n!).

Porównanie czasów wykonywania algorytmów Porównano w niej czasy wykonywania algorytmu na dwóch komputerach, w których każda operacja jednostkowa zajmuje, odpowiednio, 10-6 s i 10-9 s.

Porównanie czasów wykonywania algorytmów Rozmiar 20 50 100 200 Czas działania(2n/106) 1,04s 35,7 lat 4 * 1014 wieków 5 * 1044 wieków Czas działania(2n/109) 0,001s 13 dni 4 * 1011 wieków 5 * 1041 wieków

Wniosek: nawet zastosowanie komputera działającego 1000 razy szybciej nie pozwala na wykonanie algorytmu (w rozsądnym czasie).

Przykładowy program Module Module1 Sub Main() Dim BankBalance As Single = 500.01 If (BankBalance < 0) Then Dim strError As String strError = "Hey, your bank balance is negative!" System.Console.WriteLine(strError) End If End Sub End Module

Programowanie w logice append([ ], X, X). append([H1 | T1], Y, [H1 | T2]) :- append(T1,Y,T2). ?- append([a, b, c], [d, e], X). X = [a, b, c, d, e] ?- append([a, b], X, [a, b, c]). X = [c] ?- append(X, Y, [a, b, c]). X = [ ] Y = [a, b, c] ; X = [a] Y = [b, c] ; X = [a, b] Y = [c] ; X = [a, b, c] Y = [ ] ; no

Programowanie funkcyjne (define (silnia n) if (n = 0) 1 n * (silnia (n-1))) (silnia 5) 120

Przykładowe elementy języka stałe zmienne typy deklaracje instrukcje funkcje i procedury moduły

Deklaracje stałych Const name [ As type ] = initexpr Przykłady: Const Pi = 3.14159 Const m As Integer = 30 identyfikator typ

Type Storage size Boolean 2 bytes Byte 1 byte Char Date 8 bytes Decimal 16 bytes Double Integer 4 bytes Long Object Short Single

Deklaracje zmiennych Dim name [ As type ] [ = initexpr ] Przykłady: Dim EmployeeID As Integer = 1 Dim EmployeeName As String = "Bob Owens" Dim EmployeeAddress As String

Przykład Module Module1 Sub Main() Dim intVariable1 As Integer = 1234 intVariable3 = intVariable1 + intVariable2 System.Console.WriteLine(intVariable3) End Sub End Module

Operatory arytmetyczne ^ Exponentiation * Multiplication / Division \ Integer division Mod Modulus + Addition - Subtraction & + String Concatenation

Podstawienia = Assignment ^= Exponentiation followed by assignment *= Multiplication followed by assignment /= Division followed by assignment \= Integer division followed by assignment += Addition followed by assignment -= Subtraction followed by assignment &= Concatenation followed by assignment

Operatory relacyjne < (Less than) True if operand1 is less than operand2 <= (Less than or equal to) True if operand1 is less than or equal to operand2 > (Greater than) True if operand1 is greater than operand2 >= (Greater than or equal to) True if operand1 is greater than or equal to operand2 = (Equal to) True if operand1 equals operand2 <> (Not equal to) True if operand1 is not equal to operand2 Is True if two object references refer to the same object Like Performs string pattern matching

And Performs an And operation (for logical operations: True if both operands are True, False otherwise; the same for bit-by-bit operations where you treat 0 as False and 1 as True). Not Reverses the logical value of its operand, from True to False and False to True, for bitwise operations, turns 0 into 1 and 1 into 0. Or Operator performs an Or operation (for logical operations: True if either operand is True, False otherwise; the same for bit-by-bit operations where you treat 0 as False and 1 as True). Xor Operator performs an exclusive-Or operation (for logical operations: True if either operand, but not both, is True, and False otherwise; the same for bit-by-bit operations where you treat 0 as False and 1 as True). AndAlso "short circuited" And operator; if the first operand is False, the second operand is not tested. OrElse "short circuited" Or operator, if the first operand is True, the second is not tested.

Priorytety operatorów Module Module1 Sub Main() Dim intGrade1, intGrade2, intGrade3, _ intNumberStudents As Integer intGrade1 = 60 intGrade2 = 70 intGrade3 = 80 intNumberStudents = 3 System.Console.WriteLine("Average grade = " & _ Str(intGrade1 + intGrade2 + intGrade3/ _ intNumberStudents)) End Sub End Module

Priorytety operatorów Module Module1 Sub Main() Dim intGrade1, intGrade2, intGrade3, _ intNumberStudents As Integer intGrade1 = 60 intGrade2 = 70 intGrade3 = 80 intNumberStudents = 3 'Three students System.Console.WriteLine("Average grade = " & _ Str((intGrade1 + intGrade2 + intGrade3) / _ intNumberStudents)) End Sub End Module