PROGRAMOWANIE W JĘZYKU C ĆWICZENIE 1 EDYCJA, KOMPILACJA I URUCHOMIENIE PROGRAMU SEKWENCYJNEGO W semestrze drugim nasze laboratoryjne spotkania w pracowni komputerowej będą miały na celu wprowadzenie Paostwa w zagadnienia związane z programowaniem komputerów i pojęciami z tym związanymi. Ponieważ do realizacji tego zadania nie będzie nam potrzebne jakieś szczególnie wyrafinowane środowisko programistyczne, (nasze programy będą stanowiły wyłącznie aplikacje konsolowe) wybrałem dla Paostwa ogólnie dostępny i darmowy program Dev-C++, który stanowi wygodny edytor oraz kompilator języka C i C++. Dodatkowo polecam ten program w wersji portable, czyli nie wymagającej instalacji, a możliwej do uruchomienia np. z „pendraka”. Program dostępny jest pod adresem http://www.eprogramy.net/eprogramy/program/1566 . Link do programu dostępny jest również na mojej stronie. Celem dzisiejszego dwiczenia jest zapoznanie ze środowiskiem Dev-C++ poprzez napisanie prostego programu sekwencyjnego z deklaracją zmiennych prostych oraz z wykorzystaniem instrukcji wprowadzania danych scanf, wyprowadzania wyników printf, instrukcji przypisania oraz prostych operacji matematycznych. ___________________________________________________________________________
Uwagi organizacyjne Wszystkie utworzone przez Paostwo programy muszą zostad zapisane w folderze z Paostwa imieniem i nazwiskiem w wersji źródłowej oraz skompilowanej. Proponuję, aby nazwa plików odpowiadała nazwie zadania (np. Zad_1_1.cpp, Zad_1_1.exe itd). Folder po skompresowaniu przekażecie mi Paostwo do oceny, jako efekt swojej pracy na dwiczeniach. Podstawy pracy ze środowiskiem Dev-C++ Po uruchomieniu środowiska wybieramy komendę Plik/Nowy/Plik źródłowy (lub posłużymy się kombinacją klawiszy Ctrl+N).
W obszarze edytora wprowadzamy kod źródłowy naszego programu. W przykładzie pokazano program wypisujący na ekranie komunikat „Witaj swiecie”. Ponieważ pracujemy w 1|Strona
aplikacjach konsolowych nie będziemy używad polskich liter (co nie znaczy, że nie możecie Paostwo sprawdzid co się stanie jeśli ich użyjecie ;)).
Po wprowadzeniu kodu źródłowego nasz program musimy skompilowad i uruchomid. Zrobimy to wybierając komendę Uruchom/Kompiluj i uruchom (lub wciskając F9).
Jeśli nasz kod źródłowy nie został jeszcze zapisany zostaniemy poproszeni o podanie lokalizacji pliku i jego nazwy. Zwracam uwagę, aby wszystkie pliki zostały zapisane na pulpicie w folderze z Paostwa imieniem i nazwiskiem. Proszę stosowad również właściwą numerację zadao. Utrzymanie porządku w oddawanych pracach będzie również przedmiotem oceny.
2|Strona
O ile kod źródłowy nie zawiera błędów otworzy się okno konsoli i zobaczymy efekt działania naszego programu.
3|Strona
PRZEBIEG ĆWICZENIA Zad_1_1 W trybie edycji należy wprowadzid do pamięci poniższy program. Zadaniem programu jest wypisanie na ekranie monitora tekstu „Witaj Swiecie!”. Zielony tekst kodu stanowi komentarz do programu i może zostad pominięty.
4|Strona
Po wpisaniu, uruchomid program przy pomocy klawiszy F9. Jeśli program działa poprawnie, możemy przejśd do następnego kroku. Zmodyfikuj kod programu w taki sposób, aby wyświetlał następującą wizytówkę: PWSZ w Glogowie Automatyka i robotyka/lub/Metalurgia Imię nazwisko Przejście kursora do następnego wiersza uzyskamy za pomocą przełącznika \n. Przykład: polecenia printf(’’tekst1’’); printf(’’tekst2’’); wyświetli na ekranie łaocuch znaków: tekst1tekst2 natomiast printf(’’tekst1\n’’); printf(’’tekst2’’); wyświetli na ekranie 2 łaocuchy w 2 wierszach: tekst1 tekst2 Program należy zapisad w pliku pod nazwą Zad_1_1. Od tej pory taka „wizytówka” stanie się obowiązkowym elementem każdego Paostwa programu. Proszę o tym pamiętad również w następnych zadaniach.
Zad_1_2 W trybie edycji wprowadzid do pamięci poniższy program. Zadaniem programu jest wypisanie na ekranie monitora tekstu „Ile masz lat?”, następnie pobranie od użytkownika jego wieku (przy pomocy klawiatury) a później wypisanie komunikatu: „Masz wiek lat.”, gdzie zamiast wiek podstawiona zostanie liczba wpisana przez użytkownika. Przykład działania programu: Ile masz lat? 20 Masz 20 lat. Liczba 20 została wprowadzona z klawiatury przez użytkownika. Kod źródłowy programu:
5|Strona
W kodzie zwracam uwagę na wiersze nr: 5 – deklaracja zmiennej o nazwie „wiek” i przechowującej liczbę całkowitą (int); 12 – instrukcja scanf czyta wartośd podanej z klawiatury liczby %d (całkowitej) i przypisuje ją zmiennej „wiek”; 14- instrukcja printf wypisze komunikat na ekranie. W miejscu %d wpisze wartośd przypisaną zmiennej „wiek”. 15- instrukcja getch() czeka na wciśnięcie klawisza w celu zakooczenia działania naszego programu. Tekst w kolorze zielonym stanowi komentarz i może zostad pominięty.
Zad_1_3 W trybie edycji wprowadzid do pamięci poniższy program. Program oblicza odległośd miedzy dwoma punktami na płaszczyźnie o współrzędnych (x1,y1), (x2,y2), wg wzoru
d
x1 x2 y1 y2
6|Strona
2
2
Zwracam uwagę na następujące wiersze: 3- deklaracja pliku nagłówkowego math.h zawierającego funkcje matematyczne; 8-deklaracja zmiennych typu float – przechowujących liczby rzeczywiste; 10 – funkcja scanf czyta %f%f%f%f 4 liczby rzeczywiste i przypisuje je odpowiednim zmiennym: x1,y1,x2,y2; 11-Wynikiem działania funkcji pow(x,y) jest wartośd x y , stąd pow((x1-x2),2) odpowiada (x1-x2)2 wynikiem działania funkcji sqrt(x) jest wartośd x , przy czym x 0 .
Zad_1_4 Napisz program, który dla danych współrzędnych dwóch punktów w przestrzeni trójwymiarowej, obliczy odległośd miedzy tymi punktami wg wzoru:
d
x1 x2 y1 y2 z1 z2 2
2
2
Zad_1_5 Napisz program, który obliczy sumę, różnicę, iloczyn i iloraz dwóch liczb zespolonych z1 a bi i z2 c di . z1+z2=(a+c)+(b+d)i z1-z2=(a-c)+(b-d)i z1*z2=(a*c-b*d)+(b*c+a*d)i
z1 (ac bd ) (bc ad ) 2 2 i z2 c d2 c d2 Należy wczytad kolejno częśd rzeczywistą i urojoną obydwu liczb i osobno policzyd częśd rzeczywistą i częśd urojoną wyniku.
Zad_1_6 Napisz program, który obliczy pole trójkąta, gdy dane są długości jego boków a,b,c.
P s s a s b s c , gdzie s 12 a b c . Ponieważ nie z każdych trójek liczb a, b, c można zbudowad trójkąt, w trakcie testowania działania programu należy rozważnie podawad długości boków. Co nie znaczy, że nie możecie Paostwo sprawdzid jak zachowa się program przy wprowadzeniu ewidentnie błędnych danych.
7|Strona
Zad_1_7 Napisz program, który obliczy pole trójkąta, gdy danymi są współrzędne wierzchołków x1 , y1 , x2 , y2 , x3 , y3 . wzór na pole: P 12 x1 y2 x2 y1 x2 y3 x3 y2 x3 y1 x1 y3 Wartośd bezwzględną liczby zmiennoprzecinkowej x można uzyskad poprzez wywołanie funkcji fabs(x) dla liczb rzeczywistych. Odpowiednikiem tej funkcji dla liczb całkowitych jest abs(x) .
Uwaga !!! Jeszcze raz przypominam, aby każdy pisany przez Paostwo program wyświetlał „wizytówkę” jak w zadaniu Zad_1_1 PWSZ w Glogowie Automatyka i robotyka/lub/Metalurgia Imię nazwisko _________________________________ a następnie po jej wyświetleniu realizował przewidziany w zadaniu algorytm. Folder z rozwiązaniami powinien zawierad zarówno pliki z kodami źródłowymi, jak i wersje skompilowane programów. Jeszcze raz przypominam o przestrzeganiu prawidłowych nazw plików. Po zakooczeniu pracy folder należy skompresowad.
8|Strona