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