Laboratorium
Transkrypt
Laboratorium
Podstawy programowania - Lista 1 16-10-04 Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy http://download.eclipse.org/tools/cdt/releases/8.8) III. Zainstaluj środowisko kompilatora i konsolidatora Mingw/gcc , lub inne (np. cygwin), dodaj odpowiednie wpisy do zmiennych systemowych (por np. https://tls.mbed.org/kb/compiling-and-building/setup-eclipse-cdt-environment-on-windows). Jeżeli pracujesz w systemie Linux, możesz ten krok opuścić. IV. Utwórz nowy projekt w środowisku Eclipse, sprawdź, czy efekty działania są takie, jak obliczyliśmy/obliczymy na ćwiczeniach. 1. //program 1 #include “stdio.h” void main(){ int x,y,w; x=5; y=2; w=x+y; printf(“%d\n”,w); } 2. // program 2 #include “stdio.h” void main(){ int x,y,w; x=5; y=2; w=x / y; printf(„%d\n”,w); } 3. // program 3 #include “stdio.h” void main(){ int x,y,w; x=5; y=2; w=x % y; printf(“%d\n”,w); } 4. // program 4 #include “stdio.h” void main(){ char x,y,w; x=9; y=-25; w=x | y; printf(„%d\n”,w); } 5. program 5 #include “stdio.h” void main(){ int x,y,w; x=9; y=-25; w=x ^ y; printf(“%d\n”,w); } 6. // program 6 #include “stdio.h” void main(){ int x,y,w; x=29; y=-25; w=x >> 2; printf(“%d\n”,w); } 7. // program 7 #include “stdio.h” void main(){ int x,y,w; x=29; y=-25; w=x << 5; printf(„%d\n”,w); } 1/6 Podstawy programowania - Lista 1 16-10-04 x|=y; printf(“%d\n”,x); } 8. // program 8 #include “stdio.h” void main(){ unsigned char x,y,w; x=7; y=8; w=x++*--y; printf(„%d,%d,%d\n”,x,y,w); } 12. // program 12 #include “stdio.h” void main(){ char x,y,w; x=23; y=6; w= x>=y || x<y; printf(“%d\n”,w); } 9. // program 9 #include “stdio.h” void main(){ unsigned char x,y,w; x=7; y=0; w=x++*--y; printf(„%d,%d,%d\n”,x,y,w); } 13. // program 13 #include “stdio.h” #include “math.h” void main(){ double a,b,c,x; a=1.0; b=-4.0; c=3.0; x= b*b-4*a*c>=0?(b+exp(0.5*log(b*b4*a*c)))/(2*a):0; 10. // program 10 #include “stdio.h” void main(){ int x,y,w; x=15; y=7; x*=y; printf(“%d\n”,x); } 11. // program 11 #include “stdio.h” void main(){ int x,y,w; x=15; y=7; printf(“%3.2f\n”,x); } 14. // program 14 #include “stdio.h” void main(){ int a,b,c,w; a=4; b=15; c=2; w=(a^++b)|6<<a%4+7*c&8; printf(“%d\n”,w); } Za zadania I-IV łącznie do zdobycia 4p. Zaliczenie zajęć od 3,5p. V. (dodatkowe +2p) Napisz program, który wczyta liczbę, znak + - * / , drugą liczbę i wykona odpowiednie działania. (łańcuchy tekstowe deklarujemy jako char[], wczytujemy scanf("%s"), instrukcja warunkowa if, porównanie łańcuchów strcmp). 2/6 Podstawy programowania - Lista 1 16-10-04 WSKAZÓWKI Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową) Po stworzeniu projektu C++ type Executable- toolchain cygwin lub mingw (pamiętając o zmiennej PATH zawierającej ścieżkę do GCC) dodajemy nowy plik do projektu wybierając opcję File | New | Other |C/C++ Source File. Zmieniamy aktywą konfigurację projektu z debug na release Kompilujemy i konsolidujemy plik exe (pojawia się plik release/nazwa_projekte.exe) Uruchamiamy PIERWSZY raz projekt poprzez ctrl+F11 z poziomu edytora lub prawy przycisk myszy na projekcie Run As | Local C/C++ Application lub wybierając Launch configurations New launch configuration 3/6 Podstawy programowania - Lista 1 16-10-04 Po pierwszym uruchomieniu konfiguracja uruchumieniowa zostaje zapisana, każde następne wywołanie projektu będzie możliwe również poprzez przycisk (przy aktywnej konfiguracji uruchumieniowej) Lub: Troubleshouting: Nie pojawia się typ projektu MiNGW Może nie być ustawiona ścieżka dostępu do gcc, należy ją dodać z poziomu komputera lub w eclipsie ctl+shift+L ctl+shift+L C/C++ | Build | Environment 4/6 Podstawy programowania - Lista 1 16-10-04 Program nie kompiluje się pisząc no access to .. . exe Być może jest otwartych zbyt dużo kopi programu, należy pozamykać uruchomione instancje z widoku konsoli Wybrana jest konfiguracja debug zamiast run i program staje po pierwszej instrukcji w funkcji main. Należy wyłączyć opcję stop on startup 5/6 Podstawy programowania - Lista 1 16-10-04 Zamiast wyników programu wyświetlana jest konsola błędów CDT Należy wyłączyć dla konsoli CDT automatyczne uzyskiwanie fokusu w przypadku wystąpienia błędu: Tekst zachęty do wprowadzania danych pojawia się dopiero po zakończeniu wprowadzania danych Należy zamiast wprowadzania w konwencji strukturalnego C (printf, scanf) wyświetlać i wprowadzać dane w konwencji obiektowego C++ (cout<<, cin>> ). Nie da się skompilować drugiego programu wewnątrz tego samego projektu Tylko jeden plik źródłowy w projekcie może mieć funkcję main . Jeżeli chcemy uruchomić inny program, to powinniśmy utworzyć inny projekt . Wyjściem prowizorycznym może być zaremowanie (dodanie komentarza znakami // lub /* */ funkcji main w pierwszym pliku). 6/6