diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d5b71f7b0fe2a8eb71d05f38f847bd8dd9e369f..2a3187898a080f650e1c5c96a3510b022b3ef30b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,6 +10,7 @@ build: - vagrant ssh -c 'cd /vagrant; python build.py lab2' - vagrant ssh -c 'cd /vagrant; python build.py lab3' - vagrant ssh -c 'cd /vagrant; python build.py lab4' + - cp resources/lab3_program.txt dist/lab3/program.txt artifacts: paths: - dist/lab1/*.pdf diff --git a/resources/lab3_program.txt b/resources/lab3_program.txt new file mode 100644 index 0000000000000000000000000000000000000000..604f44b6504c3b2546dbeb60f4cd1bf927593eb9 --- /dev/null +++ b/resources/lab3_program.txt @@ -0,0 +1,10 @@ +1 5 +2 5 +3 1 2 3 4 5 0 +4 2 +5 -10 -20 -30 0 +6 +7 -5 -4 -3 -2 -1 1 2 3 4 5 0 6 +8 -5 -4 -3 -2 -1 1 2 3 4 5 0 +0 +666 6 diff --git a/src/lab3.md b/src/lab3.md index abcc4a41da26978a826de18ec4e6de1e2b15752f..09c0dce9fe5d2234a40bb4751a13f06eeffb98d0 100644 --- a/src/lab3.md +++ b/src/lab3.md @@ -17,15 +17,9 @@ Rzeczy oznaczone tak, jak poniĹźej, dotyczÄ tego, co masz zawrzeÄ w sprawozdan MogÄ byÄ to teĹź pytania, na ktĂłre w sprawozdaniu udzielisz odpowiedzi. MoĹźesz pomagaÄ sobie wyszukiwarkÄ internetowÄ , oraz zabraÄ gĹos w dyskusji, jeĹli siÄ jakaĹ wywiÄ Ĺźe. -Do pewnego miejsca tÄ instrukcjÄ **naleĹźy wykonaÄ**. Niewykonanie jej bÄdzie skutkowaĹo -obniĹźeniem oceny. - Zaliczenie najwyraĹşniej wypada w DzieĹ Dziecka (1 VI), za co szczerze przepraszam. -_On the bright side_, poniewaĹź jest to miesiÄ c przed sesjÄ , to bÄdzie moĹźna -spokojnie zrobiÄ poprawkÄ. - -Poprawka, jeĹli odbÄdzie siÄ w ogĂłle to najprawdopodobniej na rynku w Przeworsku w -palÄ cym czerwcowym sĹoĹcu, tak wiÄc proponujÄ siÄ nauczyÄ. +UratowaÄ mogÄ was tylko godziny rektorskie albo przejeĹźdĹźajÄ cy mnie +pociÄ g. # Co to jest interpreter @@ -71,11 +65,11 @@ skoĹczyĹy. Gdy wykonaĹeĹ jednÄ komendÄ, nastÄpna pobrana liczba okreĹla kolejnÄ . * *0* - koniec programu. Wypisz zawartoĹÄ akumulatora -* *1* - pobierz kolejnÄ liczbÄ. Dodaj jÄ do akumulatora -* *2* - pobierz kolejnÄ liczbÄ. Dodaj jÄ do akumulatora +* *1* - pobierz kolejnÄ liczbÄ. Dodaj jÄ do akumulatora i wynik umieĹÄ w akumulatorze +* *2* - pobierz kolejnÄ liczbÄ. Pomnóş jÄ przez wartoĹÄ akumulatora i wynik umieĹÄ w akumulatorze * *3* - pobieraj i sumuj kolejne liczby aĹź nie napotkasz zera. Wynik dodaj do akumulatora -* *4* - podziel zawartoĹÄ akumulatora przez kolejnÄ pobranÄ liczbÄ -* *5* - pobieraj kolejne liczby aĹź nie napotkasz zera. Ich ĹredniÄ arytmetycznÄ dodaj do akumulatora +* *4* - podziel zawartoĹÄ akumulatora przez kolejnÄ pobranÄ liczbÄ. Wynik umieĹÄ w akumulatorze +* *5* - pobieraj kolejne liczby aĹź nie napotkasz zera. Ich ĹredniÄ arytmetycznÄ dodaj do akumulatora. Wynik umieĹÄ w akumulatorze * *6* - po prostu wyĹwietl wartoĹÄ akumulatora * *7* - pobierz kolejnÄ liczbÄ **x**. Pobierz nastÄpnie **x** liczb i do akumulatora podstaw najwiÄkszÄ z nich * *8* - pobierz kolejnÄ liczbÄ **x**. Pobierz nastÄpnie **x** liczb i do akumulatora podstaw najmniejszÄ z nich @@ -95,4 +89,28 @@ Po to masz program, Ĺźeby policzyĹ za ciebie. ## Implementacja -Kiedy juĹź program napiszesz, \ No newline at end of file +Kiedy juĹź program napiszesz, sprĂłbuj napisaÄ jego interpreter. BÄdzie to program, +ktĂłry bÄdzie czytaĹ kolejne liczby - tak jak program - a nastÄpnie po prostu go wykonywaĹ. + +ZaĹÄ czony do archiwum z instrukcjami jest plik `program.txt`. Zawiera on program, ktĂłry +testuje wszystkie zachowania interpretera. MoĹźesz uruchomiÄ go nastÄpujÄ co + +``` +g++ -o program program.cpp +program < program.txt +``` + +WyĹwietlony powinien zostaÄ wynik (lub bĹÄ d). + +Po ukoĹczeniu pisania daj znaÄ prowadzÄ cemu. Sprawdzi on TwĂłj program. + + W sprawozdaniu zamieĹÄ kompletny kod rozwiÄ zania, oraz opracowanie + programy w "liczbowym" jÄzyku programowania. + +# WyĹlij sprawozdanie + +To juĹź prawie koniec zajÄÄ. Zapisz i wyĹlij swoje sprawozdanie. + + WyĹlij je na adres sprawozdania@henrietta.com.pl. + W tytule umieĹÄ imiÄ, nazwisko i numer zadania. + ZaĹÄ cz sprawozdanie, lub wklej je w treĹÄ maila.