cwiczenia3 skrypty petle id 124 Nieznany

background image

1

Wszelkie prawa do zadań, plików i instrukcji są zastrzeżone, nikt poza prowadzącymi zajęcia i studentami IA
na AGH nie ma prawa ich wykorzystywać. A tych co mają takie prawa, proszę, aby nie umieszczali ich w innym
miejscu w sieci.


skrypty

Skrypty to pliki o rozszerzeniu m

Wa

ż

ne !

Skrypty nie przyjmują argumentów przy wywołaniu i nie zwracają wartości przy wyjściu.


Nazwy plików powinny zaczynać się od litery
i powinny zawierać tylko litery/cyfry i znak ‘_’.

Powinny zaczynać się od litery i nie mogą zawierać polskich znaków!

Nazwy plików powinny być

1.

różne od nazw zmiennych, które występują w skrypcie

2.

różne od nazw funkcji


Skrypt uruchamia

wpisuj

ą

c jego nazw

ę

w Command Window

klikaj

ą

c na nazw

ę

prawym klawiszem myszy i wybieraj

ą

c z menu Run

lub w edytorze klikaj

ą

c w


Dwie rady :
1. Napisz w pierwszej linijce skryptu w komentarzu do czego słu

ż

y skrypt,

2. a w drugiej linijce napisz instrukcj

ę

, która czy

ś

ci pami

ęć

komputera.


Przypomnienie: Ka

ż

da linijka, która ko

ń

czy si

ę

; nie wy

ś

wietla warto

ś

ci zmiennej

Wszystkie skrypty mają być zapisane w dowolnym folderze należącym do Państwa. Proszę sobie taki

folder stworzyć i proszę nie korzystać z rozwiązań, które są już na dysku. Nic się przy takich

kombinacjach nie nauczycie.

Proszę otworzyć nowy skrypt i skopiować do edytora kod z zadania 1 i zapisać skrypt w swoim folderze.

Proszę uruchomić program/skrypt.

background image

2

Zad 1.

Plik o nazwie kodowanie, które koduje słowo poprzez przesunięcie odczytanej litery o dwa następne znaki

jest poniżej

%kodowanie słowa

clear

all

;

w=input(

'Podaj słowo:'

,

's'

);

w=w+2;

w=char(w);

disp([

' zakodowane słowo: '

w]);

Proszę poprawić program tak, aby 1 literę przesunął o jeden znak, drugą o dwa znaki itp. ( n’ta o n znaków).

Podpowiedź – do wektora w dodajemy inny wektor - potrzebna jest jednak informacja

o długości wektora w

- length(w)

.

Uwaga ! jeśli to zadanie rozwiązujesz dłużej niż 15 minut proszę go opuścić i przejść dalej.

Instrukcje warunkowe

Mamy możliwość skorzystania z dwóch instrukcji warunkowych, które wykorzystują operatory logiczne
równe = =,

ż

ne ~ =, mniejsze <, większe >, mniejsze lub równe <=, większe lub równe >=, i &, lub |



if wyrażenie_logiczne
instrukcje
elseif wyrażenie_logiczne
instrukcje
else
instrukcje
end

switch wyrażenie

case wartość_1
instrukcje
case wartość_2
instrukcje
otherwise
instrukcje

end

background image

3

Zad 2.

Napisz skrypt, który skomentuje wiek wprowadzony z klawiatury – dla mniej ni

ż

5

lat to dziecko, starsze dziecko do 12 lat młodzie

ż

jest do 18 itp. Instrukcja ma by

ć

jedna, a ilo

ść

ż

nych komentarzy 7.

Pętle

Pętla jest stosowana, gdy będą zachodzić powtórzenia instrukcji zawartych wewnątrz pętli


while wyrazenie logiczne
...
end

uwaga, dla tych osób, którzy nie programowali wcześniej ! wyrażenie logiczne musi być prawdą, aby
pętla została choć raz wykonana i musi zmienić swoją postać wewnątrz pętli, aby pętla przestała
działać.

Przerwanie nieskończonej pętli równoczesne naciśnięcie klawiszy CTRL i C

lub CTRL i Pause Break


Zad 3. Proszę napisać program/skrypt ( nie używając INSTRUKCJI WARUNKOWYCH ! tylko samą pętlę while) , który
pyta o coś (np. Czy jutro jest wtorek?’) . Jeśli ktoś odpowie T lub t to wychodzimy z pętli, w przeciwnym wypadku
ciągle zadajemy to samo pytanie.


for k=początek:krok:koniec
...
end

Zad 4.

Napisz skrypt/program, który utworzy wektor o 10 000 elementów z kolejnymi

wielokrotno

ś

ciami liczby 2. U

ż

ywaj

ą

c polecenia tic i toc ( przykład jest w pomocy

Matalba’a – tic i czas=toc;) prosz

ę

poda

ć

ile razy szybciej mo

ż

na to wykona

ć

u

ż

ywaj

ą

c

p

ę

tli for i za pomoc

ą

rachunku macierzowego - bez p

ę

tli.


Jak się szuka

minimum/maksimum za pomocą pętli ?

informacja dotyczy tych osób, które jeszcze tego nie wiedzą

Algorytm poszukiwania minimum/maksimum ( oznaczam min/max jako poszukiwany) w wektorze X jest
następujący:

1.

Należy założyć, że poszukiwane minimum/maksimum jest równe wartości pierwszego elementu w
wektorze

poszukiwany=X(1);

background image

4

2.

Należy w pętli sprawdzić, czy kolejny (od 2 do ostatniego elementu) element wektora nie jest
mniejszy ( dla minimum) / nie jest większy ( dla maksimum) od zmiennej poszukiwany. Jeśli jest to
należy sobie zapamiętać, że

poszukiwany=element;

3.

Po zakończeniu pętli wypisujemy zmienną poszukiwany.

Zad 5.

Napisz skrypt/program, który losuje do wektora (100X1) liczby całkowite z zakresu

od 1-100. Dwoma sposobami, za pomoc

ą

p

ę

tli i za pomoc

ą

rachunku macierzowego:

a)

znajd

ź

warto

ść

najmniejsz

ą

i warto

ść

najwi

ę

ksz

ą

b)

wypisz gdzie wyst

ę

puje warto

ść

najwi

ę

ksza i najmniejsza

c)

sprawd

ź

ż

nice w czasie wykonywania programów w p

ę

tli i bez p

ę

tli

d)

sprawd

ź

, czy w wektorze jest liczba 10. Napisz ile razy wyst

ę

puje ta liczba.

Jak się szuka określonej liczby w wektorze za pomocą pętli ?

informacja dotyczy tych osób, które jeszcze tego nie wiedzą

Algorytm poszukiwania określonej liczby ( oznaczam liczbę jako poszukiwany) w wektorze X jest
następujący:

1.

Należy ustalić , że jakaś zmienna pomocnicza np. licznik ma wartość 0.
licznik=0;

2.

Należy w pętli sprawdzić, czy kolejny (od 1 do ostatniego elementu) element wektora jest równy
zmiennej poszukiwany. Jeśli jest to należy zwiększyć licz o 1 za pomocą instrukcji
licznik=licznik+1; ( jedna z najistotniejszych instrukcji w programowaniu)

3.

Po zakończeniu pętli sprawdzamy jaka jest wartość licznik, jeśli ma wartość 0, to nie występuje
poszukiwany, w przeciwnym wypadku mamy ilość wystąpień. Należy wypisać wyniki.

Zad 6.

Napisz skrypt/program otwiera plik dane.mat. Sprawd

ź

jaki rozmiar ma macierz tam

zapisana. Dwoma sposobami:

a)

znajd

ź

warto

ść

najmniejsz

ą

i warto

ść

najwi

ę

ksz

ą

b)

wypisz gdzie wyst

ę

puje warto

ść

najwi

ę

ksza i najmniejsza ( w obu przypadkach chc

ę

mie

ć

jako informacj

ę

zwrotn

ą

wiersz i kolumn

ę

).

c)

sprawd

ź

ż

nice w czasie wykonywania programów w p

ę

tli i bez p

ę

tli

d)

sprawd

ź

, czy w macierzy s

ą

warto

ś

ci s

ą

z zakresu [-9000 -1000] i z zakresu

[2.8217 2.8250]. Napisz ile razy wyst

ę

puj

ą

te warto

ś

ci.

Zadania sprawdzające :

background image

5

Zad 7.

Napisz skrypt, który zapyta o funkcj

ę

trygonometryczn

ą

f i zapyta o warto

ść

x

oraz wyliczy i wypisze f(x). przy czym je

ś

li kto

ś

wprowadzi za x znak, a nie liczb

ę

, to

komputer nie b

ę

dzie wykonywał polecenia, tylko napisze komunikat o bł

ę

dzie. Nie b

ę

dzie

te

ż

liczył funkcji tangens dla wielokrotno

ś

ci

π

/2.

Zad 8. Napisz skrypt, który w tablicy:

C=str2mat(

'Matlab'

,

'jest'

,

'

ś

rodowiskiem'

,

'obliczeniowym'

);

znajduje samogłoskę (i trudniejsze wyzwanie – dobrowolne – wszystkie samogłoski).

Zad 9.

Cd. zadania 1 Plik o nazwie kodowanie, które koduje słowo poprzez przesunięcie odczytanej litery o dwa

następne znaki jest już napisany, podobnie jak program który przesuwa o jeden znak pierwszą literę, drugą o dwa

znaki itp. ( n’ta o n znaków).

Teraz proszę dołożyć zawracanie – jeśli wychodzi następna litera po ‘z’

to program ma ją uznać za ‘a’ itp. Zawracanie ma działać i na dużych i na małych literach.

Zad 10.

Zapraszam do wysłania rozwiązania tego zadania na UPEL

Napisz skrypt/program otwiera plik dane.mat. Sprawd

ź

jaki rozmiar ma macierz tam

zapisana.Policz ile jest takich samych par liczb znajduj

ą

cych si

ę

w kolumnie 1 i 2 i

ile razy ka

ż

da taka para wyst

ę

puje. Wyniki zapisz do pliku odpowiedz.mat

Plik dane.mat zawiera 3 kolumny.

(..)

-8450.3519 2.825320031 300381.4351

-8450.3519 2.8251791594 300381.4351

-8449.9302 2.825320031 300381.4351

(..)

Szukamy par z danych znajduj

ą

cych si

ę

w 1 i 2 kolumnie -czyli sprawdzamy czy istnieje para:

(-8450.3519 2.825320031) a mo

ż

e istnieje para (-8450.3519 2.825320031) ?


Wyszukiwarka

Podobne podstrony:
cwiczenia 4 elastycznosc id 124 Nieznany
cwiczenia 4 podstawczaki id 124 Nieznany (2)
cwiczenia z ekspanderami id 124 Nieznany
Cwiczenia nr 2 RPiS id 124688 Nieznany
cwiczenie 1b inkscape id 125205 Nieznany
cyw1 skrypt zobowiazania id 126 Nieznany
BIOCHEMIA skrypt 2010 id 86508 Nieznany
Cwiczenie nr 15 id 125710 Nieznany
Cwiczenia nr 6 RPiS id 124693 Nieznany
cwiczenie nr 2 instrukcja id 12 Nieznany
Cwiczenie nr 10 id 125701 Nieznany
Cwiczenie9 TWN 2013 id 125932 Nieznany
Cwiczenia nr 4 RPiS id 124689 Nieznany
cwiczenie nr 3 instrukcja id 12 Nieznany
Cwiczenia do kwadryk id 124509 Nieznany
Informa wyklad petle id 716506 Nieznany
7 petle id 45551 Nieznany
Cwiczenie 8A (A3) id 99773 Nieznany

więcej podobnych podstron