Języki i metodyka Programowania Zajęcia 1. 1. Spróbujmy uruchomić pierwszy program. Otwórzmy okno dosowe (polecenie cmd) i po przejściu do katalogu projektu uruchamiamy z linii poleceń nasz program wielokrotnie. Jaki jest efekt? printf("pierwszy program"); 2. Dokonajmy zmian jak poniżej. Z menu Build wybierzmy Build Project. Podejrzyjmy Okno Output. Czy są ostrzeżenia? //Czy ten program można uruchomić? //Program uruchomimy kilka razy printf("pierwszy program"); /*W tym miejscu funkcja system wywołuje systemową komendę PAUSE tj.czeka tak długo, aż zostanie wciśnięty dowolny znak z klawiatury. W naszym przykładzie pozwala to obejrzeć wyniki w oknie konsoli, jeżeli nie było specjalnie otwierane.*/ 3. Dokonajmy zmian jak poniżej. Z menu Build wybierzmy Build Project. Podejrzyjmy Okno Output. Czy dalej są ostrzeżenia? Zmodyfikujmy argument funkcji printf na Pierwszy program\n. Ponownie uruchamiamy program wielokrotnie z linii poleceń. Jaka jest zmiana? //Program uruchomimy kilka razy printf("pierwszy program"); /*W tym miejscu funkcja system wywołuje systemową komendę PAUSE tj.czeka tak długo, aż zostanie wciśnięty dowolny znak z klawiatury. W naszym przykładzie pozwala to obejrzeć wyniki w oknie konsoli, jeżeli nie było specjalnie otwierane.*/ 4. Dokonajmy zmian jak poniżej. Jaki jest efekt? Wykonajmy zmiany opisane w komentarzach, każdorazowo sprawdzając efekt działania. Czy można zastosować kombinację znaków sterujących?
//Co będzie jeżeli w poniższej instrukcji z argumentu usuniemy \n //Możemy poeksperymentować i ewentualnie wstawić \t \r \b printf("pierwszy\tprogram"); 5. Dokonajmy zmian jak poniżej. Jaki jest efekt? void main(void) /*W tej wersji programu usunięty został mechanizm wprowadzania argumentów z linii poleceń. Czy jeżeli nie jest on wykorzystywany w naszym programie, możemy go usunąć? */ printf("pierwszy program\n"); //Czy poniższa instrukcja jest konieczna? 6. Raz jeszcze dokonajmy zmian jak poniżej. Jaki jest efekt? void main(void) //Zmodyfikujmy nieco instrukcję printf i zapiszmy ją jak poniżej //Jak teraz działa program? printf("pierwszy "); printf("program\n"); 7. I jeszcze raz dokonajmy zmian jak poniżej. Jaki jest efekt? void main(void) //A jak teraz działa program? printf("pierwszy\n "); printf("program\n"); 8. Wnioski
9. Powróćmy do pierwotnej postaci funkcji main. Nie będziemy jeszcze teraz korzystać z argumentów linii poleceń ale wkrótce nam się to przyda. Tym razem program wygląda następująco: int a; int b; int c; a = 10; b = 20; c = 30; /*Czy argument funkcji system może być napisany małymi literami czyli inaczej niz poprzednie wywołania? */ 10. Mała zmiana i ponowne uruchomienie programu. Zwracamy uwagę na komentarze. int a; int b; int c; a = 10; b = 20; c = 30; /*Czy wynik kest zgodny z oczekiwaniami (kolejność działań)? O nawiazach warto jednak pamiętać! Czasami są po prostu wygodne a czasami konieczne */ wynik = a + b * c;
11. Kolejna mała zmiana i ponowne uruchomienie programu. Zwracamy uwagę na komentarze. /*Czy poniższe instrukcje są prawidłowe? */ 12. A jak teraz zachowa się program? Przydatny Debugger. Zwracamy uwagę na komentarze. /*Co będzie teraz? */ a = 20; b = 30; c = 40;
13. A jak teraz zachowa się program? Przydatny Debugger. Zwracamy uwagę na komentarze. Możemy z menu Build wybrać Build Project i podejrzeć efekt kompilacji. Czy i jakie są komunikaty? a = 20; b = 30; c = 40; /*A Co będzie jeżeli umiścimy następną linie w komentarzu... z menu Build wybieramy Build nazwa_programu */ // 14. Mała zmiana w programie czy ten program da się uruchomić? Czy i jakie są komunikaty? inta = 10; a = 20; b = 30; c = 40; /*A Co będzie jeżeli umiścimy następną linie w komentarzu... z menu Build wybieramy Build nazwa_programu */
15. Powróćmy do pierwotnej wersji obecnego programu i tym razem zmodyfikujmy jedną z linii jak poniżej. Jaki jest efekt działania programu? /* A co będzie teraz?*/ int c = 30.5; 16. Kolejna modyfikacja jednej z poniższych linii. Założenie jest takie aby program zwrócił poprawny, oczekiwany wynik. Jaki jest efekt działania programu? /* Czy teraz już będzie dobrze, Czy ewentualnie coś jeszcze trzeba będzie zmienić?*/ double c = 30.5;
17. Kolejna modyfikacja jednej z poniższych linii. Założenie z poprzedniego punktu. Jaki jest efekt działania programu? Tu też może być przydatny Debugger double c = 30.5; /* Czy teraz już ostatecznie będzie dobrze, Czy ewentualnie coś jeszcze trzeba będzie zmienić?*/ double wynik;