Zadanie: Napisać program, który odgadnie liczbę naturalną z przedziału [1, 50] wylosowaną przez komputer. Można zastosować różne algorytmy.

Podobne dokumenty
Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

Zadania do samodzielnego rozwiązania zestaw 11

ZESPÓŁ SZKÓŁ W OBRZYCKU

SCILAB. Wprowadzenie do Scilaba:

Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE

ROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY:

I V X L C D M. Przykłady liczb niewymiernych: 3; 2

Algorytmika i programowanie

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ NA ROK SZKOLNY 2011/2012 DO PROGRAMU MATEMATYKA Z PLUSEM

Całkowanie numeryczne

6. Notacja wykładnicza stosuje notację wykładniczą do przedstawiania bardzo dużych liczb

x+h=10 zatem h=10-x gdzie x>0 i h>0

Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy dla klas II w roku szkolnym 2016/2017 w Zespole Szkół Ekonomicznych w Zielonej Górze

MATEMATYKA KLASY III gimnazjum LICZBY I WYRAŻENIA ALGEBRAICZNE

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Wstęp do Programowania Lista 1

Matematyka na czasie Przedmiotowe zasady oceniania wraz z określeniem wymagań edukacyjnych dla klasy 2

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

Weźmy wyrażenie. Pochodna tej funkcji wyniesie:. Teraz spróbujmy wrócić.

Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Szkice rozwiązań zadań z arkuszy maturalnych zamieszczonych w 47. numerze Świata Matematyki, który można nabyć w sklepie na

wymagania programowe z matematyki kl. II gimnazjum

Geometria analityczna

Kryteria ocen z matematyki w klasie drugiej gimnazjum.

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH

Wymagania edukacyjne z matematyki w klasie trzeciej zasadniczej szkoły zawodowej

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

Wymagania na egzamin poprawkowy z matematyki w roku szkolnym 2018/2019 klasa 1 TŻiUG

Metody numeryczne Laboratorium 2

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

MATEMATYKA Przed próbną maturą. Sprawdzian 3. (poziom podstawowy) Rozwiązania zadań

I. Funkcja kwadratowa

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

Model odpowiedzi i schemat oceniania do arkusza I

Matematyka rozszerzona matura 2017

ZADANIA ZAMKNIETE W zadaniach 1-25 wybierz i zaznacz na karcie odpowiedzi poprawna

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Wymagania na egzamin poprawkowy z matematyki w roku szkolnym 2018/2019 klasa 1 TLog

I Liceum Ogólnokształcące w Warszawie

Metody numeryczne w przykładach

Dział I FUNKCJE I ICH WŁASNOŚCI

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

? 14. Dana jest funkcja. Naszkicuj jej wykres. Dla jakich argumentów funkcja przyjmuje wartości dodatnie? 15. Dana jest funkcja f x 2 a x

1 wyznacza współrzędne punktów przecięcia prostej danej

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

PODSTAWY > Figury płaskie (1) KĄTY. Kąt składa się z ramion i wierzchołka. Jego wielkość jest mierzona w stopniach:

Egzamin wstępny z Matematyki 1 lipca 2011 r.

I. Funkcja kwadratowa

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

I. Podstawy języka C powtórka

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

WYMAGANIA PROGRAMOWE Z MATEMATYKI KLASA II

Wykorzystanie programów komputerowych do obliczeń matematycznych

PRZYKŁADOWY ARKUSZ EGZAMINACYJNY Z MATEMATYKI

Temat lekcji Zakres treści Wymagania podstawowe Wymagania ponadpodstawowe

Kompilator języka Basic można bezpłatnie pobrać ze strony z zakładki DOWNLOAD.

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III GIMNAZJUM BARDZO DOBRY DOBRY DOSTATECZNY. DZIAŁ 1. LICZBY I WYRAŻENIA ALGEBRAICZNE 26 godzin

1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.

Wymagania z matematyki na poszczególne oceny II klasy gimnazjum

Klasa II POTĘGI. Na ocenę dobrą: umie porównać potęgi sprowadzając do tej samej podstawy

WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM

Rozkład materiału nauczania

Wymagania edukacyjne z matematyki Klasa II program Matematyka z plusem Rok szkolny 2017/2018

KRYTERIA WYMAGAŃ Z MATEMATYKI NA POSZCZEGÓLNE OCENY

MATEMATYKA. WYMAGANIA EDUKACYJNE KLASA I, II, III Bożena Tarnowiecka, Arkadiusz Wolski. KLASA I Wymagania

Szczegółowe wymagania edukacyjne z matematyki Klasa II. na ocenę dopuszczającą

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI W KLASIE III GIMNAZJUM

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY DRUGIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI W KLASIE II GIMNAZJUM

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE DRUGIEJ GIMNAZJUM w roku szkolnym 2015/2016

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KLASIE IV

KRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. III GIMNAZJUM LICZBY I WYRAŻENIA ALGEBRAICZNE

wymagania programowe z matematyki kl. III gimnazjum

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO OTRZYMANIA PRZEZ UCZNIA POSZCZEGÓLNYCH ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI

Katalog wymagań na poszczególne stopnie szkolne klasa 3

Warsztaty dla nauczycieli

PRÓBNA MATURA ZADANIA PRZYKŁADOWE

3. FUNKCJA LINIOWA. gdzie ; ół,.

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE DRUGIEJ GIMNAZJUM

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 6 Teoria funkcje cz. 2

Wymagania edukacyjne na poszczególne oceny Matematyka klasa III Gimnazjum

Kryteria ocen z matematyki w klasie II gimnazjum

WYMAGANIA EDUKACYJNE

Nie tylko wynik Plan wynikowy dla klasy 2 gimnazjum

WYMAGANIA EDUKACYJNE DLA KLASY II GIMNAZJUM ROK SZKOLNY 2010/2011

Określenie wymagań edukacyjnych z matematyki w klasie II

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY DRUGIEJ GIMNAZJUM Opracowane do programu Matematyka na czasie, Wydawnictwo Nowa Era

Programowanie strukturalne i obiektowe. Funkcje

Wymagania edukacyjne z matematyki w klasie II gimnazjum w roku szkolnym 2016/2017 opracowane na podstawie programu Matematyka z plusem GWO

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Przedmiotowy system oceniania z matematyki w ZSZ Klasa I

Kryteria ocen z matematyki w Gimnazjum. Klasa I. Liczby i działania

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 3

Transkrypt:

Instrukcja input W zaprogramowaniu kolejnych zadań przyda się umiejętność wprowadzania wartości z zewnątrz do programu (wczytywanie danych). Na przykład: liczba = input("podaj liczbe:") Działanie instrukcji input: Wypisany zostanie komunikat: Podaj liczbe: Należy wpisać wartość, nacisnąć na Enter Wprowadzona wartość zostanie podstawiona na zmienną liczba. Małe zadania: dla danej wartości promienia r wyznaczyć pole powierzchni oraz objętość kuli; dla danej wartości a oznaczającej bok sześcianu, obliczyć pole powierzchni, obwód oraz długość przekątnej sześcianu; dla dwóch wartości oznaczonych a i b obliczyć pole i obwód prostokąta oraz długość jego przekątnej; dla dwóch wartości r i h obliczyć pole powierzchni oraz objętość cylindra o promieniu podstawy r oraz wysokości h. dla danej wartości promienia r wyznaczyć pole powierzchni trójkąta równobocznego wpisanego w okrąg o takim promieniu. dla danej wartości promienia r wyznaczyć pole powierzchni kwadratu wpisanego w okrąg o takim promieniu. dla danej wartości promienia r wyznaczyć pole powierzchni pięciokąta foremnego wpisanego w okrąg o takim promieniu. Uogólnić program na przypadek dowolnego wielokąta foremnego (potraktować liczbę boków jako dodatkową daną). Zadanie: Napisać program, który odgadnie liczbę naturalną z przedziału [1, 50] wylosowaną przez komputer. Można zastosować różne algorytmy. Instrukcja Select Instrukcja select umożliwia wykonywanie różnych czynności, w zależności od wartości przyjmowanej przez wrażenie. Można ją uznać za bliską krewną instrukcji warunkowej ifthen-elseif. Instrukcja select ma postać: select wyrażenie case wartość1 instrukcje1 case wartość instrukcje... case wartość_n instrukcje_n else instrukcje end Działanie jest następujące: wyznaczana jest wartość wyrażenia wyrażenie. Jeśli wyrażenie=wartość1 to wykonywane są instrukcje1, jeśli wyrażenie=wartość, wykonywane są instrukcje, i tak dalej. Matematyka dla ciekawych świata -5- Scilab

Instrukcje znajdujące się po frazie else są wykonywane jeśli wyrażenie nie jest równe żadnej z wcześniej wymienionych wartości. Na przykład: i=...; select i case 1 disp ("jeden") case disp ("dwa") case 3 disp (" trzy ") else error ( " nieoczekiwana wartość" ) end Operacje wejścia/wyjścia Podczas wykonywania programu niezbędna jest komunikacja z komputerem: z jednej strony trzeba mieć możliwość wprowadzania danych, równie ważna jest też możliwość wypisania i zachowania wyników. Na marginesie zwracamy uwagę, że wyniki mogą przyjmować formę graficzną, w postaci np. wykresów funkcji, teraz jednak koncentrujemy się na wynikach zapisywanych w postaci tekstowej. Kolejno omówimy komunikację bezpośrednią (interaktywną) pomiędzy programistą (lub użytkownikiem) a programem, korzystanie z możliwości odczytu oraz zapisania do pliku zostanie omówione w dalszej części opracowania. Wprowadzanie danych Rozróżnia się wprowadzanie danych liczbowych (numerycznych) i tekstowych, w obydwu przypadkach wykorzystuje się funkcję input. Często na wprowadzanie danych mówi się czytanie danych. Wprowadzanie wartości liczbowych zmienna = input ( Tekst ); Działanie jest następujące: na konsoli wyświetla się Tekst, a działanie programu jest wstrzymane w oczekiwaniu na wprowadzenie wartości. Wprowadzona wartość (należy nacisnąć na Enter) jest podstawiana pod zmienną zmienna. Jak łatwo zauważyć, Tekst pełni rolę informacyjną. Na przykład, aby obliczyć sumę n kolejnych liczb naturalnych, można wykorzystać następujący ciąg instrukcji: k=0; n=input( Największa sumowana liczba naturalna ) for i=1:n k=k+i; end; Realizacja tego fragmentu programu przebiega następująco: Zmiennej k zostaje nadana wartość 0. Następnie na konsoli pojawia się komunikat Największa sumowana liczba naturalna, i wykonanie obliczeń jest zawieszone do chwili wprowadzenia (jakiejś) wartości. Wprowadzona wartość zostaje podstawiona pod zmienną n i rozpoczyna się wykonywanie kolejnych instrukcji. Matematyka dla ciekawych świata -6- Scilab

Dygresja: Sumowanie ciągu wartości Przyjrzyjmy się jeszcze schematowi sumowania ciągu wartości, w tym przypadku są to kolejne liczby naturalne. Kluczową rolę pełni tu instrukcja k=k+i, wykonywana w pętli. Przypomnijmy, że instrukcję tę należy odczytać jako: do wartości zmiennej k dodaj wartość zmiennej i, a wynik podstaw pod zmienną k (niszcząc jej poprzednią wartość). Zauważmy też, że zmienna i jest zmienną sterującą pętli, a jej wartość zmienia się w każdym obiegu pętli o jeden, począwszy od 1 aż do n. Załóżmy, że jako n wprowadzono 5, a zatem wyznaczamy sumę liczb od 1 do 5. Pierwsze wykonanie pętli, i=1: k=k+1, czyli k=0+1=1 Zauważmy, jak ważne było nadanie zmiennej k wartości 0 przed rozpoczęciem sumowania. Można to porównać do wyczyszczenia stołu, na który będziemy dokładać (dodawać) kolejne sumowane wartości. Drugie wykonanie pętli, i=: k=k+, czyli k=1+=3 Trzecie wykonanie pętli, i=3, k=k+3, czyli k=3+3=6 Czwarte wykonanie pętli, i=4, k=k+4, czyli k=6+4=10 Piąte wykonanie pętli, i=5, k=k+5, czyli k=10+5=15 W tym miejscu działanie programu się kończy, bowiem i osiągnęło wartość końcową n. Wprowadzanie wartości znakowych Podobnie odbywa się wprowadzanie wartości znakowych. Instrukcja input ma postać: imie=input("jak masz na imie? ","string") W wyniku wykonania tej instrukcji na konsoli pojawi się napis Jak masz na imię, a po wprowadzeniu odpowiedzi zostanie ona podstawiona pod zmienną imie. Być może rozróżnienie pomiędzy zmiennymi liczbowymi i znakowymi wydaje się Wam teraz czymś nienaturalnym. Niech pewnym wyjaśnieniem będzie konieczność rozróżnienia pomiędzy zmiennymi, które mają wartość liczbową (i w odniesieniu do których można wykonywać operacje arytmetyczne) oraz zmiennymi znakowymi, przechowującymi napisy. Wypisanie wyników na konsoli Do wypisania wyników na konsoli Scilaba służy funkcja disp, na przykład disp(k) spowoduje wyświetlenie na konsoli wartości zmiennej k. Uwagi o disp: Można wypisać równocześnie wartości więcej niż jednej zmiennej, na przykład disp(i,j,k). Zmienne zostaną wyświetlone w odwrotnej kolejności i w kolejnych wierszach. Czytelniejszy i bardziej zwarty wydruk otrzyma się przekształcając wartości liczbowe na łańcuchy znakowe w następujący sposób: disp (string(i)+string(j)+string(k)) Przydałyby się spacje, żeby zwiększyć czytelność... a zatem trzeba je dodać: disp (string(i)+ +string(j)+ +string(k)) Zauważmy, że w odniesieniu do zmiennych/stałych znakowych, operator + oznacza dodawanie rozumiane jako łączenie ( sklejanie ) tekstów. Inaczej na taką operację mówi się konkatenacja. Dodatkowo, można wprowadzić opisy, na przykład takie: disp( i= +string(i)+ j= +string(j)+ k= +string(k)) Uwagi te przedstawia poniższy zapis z konsoli Scilaba: -->i=1; -->j=; Matematyka dla ciekawych świata -7- Scilab

-->k=3; -->disp(i,j,k) 3.. 1. -->disp (string(i)+string(j)+string(k)) 13 -->disp (string(i)+' '+string(j)+' '+string(k)) 1 3 -->disp('i='+string(i)+' j='+string(j)+' k='+string(k)) i=1 j= k=3 Bezpośrednia komunikacja z komputerem podczas wykonywania programu jest cenna, ale w wielu przypadkach niewystarczająca. W szczególności w sytuacjach, gdy program korzysta z dużej liczby danych oraz gdy generuje duże zestawy wyników, niezbędna staje się umiejętność komunikacji z plikami. Laboratorium trochę całkowania, trochę rysowania 1. Narysować wykres funkcji: y = ax + bx + c w przedziale [-10, 10] z krokiem Δx=0.1 dla a=-0., b=0.5, c=10.. Wyznaczyć punkty przecięcia z osią OX (oznaczenie x1 i x). 3. Korzystając z metody prostokątów, wyznaczyć pole ograniczone wykresem i osią OX między punktami x1 i x. a) Jak zmienia się wartość całki w zależności od kroku całkowania numerycznego? b) Naszkicować wizualizację metody prostokątów korzystając z funkcji xrects(m). Funkcja ta rysuje ciąg prostokątów zdefiniowanych poprzez macierz m, gdzie m =[x; y; w; h] (uwaga na średniki). Oznaczenia: x,y współrzędne lewego górnego rogu prostokątów, w szerokości rysowanych prostokątów, h wysokości. Dodatkowo funkcja xrects może być uzupełniona o parametr definiujący kolor wykreślania. c). Porównać graficznie dokładność metody w zależności od kroku całkowania. clf() a=-0.; b=0.5; c=10; x=(-10:0.1:10); y=a*x^+b*x+c; plot (x,y) xgrid() delta=b^-4*a*c; x1=(-b-sqrt(delta))/(*a) x=(-b+sqrt(delta))/(*a) /// UWAGA! Czy x1 < x? xp=(x:0.5:x1); yp=a*xp^+b*xp+c; w=0.5*ones(xp); m=[xp;yp;w;yp]; // xp, yp - lewy górny róg // w - szerokość prostokąta // ostatni argument - wysokość xrects(m,15*ones(xp)) // kolor wypelnienia Matematyka dla ciekawych świata -8- Scilab

// 5- czerwony // 10-niebieski // 15 zielony // 0 - czerwony //-15 - brak wypełnienia, zielone krawędzie // -5 brak wypełnienia, czerwone krawędzie 4. Dla dowolnych podanych wartości parametrów a, b i c (funkcja input) definiujących funkcję kwadratową y = ax + bx + c stwierdzić, czy przecina ona oś OX. Napisać program, który w zależności od sytuacji (IF...) wypisze odpowiedni komunikat: przecina w dwóch punktach, nie przecina (funkcja disp). Jeśli wykres przecina oś OX w dwóch punktach, wyznaczyć je i wypisać ich wartości. 5. Narysować wykres funkcji y=sin x w przedziale [0, 6π]. a) Wyznaczyć przybliżoną pochodną i narysować jej wykres. b) Narysować wykres funkcji powstałej poprzez zastąpienie wszystkich wartości większych niż 0.5 wartością 0.5 (patrz rysunek). c) Narysować wykres funkcji powstałej poprzez zastąpienie wszystkich wartości większych niż 0.5 wartością 0.5 oraz mniejszych niż -0.5 wartością -0.5. d) Jak w sposób przybliżony można obliczyć pole obciętej części wykresu? Proponowane narzędzia: całkowanie numeryczne, może funkcja [buttons,x,y]=xclick()... 6. Obliczyć długość łuku wyznaczonego przez wykres funkcji y=sin(x) w przedziale [0, π] korzystając ze wzoru na długość łuku: x x L = 1 + f '( x) dx 1 Dodatkowo narysować wykres funkcji y = 1+ f '( x) SCILAB Materiały opracowała Anna Trykozko, we współpracy z Łukaszem Czerwińskim Matematyka dla ciekawych świata -9- Scilab