Problem Herona. lim(x i+1 x i ) 0. lim x i0 +1 x i0 < ǫ.
|
|
- Mirosław Górski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Problem Herona 1. Prosty problem Na wstępie zdefiniujemy to czego będzie dotyczyć wykład Elementy programowania komputerów, który mam prowadzić dla Państwa. Zastanówmy sie na początku jak obliczamy pierwiastki kwadratowe z liczb dodatnich. Ten prosty problem i jego rozwiązanie, które wszyscy znamy, pozwoli nam poczynić pewne uogólnienia i pozwoli dostrzec wszystkie problemy występujące w tzw. programowaniu, o którym będziemy mówić. Kiedy już je dostrzeżemy i zauważymy ich ważność poświęcimy kilka chwil każdemu z nich by potem łatwiej i lepiej mócpisaćprogramydlasiebiei,comożeważniejsze,dlainnych,którzybędąjeu Was zamawiać. Zadanie jakie sobie stawiamy brzmi następująco. Dla zadanej liczby dodatniej obliczyć na komputerze(oczywiście bez używania kalkulatora) pierwiastek kwadratowy. Comusimyzrobić?Wczytaćdane,tęjednąliczbę aiwydrukowaćwartość a. Jeśli jest to liczba kwadratowa, tzn. taka, że jej pierwiastek jest liczbą wymierną to sprawa jest w miarę prosta. Co zrobić jednak jeśli liczbą tą jest 2? Pierwiastkiem jest liczba niewymierna. Jak ją przedstawić? Ile miejsc znaczących wydrukować? Jeszcze inaczej, z jaką dokładnością należy ją policzyć? Sześć? Czy dokładność innych obliczeńzależnychodtakwyliczonego a(jeślitakieobliczeniaprowadzimy)będzie wtedy wystarczająca? Itd, itp. Pytań tego typu będzie jeszcze więcej. Musimy na nie odpowiadać gdyż tego wymaga klient, który zamówił u nas program do obliczeń? Jeśli jest to np. bank lub szpital to konsekwencje złych przybliżeń mogą być fatalne wskutkach. Załóżmyjednak,żewiemyjuż,żedokładnośćmawynosić ±10 6,czylijedna milionowa. Oznacza to, że wynik jaki dostaniemy może sią różnić od dokładnego o wielkość ǫ = Pojawia się wtedy następny problem jak policzyć ten pierwiastek z taką dokładnością. Żeby nie tracić za wiele czasu spójrzmy na poniższy rysunek. Algorytm obliczania pierwiastka jest natychmiastowy! wystarczy liczyć średnią wartość z dwóch liczb: jednej x dowolnej(mniejszej od zadanej liczby a) i drugiej równej drugiemu bokowi a/x. Na początku, przy zadanym x, liczba a/x jest inna niż x, ale jeśli będziemy dostatecznie długo powtarzać proces obliczania średniej to obie liczby będą do siebie dążyć i w nieskończoności iteracji(tak nazywamy ten sposób powtarzania obliczeń) otrzymamy lim(x i+1 x i ) 0. Proszętosprawdzić.Przypewnym i = i 0 będziespełnionarelacja lim x i0 +1 x i0 < ǫ.. W tym momencie możemy przerwać proces rachunkowy. Bez tego warunku nasz algorytm byłby nieskończony. Proces obliczeń nigdy by się nie zatrzymał. 1
2 x i+1 =1/2(x +a/x) i i a a a/x 2 x =a Rysunek 1: Wzór Herona. x Mamywięcalgorytmobliczeń.Jesttotzw.wzórHerona 1,znanyPaństwu.Był używany w szkole. Co najważniejsze, mamy tu algorytm skończony, a więc proces obliczeń możemy w odpowiednim miejscu przerwać. Poobliczeniu adrukujemywynikzdokładnościązadanąprzezklienta. Dokładnie jednak nie wiadomo co drukować. Tak jest. Czy drukować sam pierwiastek, czy liczbę i pierwiastek, czy może również wydrukować dokładność, a może też należałoby w jakiś sposób pozwolić ustalać dokładność w trakcie rachowania? Okazuje się, że na te pytania też musimy odpowiedzieć. Musimy te problemy przedyskutować z klientem. To wszystko należy do tzw. definicji problemu. To nie jest już tylko obliczenie pierwiastka, ale obliczenie pierwiastka z zadaną dokładnością i sposób jego przedstawienia. Komputer pracuje stosując tzw. arytmetykę dyskretną, tzn. używa on tylko skończonego zbioru liczb co wynika z jego budowy. Każda komórka pamięci komputera, obojętnie jak duża, może zmieścić próćz tego jakąś liczbę maksymalną i żadnej większej. Jeśli użyjemy większej liczby takich komórek pamięci to możemy używać większych liczb. Wynika stąd, że klient, który zamówił u nas program liczenia pierwiastka powinien dodatkowo określić jak wielkie liczby kwadratowe będą go interesowały. To pozwoli nam zdefiniować wielkość komórek pamięci, w których będziemy zapisywać wyniki obliczeń. Komórki pamięci są podobne pod tym względem do szuflady: większa szuflada(typ) więcej gratów(danych) można tam upchać. Można oczywiście używać maksymalnych dostępnych komórek, ale czasami prowadzi to do zagracenia pamięci. Niektóre problemy nie wymagają by zmuszać naszego klienta do zakupu dodatkowych modułów pamięci do jego komputera. Byłby to nonsens. Czy już rozwiązaliśmy wszystkie problemy? Jeszcze nie. Musimy naszkicować projekt programu. Schemat ten nie będzie jeszcze programem dla komputera, ale pomoże nam wtedy gdy zechcemy taki program napisać. Jak on wygląda? Np. tak 1: ustal dokładność obliczeń epsilon; 2: wczytaj liczbę a; 3: oblicz pierwiastek z liczby a wg wzoru Herona; 4: drukuj pierwiastek; 1 HeronzAleksandrii(stgr.HeronhoAleksandreus,ok.10-70) starożytnygreckimatematyk, fizyk, mechanik, wynalazca i konstruktor. 2
3 To jest prawdziwy schemat. Spróbujmy go udokładnić. Jak potraktować przypadek ujemnych a? Musimy wczytać nową liczbę a, informując jednocześnie użytkownika o tym, że wprowadził złą daną. Programowanie to przewidywanie różnych sytuacji, które mogą się zdarzyć podczas pracy programu. 1: ustal dokładność obliczeń: epsilon < ; 2: wczytaj liczbę a; jeśli a<0 wykonaj [ wypisz "a jest mniejsze od 0"; idź do kroku 2 ]; 3: oblicz pierwiastek z liczby a wg wzoru Herona; 4: drukuj pierwiastek; Schemat rozrasta się. Zajmijmy się teraz krokiem 6. Powinniśmy ustalić x, obliczyć aź,obliczyćśrednią x i 1/2(x+aź)ipowtarzaćtenproces,podstawiającpod x nowąwartość x i ażdomomentugdyosiągniemypasdokładności. 1: ustal dokładność obliczeń: epsilon < ; 2: wczytaj liczbę a; jeśli a<0 wykonaj [ wypisz "a jest mniejsze od 0"; idź do kroku 2; ]; 3: ustal x: x <- a/4 przyjmujemy startowe x=a/4 I: [ xi <- 1/2(x+aź); jeśli abs(xi-x) > epsilon idź do kroku I; ] 4: drukuj pierwiastek wg wzorca zgodnego z zadaną dokładnością; Używamy zdań rozkazujących: rozkazów. Pojawiły się również rozkazy złożone z kilku linii tekstu instrukcje złożone, które zawarłem w nawiasy kwadratowe [...], etykiety, które są nazwami kroków, pewne funkcje znane w systemie, funkcje biblioteczne, np. abs, itd. W zasadzie można przystąpić do kodowania. Należy więc wybrać język wyższego poziomu, w którym to kodowanie przeprowadzimy i przełożyć nasz schematyczny program na ten język. Czy to koniec? Rozstrzygnięcie jakiego języka programowania należy użyć nie jest proste. Są ich setki. Dla przykładu podaję Państwu kod problemu wraz z krótkim opisem oraz przykładem obliczeń, dokonanych w Pascalu. program heron; uses dos, crt; dolaczanie bibliotek KOMENTARZ: 3
4 Program uzywa algorytmu Herona dla znajdowania pierwiastka kwadratowego z liczby z dokladnoscia zadana przez uzytkownika. Jest to metoda iteracyjna, ktora sprowadza sie do wzoru: x_i+1 = 1/2 * (xi+a/źi) gdzie xi jest wartoscia poczatkowa, ktora moze byc podana przez uzytkownika lub, najlepiej, obliczona wstepnie w programie. Powyzszy wzor mozna latwo zrozumiec analizujac nastepujacy rysunek. (a - pole, x_i - bok, x_(i+1) - drugi bok) a x_(i+1)=a/ź x_i Wartosc pierwiastka lezy gdzies pomiedzy xi i x_(i+1), a wiec jest rowna 1/2(x_+x_(i+1))=1/2(x_i+a/ź_i). Liczba (a) wczytywana jest z terminala. Dokladnosc obliczen (eps) jest ustalona przez programiste. function time:real; funkcja pobierania czasu w sec. var hour, minute, second, Hundreds: word; begin GetTime(hour, minute, second, hundreds); wykorzystanie bibliotek time:=3600*hour+60*minute+(second+hundreds/100); end; const eps=1e-9; dokladnosc obliczen; blad var xi, xi1, a: extended; duze liczby! iter: integer; gospodarka zasobami pamieci time0: real; begin clrscr; wczytywanie danych: writeln( Program: HERON ); 4
5 writeln( Obliczanie pierwiastka kwadratowego z liczby dodatniej. ); repeat write( Prosze podac liczbe (>0): a= ); until a>=0; read(a); sprawdzanie poprawnosci danych: if a=0 then begin writeln; writeln( Pierwiastek=, 0 ); halt; end; obliczenia time0:=time; iter:=0; xi:=a/4; repeat xi1:=0.5*(xi+a/źi); xi:=a/źi1; iter:=iter+1; until abs(xi-xi1)<eps; wypisywanie wynikow: Dobrej informacji nigdy za wiele! writeln; writeln( Liczba: a =,a:25:9); writeln( Pierwiastek: x =,xi:25:9, +/-,eps); writeln( Liczba iteracji: iter =,iter:25); writeln( Sprawdzenie: x^2 =,xi*xi:25:9); writeln( Czas obliczen =,time-time0:25:9, sec. ); end. Przykladowe wyniki obliczen Turbo Pascal Version 7.0 Copyright (c) 1983,92 Borland International Program: HERON Obliczanie pierwiastka kwadratowego z liczby dodatniej. Prosze podac liczbe (>0): a= Liczba: a = Pierwiastek: x = / E-0009 Liczba iteracji: iter = 30 Sprawdzenie: x^2 = Czas obliczen = sec. 5
6 Co mozna dodac do programu? Np. licznik czasu. Czego nauczyliśmy się z tego przykładu? Jest to tamat na następny wykład. Możemy tylko powiedzieć, że zdefiniowaliśmy wiele problemów, których na pierwszy rzut oka nie widać, a które zawsze występują w procesie programowania. O nich będą te wykłady. 6
Elementy programowania komputerów
Elementy programowania komputerów 1. Program wykładu 1. Elementy procesu programowania(definiowanie problemu, szkic rozwiązania, wybór i reprezentacja algorytmu, kodowanie, testowanie i usuwanie błędów,
wykres funkcji pierwiastki
1. Przykład: REGULA FALSI Literatura: Schneider, Weingart, Perlman, Programming..., Wiley, 1982. Zajmiemy się teraz problemem znajdowania miejsc zerowych jakiejś funkcji f(x). Jest to bardzo stary i ważny
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;
Język programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin
Programowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:
Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Programowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Podstawy programowania
Podstawy programowania Część trzecia sterujące wykonaniem programu wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).
INFORMATYKA kl. II gimnazjum Krzysztof Gładkowski TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). Czas: 2godz. Przygotowanie środowiska. Pomoce dydaktyczne. Oprogramowanie środowisko
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.
CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu
Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu P. Strzelecki pawelst@mimuw.edu.pl Instytut Matematyki, Uniwersytet Warszawski MISH UW, semestr zimowy 2011-12 P.
Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.
W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. Nie wolno dzielić przez zero i należy sprawdzić, czy dzielna nie jest równa zeru. W dziedzinie liczb
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
CIĄGI wiadomości podstawowe
1 CIĄGI wiadomości podstawowe Jak głosi definicja ciąg liczbowy to funkcja, której dziedziną są liczby naturalne dodatnie (w zadaniach oznacza się to najczęściej n 1) a wartościami tej funkcji są wszystkie
1 Całki funkcji wymiernych
Całki funkcji wymiernych Definicja. Funkcją wymierną nazywamy iloraz dwóch wielomianów. Całka funkcji wymiernej jest więc postaci: W (x) W (x) = an x n + a n x n +... + a x + a 0 b m x m + b m x m +...
if (wyrażenie ) instrukcja
if (wyrażenie ) instrukcja Jeśli wartość wyrażenia jest różna od zera, to jest wykonywana instrukcja, jeśli wartość wyrażenia jest równa 0, to dana instrukcja nie jest wykonywana Wyrażenie testowe podajemy
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
Aproksymacja diofantyczna
Aproksymacja diofantyczna Szymon Draga Ustroń, 4 listopada 0 r Wprowadzenie Jak wiadomo, każdą liczbę niewymierną można (z dowolną dokładnością) aproksymować liczbami wymiernymi Powstaje pytanie, w jaki
Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury
Definicja Procedury i funkcje Procedura to wydzielony fragment programu, który służy do wykonywania pewnych zbiorów instrukcji stanowiących zwartą całość. Procedurę nazywamy czasem podprogramem. 1 2 Przykład
Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.
Dla jakich wartości parametru m dziedziną funkcji f ( x) = x + mx + m 1 jest zbiór liczb rzeczywistych? We wzorze funkcji f(x) pojawia się funkcja kwadratowa, jednak znajduje się ona pod pierwiastkiem.
Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Specyfikacja zadania informatycznego nr 1
INFORMATYCZNE ROZWIĄZYWANIE PROBLEMÓW Specyfikacja zadania informatycznego nr 1 Cele projektu Opis potrzeby wykonania zadania Środek informatyczny Reprezentacja obiektu System ekspertowy Procedury Heurystyki
Metody numeryczne w przykładach
Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach
Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Napisanie programu komputerowego: Zasada rozwiązania zadania Stworzenie sekwencji kroków algorytmu Przykłady algorytmów z życia codziennego (2/1 6)
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje
Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia
Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ Jakie obiekty matematyczne nazywa się nieobliczalnymi? Jakie obiekty matematyczne nazywa się nieobliczalnymi? Najczęściej: a) liczby b) funkcje
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
Indukcja matematyczna. Zasada minimum. Zastosowania.
Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór
#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm
Arytmetyka Działania na liczbach, potęga, pierwiastek, logarytm Zbiory liczbowe Zbiór liczb naturalnych N = {1,2,3,4, }. Zbiór liczb całkowitych Z = {, 3, 2, 1,0,1,2,3, }. Zbiory liczbowe Zbiór liczb wymiernych
Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie
PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania
Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów
Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Instrukcja warunkowa i złoŝona.
Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację
Złożoność informacyjna Kołmogorowa. Paweł Parys
Złożoność informacyjna Kołmogorowa Paweł Parys Serock 2012 niektóre liczby łatwiej zapamiętać niż inne... (to zależy nie tylko od wielkości liczby) 100...0 100 100... 100 100 100 25839496603316858921 31415926535897932384
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
KURS PASCAL A. 1.Wprowadzenie
KURS PASCAL A 1.Wprowadzenie Pascal jest językiem wyŝszego poziomu, posiada gotowe biblioteki i moduły, co ułatwia programowanie. Z drugiej strony jest on bardziej wymagający pod względem estetyki programowania
Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;
Podstawy Informatyki Inżyria Ciepła, I rok Wykład 8 Algorytmy, cd Instrukcja decyzyjna wybierz Zda wybierz służy do wyboru jednej z kilku możliwości Ma ono postać: wybierz przełącznik z wartość_1: zda_1
Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel
Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Ilość cyfr liczby naturalnej
Ilość cyfr liczby naturalnej Użytkownik wprowadza liczbę naturalną n. Podaj algorytm znajdowania ilości cyfr liczby n. (Np.: po wprowadzeniu liczby 2453, jako wynik powinna zostać podana liczba 4). Specyfikacja
Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych
Uniwersytet Zielonogórski Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Elektrotechnika niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera
Algorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.
WYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Zapis liczb binarnych ze znakiem
Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.
INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do
INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU Instrukcja pętli For to do Instrukcja ta określa dokładnie ile razy zostanie powtórzony dany ciąg instrukcji. Postać pętli for w Pascalu: for zmienna : = początek to
FUNKCJA POTĘGOWA, WYKŁADNICZA I LOGARYTMICZNA
FUNKCJA POTĘGOWA, WYKŁADNICZA I LOGARYTMICZNA POTĘGA, DZIAŁANIA NA POTĘGACH Potęga o wykładniku naturalnym. Jest to po prostu pomnożenie przez siebie danej liczby tyle razy ile wynosi wykładnik. Zapisujemy
1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia
L.P. DZIAŁ Z PODRĘCZNIKA NaCoBeZu kryteria sukcesu w języku ucznia 1. LICZBY 1. Znam pojęcie liczby naturalne, całkowite, wymierne, dodatnie, ujemne, niedodatnie, odwrotne, przeciwne. 2. Potrafię zaznaczyć
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
Podprogramy. Procedury
Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych
17. Naprzemienne odejmowanie
17. Naprzemienne odejmowanie W starej chińskiej księdze Dziewięć Działów Arytmetyki znajduje się przepis na skracanie ułamków, który w skrócie przytoczymy tak: Chcesz skrócić ułamek Najpierw zobacz, czy
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Podstawy programowania
Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Lekcja 6: Pascal. Procedura i funkcja
Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej
4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
ECDL Podstawy programowania Sylabus - wersja 1.0
ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Programowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE
INSTRUKCJA ITERACYJNA REPEAT Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE while wyr do Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; M.P. «PASCAL» (P04) 1
for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y
40 APROKSYMACJA Zmienna y 36 33 30 27 24 21 18 15 12 9 6 3 0 0,00 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 Zmienna x Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7)...
Ile waży arbuz? Copyright Łukasz Sławiński
Ile waży arbuz? Arbuz ważył7kg z czego 99 % stanowiła woda. Po tygodniu wysechł i woda stanowi 98 %. Nieważne jak zmierzono te %% oblicz ile waży arbuz teraz? Zanim zaczniemy, spróbuj ocenić to na wyczucie...
ALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Lekcja : Tablice + pętle
Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie
ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
PROGRAMOWANIE W C++ ZADANIA
PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Wprowadzenie komentarzy do programu
Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze
2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Prognozowanie rozgrywki grą planszową
Prognozowanie rozgrywki grą planszową - Cześć Anka! Co ty tam gryzmolisz? - Witaj dowcipasku. A ja po prostu projektuję grę planszową dla uczniów podstawówki. Nawet nie masz pojęcia Marku, jak są ciekawe
Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice
Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;
7. CIĄGI. WYKŁAD 5. Przykłady :
WYKŁAD 5 1 7. CIĄGI. CIĄGIEM NIESKOŃCZONYM nazywamy funkcję określoną na zbiorze liczb naturalnych, dodatnich, a wyrazami ciągu są wartości tej funkcji. CIĄGIEM SKOŃCZONYM nazywamy funkcję określoną na
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Iteracyjne rozwiązywanie równań
Elementy metod numerycznych Plan wykładu 1 Wprowadzenie Plan wykładu 1 Wprowadzenie 2 Plan wykładu 1 Wprowadzenie 2 3 Wprowadzenie Metoda bisekcji Metoda siecznych Metoda stycznych Plan wykładu 1 Wprowadzenie