1.1 Wprowadzenie do języka C w pigułce

Wielkość: px
Rozpocząć pokaz od strony:

Download "1.1 Wprowadzenie do języka C w pigułce"

Transkrypt

1 Języki programowania język C Ćwiczenie 1 1 Łagodny start Ćwiczenie to poświęcone jest tworzeniu krótkich programów, pozwalających na zapoznanie się z takimi elementami programowania jak: struktura programu bez podprogramów, definiowanie stałych, deklarowanie zmiennych, wykonywanie operacji wejścia/wyjścia, budowanie wyrażeń arytmetycznych i korzystanie z instrukcji sterujących wykonaniem programu instrukcje warunkowe i iteracyjne. 1.1 Wprowadzenie do języka C w pigułce Rozdział ten prezentuje skrót najistotniejszych informacji, niezbędnych do realizacji programów przewidywanych w ramach tego ćwiczenia Rola funkcji main Każdy program, który ma zostać skompilowany do wersji wykonywalnej, musi posiadać funkcję o nazwie main, stanowiącą tzw. punkt wejściowy programu. Od niej się rozpoczyna wykonanie programu napisanego w języku C. Typowy scenariusz uruchomienia takiego programu wykonywalnego wygląda następująco: 1. Użytkownik przekazuje systemowi operacyjnemu zlecenie uruchomienia programu zawartego w określonym pliku wykonywalnym (wpisując jego nazwę w linii poleceń lub wskazując jego nazwę 1 myszką w środowisku graficznym). 2. System operacyjny ładuje kod programu do pamięci, przygotowuje jego środowisko, przekazuje sterowanie do bloku kodu startowego programu (tzw. startup). W ten sposób w systemie powstaje proces realizujący określony program Kod startowy, wykonuje szereg czynności inicjalizujących. Po ich zakończeniu wywołuje funkcje main. 1 Oczywiście uruchomienie programu może nastąpić również poprzez wskazanie myszą skrótu do odpowiedniego pliku wykonywalnego albo jakkolwiek bądź inaczej. Ważne jest to, aby system operacyjny wiedział, jaki plik wykonywalny ma być uruchomiony. 2 A tym samym procesowi przydzielana jest pamięć, określone zasoby i wszystko to, co niezbędne do wykonania danego programu.

2 2 Kilka prostych programów 4. Funkcja main działa, po jej zakończeniu bieżący proces jest kończony i opcjonalnie do systemu zwracany jest liczba całkowita kod wyjścia, stanowiący informację dla systemu operacyjnego określającą status zakończenia programu 3. Upraszczając całą sprawę można stwierdzić, że funkcja main jest wywoływana przez system operacyjny w celu realizacji zadania określonego zawartością programu, po wykonaniu tego zadania main kończy swoje działanie, przekazując systemowi informację zwrotną w postaci kodu zakończenia programu 4. Czym jest wspomniany wcześniej kod startowy i dlaczego został w tych rozważaniach pominięty? O istnieniu kodu startowego można nie wiedzieć, i rzeczywiście, wielu programistów znających język C o nim nie słyszało. Na tym etapie nauki języka można o nim nie pamiętać. Co się stanie, gdy program nie zawiera funkcji main? W większości przypadków kompilacja zakończy się sukcesem, jednak konsolidator (ang. linker) nie utworzy kodu wykonywalnego Najkrótszy program w języku C Czas przedstawić kod programu, który robi nic jest to Kod 1. Program ten zawiera definicję funkcji main, czyli niezbędnego elementu programu, od którego zaczyna się jego wykonanie. Znaczenie elementów owej definicji opisuje Rysunek 1. int main() { return 0; } Kod 1 Kod programu, który robi nic Typ rezultatu Ciało funkcji Nazwa funkcji int main() { return 0; } Parametry Instrukcja powrotu z podprogramu Wartość przekazywna w miejscu wywołania Rysunek 1 Znaczenie elementów deklaracji funkcji main 3 W szczególnym przypadku program może być uruchomiony przez inny proces, nie będący częścią systemu operacyjnego. Wtedy kod zakończenia przekazywany jest temu właśnie procesowi. 4 W rzeczywistości przebieg uruchomienia i zakończenia programu może być bardziej skomplikowany. Język C dopuszcza uruchamianie pewnych funkcji na starcie a więc przed uruchomieniem funkcji main, oraz po jej zakończeniu.

3 Języki programowania język C Definicja każdej funkcji w języku C a zatem i funkcji main rozpoczyna się od nagłówka zawierającego kolejno: typ rezultatu funkcji, jej nazwę, informacje o parametrach. Typ rezultatu określa, jakiego rodzaju będzie wartość, zwracana 5 przez funkcję w miejscu wywołania. W tym przypadku występuje tutaj nazwa int, oznaczająca predefiniowany typ całkowity. Zatem rezultatem funkcji main jest liczba całkowita. Nazwa funkcji main zapisana winna być tak właśnie, czyli wyłącznie z wykorzystaniem małych liter. Występujące po nazwie funkcji puste nawiasy oznaczają, że funkcja main nie wykorzystuje parametrów 6. Początek bloku opisującego akcje wykonywane przez funkcję main następuje po nawiasie klamrowym otwierającym. Tą część funkcji aż do nawiasu klamrowego zamykającego nazywa się potocznie ciałem funkcji, co pochodzi od angielskiego sformułowania function body. Ciało funkcji zawiera tylko jedną instrukcję jest to instrukcja return kończąca wykonanie funkcji oraz powodująca, iż rezultatem funkcji stanie się wartość zapisana za tą właśnie instrukcją. Jedyne, co ta funkcja robi, to zakończenie jej wywołania? przecież piszemy właśnie funkcję, która robi nic! Zwróćmy również uwagę, że linia zawierająca return zakończona jest średnikiem. W języku C symbol średnika (;) kończy instrukcję i w tym miejscu jest właśnie niezbędny. Wartość stanowiąca rezultat funkcji powinna być zgodna z typem rezultatu określonym w nagłówku funkcji. Rzeczywiście, wartość zero, stanowiąca rezultat, jest liczbą całkowitą. Co oznacza wartość zero? Wg. obowiązującej konwencji, zakończenie funkcji main z rezultatem o wartości zero, oznacza bezbłędne zakończenie programu. Przekazywanie kodu zakończenia procesu jest standardem. Procesy bardzo często komunikują się właśnie przy wykorzystaniu kodu zakończenia. W wersji minimalnej, niesie on informacje o statusie zakończenia procesu. Wartość 0 przyjmowana jest jako informacja o pomyślnym zakończeniu procesu, wartość 1 oznacza zakończenie z błędem. Tak jest w systemach zgodnych z POSIX 7. Zamiast bezwzględnych wartości 0 i 1 można wykorzystać symbole EXIT_SUCCESS oraz EXIT_FAILURE, oznaczające odpowiednio zakończenie bezbłędne oraz 5 Właściwe stwierdzenie, że funkcja zwraca coś jest nieprawidłowe. Jak stwierdził jeden z wykładowców:, zwraca to czasem pijany za bardzo student, a funkcja udostępnia rezultat. 6 W istocie funkcja main otrzymuje parametry. Pozostawienie pustych nawiasów jest dyplomatycznym chwytem pozwalającym na razie nie rozwodzić się nad tym tematem. 7 Powstanie standardu POSIX (ang. Portable Operating System Interface for Unix) wiąże się z próbą standaryzacji różnych odmian systemu Unix. POSIX standaryzuje m.in. interfejs programistyczny, interfejs użytkownika, polecenia systemowe, właściwości powłoki systemu.

4 4 Kilka prostych programów zakończenie z informacją o błędzie. Wykorzystanie tych symboli przedstawione przez Kod 2 pozwala polepszyć przenośność kodu źródłowego na inne platformy systemowe. Jednak, aby z nich skorzystać, należy uzupełnić program i linie rozpoczynającą się od frazy #include. #include <stdlib.h> int main() { return EXIT_SUCCESS; } Kod 2 Wykorzystanie symbolu EXIT_SUCCESS Włączanie plików nagłówkowych Twórcy języka C na etapie jego projektowania poczynili pewne założenie odnośnie funkcji. Otóż w języku C nie występują żadne funkcje standardowe 8. Oznacza to, że kompilator nie zna nazwy żadnej funkcji. Kompilator owszem, wie, co to są funkcje, zna składnię ich definicji oraz wywołania, ale nie zna żadnej konkretnej funkcji. Załóżmy, że wiemy, iż do wyprowadzania napisów do strumienia wyjściowego programu służy funkcja puts. Wyprowadzenie przykładowego napisu może wyglądać następująco: #include <stdlib.h> int main() { puts( "To ja Twoj pierwszy program w C" ); return EXIT_SUCCESS; } Kod 3 Wykorzystanie symbolu EXIT_SUCCESS Ale skoro kompilator nie zna żadnej funkcji, to nie zna też funkcji puts. Stąd bierze się ostrzeżenie związane z wykorzystaniem funkcji puts. Kompilator informuje nas w ten sposób, że nie zna tej funkcji, i nie jest w stanie zapewnić, iż nie została błędnie wywołana. W jaki sposób przedstawić kompilatorowi funkcję puts? Do tego celu służą prototypy funkcji. Wizytówki funkcji czyli ich prototypy umieszczane są w plikach nagłówkowych (ang. header files). Pliki nagłówkowe są zwykłymi plikami tekstowymi, można je odnaleźć i podejrzeć ich zawartość 9. Aby przedstawić kompilatorowi daną funkcję należy jej wizytówkę umieścić w programie, przed 8 W przeciwieństwie do np. języka Pascal. W jego przypadku takie funkcje i procedury jak Sin, Cos, Write, WriteLn, Read, ReadLn są standardowymi elementami języka. 9 Pliki nagłówkowe znajdują się zwyczajowo w podkatalogu include danej instalacji kompilatora języka C. I tak, jeżeli przykładowo kompilator zainstalowany jest w katalogu c:\c_compiler to pliki nagłówkowe powinniśmy odnaleźć w katalogu c:\c_compiler\include.

5 Języki programowania język C pierwszym wywołaniem tej funkcji. A to można osiągnąć, włączając do programu zawartość odpowiedniego pliku nagłówkowego. Kod 4 prezentuje poprawiony program zawierający włączenie zawartości pliku nagłówkowego zawierającego wizytówkę (prototyp) funkcji puts. Plik ten nazywa się stdio.h a jego zawartość włączana jest dyrektywą #include. Tą samą dyrektywą włączamy plik nagłówkowy stdlib.h, Zawierający definicje stałych EXIT_SUCCESS i EXIT_FAILURE. #include <stdio.h> #include <stdlib.h> int main() { puts( "To ja Twoj pierwszy program w C" ); return EXIT_SUCCESS; } Kod 4 Włączenie pliku nagłówkowego stdio.h Plik nagłówkowy stdio.h zawiera prototypy funkcji obsługujących standardowe strumienie programu, a więc strumieni stdin, stdout i stderr. Stąd nazwa stdio, od standardowego, strumieniowego wejścia i wyjścia programu. Rozszerzenie nazwy h pochodzi od słowa header file, czyli plik nagłówkowy Deklaracje zmiennych W języku C, każdą zmienną należy zadeklarować przed jej użyciem. Deklaracja polega na określeniu typu zmiennej oraz jej nazwy. Nazwy zmiennych wymyśla programista. Mogą one być dowolne, pod warunkiem, że są poprawnymi identyfikatorami oraz są różne od zastrzeżonych słów kluczowych. Identyfikator to ciąg liter, cyfr i znaków podkreślenia, rozpoczynający się od litery, przy czym znak podkreślenia traktowany jest jako litera. Uwaga dozwolone są tylko litery alfabetu anglojęzycznego, obejmujące kody ASCII poniżej 128. Kod 5 prezentuje deklaracje dwóch zmiennych całkowitoliczbowej i (typ int) oraz zmiennoprzecinkowej f (typ float). #include <stdio.h> #include <stdlib.h> int main() { int i; float f; } puts( "To ja Twoj pierwszy program w C" ); return EXIT_SUCCESS; Kod 5 Program ze zmiennymi

6 6 Kilka prostych programów Pojawia się jednak istotne pytanie gdzie można deklarować zmienne? W rozważanym przez nas przypadku zmienne zostały zadeklarowane na początku bloku ujętego w nawiasy klamrowe {}. Rzeczywiście, dla zmiennych deklarowanych wewnątrz bloku (w tym przypadku wewnątrz ciała funkcji main) obowiązuje prosta zasada zmienne te mogą być deklarowane na początku każdego bloku, przed pierwszą instrukcją programu 10. W naszym przypadku tą pierwszą instrukcją programu jest wywołanie funkcji puts Wczytywanie danych ze strumienia wejściowego Załóżmy, że naszym celem jest wczytanie liczby całkowitej do zmiennej i oraz rzeczywistej do zmiennej f (zobacz Kod 5). Proces ten zostanie podzielony na wczytanie napisu zawierającego znaki składające się na wczytywaną liczbę a następnie dokonaniu konwersji do odpowiedniej postaci binarnej. Do zapamiętania napisu wprowadzonego przez użytkownika potrzebujemy ciągu znaków tablicy znakowej. Deklaracja tablicy pozwalającej na zapamiętanie ciągu znaków, wyglądać może następująco: char bufor[ 80 ]; Zmienna bufor pozwala na zapamiętanie maksymalnie 80-cio znakowego ciągu. Zatem liczba wpisana pomiędzy nawiasami kwadratowymi [] określa maksymalną długość ciągu znaków, jaki można w danej zmiennej zmieścić. Nazwa bufor odzwierciedla funkcję tej zmiennej jest ona w istocie zmienną buforową, przechowującą chwilowo ciąg znaków, zanim zostanie on poddany procesowi zamiany na liczbę. W jaki sposób wczytać dane ze strumienia wejściowego programu do zmiennej bufor? Do tej pory operacje związane ze strumieniami realizowały funkcje, z biblioteki obsługi wejścia/wyjścia, identyfikowane przez plik nagłówkowy stdio.h. Rzeczywiście, również w tej bibliotece znajdziemy funkcje wczytujące dane. Pierwszą taką funkcją jest funkcja gets. Sposób jej wykorzystania jest prosty: printf( "Wpisz cos: " ); gets( bufor ); Wywołanie to spowoduje wyprowadzenie napisu-zachęty a następnie uruchomienie funkcji gets, która oczekiwać będzie na wprowadzenie ciągu znaków ze standardowego strumienia wejściowego, zakończonego znakiem nowej linii (naciśnięciem klawisza Enter). Dlaczego do wypisania komunikatu-zachęty wykorzystano funkcję printf a nie wcześniej poznaną funkcję puts? Funkcja puts po wypisaniu napisu przenosi kursor do początku następnej linii, funkcja printf 10 Inaczej jest w języku C++ oraz w standardzie C99.

7 Języki programowania język C tego nie robi. Kursor oczekujący na wpisanie napisu. umiejscowiony zatem będzie tuż na napisem-zachętą. Po zakończeniu działania funkcji gets w zmiennej bufor znajduje ciąg znaków wprowadzony przez użytkownika. Załóżmy, że użytkownik wpisał słowo programowanie. Jak ten ciąg znaków liczący 13-ście znaków został zapisany w zmiennej bufor? Intuicja podpowiada, że wprowadzone słowo powinno zająć pierwsze 13-cie znaków tej zmiennej. Jest tak rzeczywiście. Co się jednak dzieje z resztą znaków? A jest ich jeszcze w zmiennej bufor 63. Otóż prawie wszystkie te znaki, póki co, marnują się, nie będąc wykorzystanymi. Zatem nasza zmienna została zadeklarowana ze sporym zapasem, wykorzystujemy w tym momencie jedynie jej pierwsze 13-cie znaków. Na 14-stym znaku zapisywany jest znacznik końca napisu, oznaczany w języku C sekwencją '\0'. Co się stanie z nadmiarowymi, niemieszczącymi się w zmiennej bufor znakami? Zostaną one zapisane w komórkach pamięci operacyjnej umieszczonych za zbyt krótką zamienną, co oczywiście powoduje zniszczenie zapisanej tam zawartości. Spowodować to może nieprzewidziane skutki w zależności od tego, co w nadpisanych komórkach się mieściło. Lepszym rozwiązaniem jest ograniczenie długości wprowadzanego ciągu znaków. Niestety funkcja gets takiej możliwości nie posiada, natomiast posiada ją funkcja fgets. Wykorzystanie tej funkcji pozornie jest nieco bardziej skomplikowane: char bufor[ 10 ]; printf( "Wpisz cos: " ); fgets( bufor, 10, stdin ); Tym razem bufor jest dziesięcioznakowy. Funkcję fgets wywołujemy z trzema parametrami. Znaczenie pierwszego parametru jest takie jak w przypadku funkcji gets, drugi parametr określa maksymalną długość ciągu znaków z uwzględnieniem znacznika końca napisu. Ostatni parametr identyfikuje z jakiego strumienia funkcja ma odczytywać dane, stdin oznacza predefiniowaną zmienną reprezentującą strumień wejściowy programu Konwersja - z napisu do postaci liczby Zastanówmy się, dlaczego dane wczytane z klawiatury nie trafiły bezpośrednio do odpowiednich zmiennych? Dane wczytane z klawiatury to ciąg znaków. Jeżeli założymy, że użytkownik wprowadził prawidłową liczbę, np. 521 to program wczytał do bufora ciąg zawierający kolejno znaki '5', '2', '1' oraz znacznik końca napisu '\0'. W jaki sposób wyznaczyć wartość liczby reprezentowaną przez taki napis? 11 Funkcja fgets pozostawia na końcu napisu znak odpowiadający naciśnięciu klawisza Enter, jest to znak \n. W naszym przypadku nie jest to istotne, natomiast w innych zastosowaniach występuje konieczność usunięcia tego znaku.

8 8 Kilka prostych programów Każdy z nas robił to już nie jeden raz w szkole podstawowej! Wartość tej liczby to suma iloczynów poszczególnych cyfr i kolejnych potęg liczby 10-ęć: Funkcja atof Wartość liczby = W przypadku liczby rzeczywistej proces ten jest nieco bardziej skomplikowany, trzeba bowiem uwzględnić również część ułamkową liczby. Na szczęście nie trzeba robić tego własnoręcznie, operację tą wykonuje jedna z funkcji bibliotecznych o nazwie atof (od ang. ascii to float). Zatem konwersja napisu reprezentującego liczbę na wartość numeryczna może wyglądać następująco: f = atof( bufor ); Funkcja atof otrzymuje w postaci parametru ciąg znaków, który powinien zawierać tekstową formę liczby. Rezultatem funkcji jest numeryczna wartość rzeczywista liczbę tą reprezentująca. Taką samą czynność realizuje funkcja atoi dla danych załkowitoliczbowych. i = atoi( bufor ); Wyprowadzanie zawartości zmiennych Najpopularniejszą funkcją służącą do wyprowadzania wartości zmiennych do strumienia wyjściowego programu jest funkcja printf. Jest to funkcja ze zmienną liczbą parametrów, przy czym otrzymać musi przynajmniej jeden parametr będący napisem. Wtedy funkcja ta wyprowadza po prostu ten napis do strumienia wyjściowego programu, przykładowo: printf( "Dzisiaj jest słoneczna pogoda" ); W napisie tym mogą jednak występować sekwencje formatujące, rozpoczynające się od znaku %. Funkcja printf analizuje zawartość napisu, i po napotkaniu sekwencji formatującej pobiera kolejny parametr wywołania i wyprowadza go do strumienia wyjściowego programu, zgodnie ze specyfikacją formatowania umieszczoną na znakiem %. Przykładowo, poniższe wywołanie: int wiek = 18; printf( "Wiek: %d", wiek ); spowoduje wyprowadzenie do stdout linii: Wiek: 18 Zatem w miejscu sekwencji formatującej %d pojawi się zawartość zmiennej wiek. Funkcja printf może wyprowadzać wiele wartości zmiennych różnych typów. Wywołanie: int wiek = 18; float waga = 67.5;

9 Języki programowania język C printf( "Wiek: %d, waga: %f", wiek, waga ); spowoduje wyprowadzenie do stdout linii: Wiek: 18, waga Dlaczego tyle zer po przecinku? To zależy od domyślnej precyzji wyprowadzania liczb rzeczywistych. Można na to wpływać, np. umieszczona niżej sekwencja wyprowadzi wagę na sześciu miejscach z obcięciem do dwóch po przecinku. printf( "Wiek: %d, waga: %6.2f", wiek, waga ); Wiek: 18, waga Możliwości funkcji printf są spore. Ich opisanie wykracza poza ramy tego opracowania Instrukcja warunkowa i alternatywy Instrukcja warunkowa to jedna z instrukcji sterujących przebiegiem programu. Oznacza to, że instrukcja ta może zmieniać sekwencyjny tok przebiegu sterowania przez nasz program niektóre z instrukcji mogą zostać pominięte. O tym, czy pewien fragment programu ma być wykonany czy nie, decyduje warunek. Gdy jest on spełniony (inaczej mówiąc, gdy jest prawdziwy) warunkowany blok będzie wykonany, jeżeli warunek jest niespełniony (jest fałszywy) blok ten zostanie pominięty. if( dochod >= 0 ) printf( "Osiągnięto dochód!" ); Słowo kluczowe if oznacza instrukcję warunkową. Wewnątrz obowiązkowych nawiasów występuje warunek, decydujący o wykonaniu instrukcji zapisanej poniżej. Warunek dochoed >= 0 zawiera wyrażenie porównujące wartość zmiennej dochod z wartością zero. W ogólnym przypadku instrukcja warunkowa przyjmuje następującą postać: if( wyrażenie ) instrukcja graficzną interpretacje przebiegu wykonania programu zawierającego taka instrukcję warunkową przedstawia Rysunek 2.

10 10 Kilka prostych programów wyrażenie fałsz prawda instrukcja Rysunek 2 Graficzna interpretacja instrukcji warunkowej if Kolejną instrukcją jest instrukcja alternatywy, zwaną instrukcją if-else. Gdy warunek zapisany w nawiasach jest prawdziwy, wykonywana jest instrukcja zapisana pod frazą if, gdy warunek jest nieprawdziwy, wykonywana jest instrukcja zapisana pod fraza else. W ogólnym przypadku instrukcja alternatywy ma postać: if( wyrażenie ) instrukcja_1 else instrukcja_ Co ilustruje Rysunek 3. prawda wyrażenie fałsz instrukcja_1 instrukcja_1 Rysunek 3 Graficzna interpretacja instrukcji alternatywy if-else Instrukcja iteracyjna do-while Instrukcja iteracyjna do-while pozwala na wielokrotne wykonywanie pojedynczej instrukcji lub ciągu instrukcji. Ciało iteracji wykona się przynajmniej raz. Powtarzalnością iteracji steruje wyrażenie, gdy jego wartość jest różna od zera ciało iteracji jest powtarzane, gdy wartość wyrażenia jest zerowa, iteracja jest kończona. do instrukcja while( wyrażenie ); lub gdy swoim zasięgiem obejmuje więcej niż jedną instrukcję: do {

11 Języki programowania język C ciąg instrukcji } while( wyrażenie ); Schemat blokowy instrukcji do-while prezentuje Rysunek 4. instrukcja prawda wyrażenie fałsz Rysunek 4 Schemat blokowy instrukcji do-while Przykładowe wykorzystanie instrukcji while i if do testowania poprawności wprowadzanych danych prezentuje przedstawiony niżej przykład. do { printf( "Podaj wiek osoby:" ); gets( linia ); wiek = atoi( linia ); if( wiek <= 0 ) printf( "Wiek musi być liczbą dodatnią i różną od zera!\n" ); } while( wiek <= 0 ); Omówienie instrukcji iteracyjnej while oraz instrukcji przełączającej switch w materiałach wykładowych. 1.2 Ćwiczenia do wykonania Przeliczanie jednostek odległości Napisać program przeliczający odległość podaną w metrach na następujące miary: cal, stopę,

12 12 Kilka prostych programów jard, milę lądową. Można założyć, że użytkownik wprowadzi prawidłową liczbę rzeczywistą. Scenariusz działania programu 1. Program wyświetla informację o jego przeznaczeniu. 2. Program wczytuje liczbę rzeczywistą określającą odległość wyrażona w metrach. 3. Program wyświetla w osobnych liniach odległości wyrażone w zadanych jednostkach długości. 4. Program kończy swoje działanie po naciśnięciu przez użytkownika klawisza Enter. Przykładowa organizacja komunikacji z użytkownikiem Wymagania Rysunek 5 Przebieg dialogu z użytkownikiem Należy odnaleźć (internet, podręczniki itp.) współczynniki pozwalające na przeliczenie jednostek. Współczynniki te mają być reprezentowane w programie w postaci stałych. Wartości po przeliczeniu mają być zaokrąglane do czterech miejsc po przecinku. Należy wbudować w program reakcję na wpisanie przez użytkownika liczby ujemnej. Rozszerzenia Proszę rozbudować program o przeliczanie na inne jednostki sążnie, mile morskie, angstremy, kable, łokcie, wiorsty, itp., itd.. Proszę również spróbować rozszerzyć program w taki sposób, aby możliwe było powtarzanie operacji przeliczania długości. Powtórzenie wczytania, przeliczenia i wyświetlenia wyników odbywa się po potwierdzeniu przez użytkownika chęci ponowienia obliczeń, przykładowy dialog programu z użytkownikiem może mieć postać przedstawioną na Rysunek 5 i Rysunek 6.

13 Języki programowania język C Rysunek 6 Powtarzanie obliczeń na życzenie użytkownika Tabela przelicznikowa odległości Napisać program wyświetlający tabelę przeliczeniową odległości wyrażonej w metrach na następujące miary: cal, stopę, jard, milę lądową. Tabela powinna mieć postać zbliżoną do następującej przedstawionej na Rysunek 7. Odległości wyrażone w metrach narastają z krokiem równym 5-ciu jednostkom, począwszy od wartości 5 a skończywszy na wartości 100. Rozszerzenia Proszę rozbudować program o możliwość wprowadzania przez użytkownika kroku zwiększania długości podanej w metrach. Należy się zastanowić nad wartościami ujemnymi, wartością zerową, i tym, że liczba wierszy może przekroczyć pojemność ekranu. W tym ostatnim przypadku należy przewidzieć zatrzymanie wyświetlania np. co 24 linie. W pełnej wersji użytkownik może wprowadzać również, oprócz kroku, wartość startowa i końcową odległości zadawanej w metrach.

14 14 Kilka prostych programów Rysunek 7 Tabela przelicznikowa przykładowa forma Kalkulator dwuargumentowy Napisać program realizujący funkcje prostego kalkulatora, pozwalającego na wykonywanie operacji dodawania, odejmowania, mnożenia i dzielenia na dwóch liczbach rzeczywistych. Program ma identyfikować sytuację wprowadzenia błędnego symbolu działania oraz próbę dzielenia przez zero. Podobnie jak w poprzednich przykładach zakładamy, że użytkownik wprowadzi prawidłowe liczby. Scenariusz działania programu 1. Program wyświetla informację o swoim przeznaczeniu. 2. Wczytuje pierwszą liczbę. 3. Wczytuje symbol operacji arytmetycznej: +, -, *, /. 4. Wczytuje drugą liczbę. 5. Wyświetla wynik lub w razie konieczności informację o niemożności wykonania działania. 6. Program kończy swoje działanie po naciśnięciu przez użytkownika klawisza Enter. Przykładowa organizacja komunikacji z użytkownikiem Przykładowy sposób organizacji komunikacji z użytkownikiem przedstawiają Rysunek 8, Rysunek 9, Rysunek 10.

15 Języki programowania język C Rysunek 8 Typowy przebieg wykonania programu Rysunek 9 Reakcja na błędny symbol działania Rozszerzenia Rysunek 10 Reakcja na próbę dzielenia przez zero Proszę rozszerzyć program w taki sposób, aby możliwe było powtarzanie obliczeń. Powtórzenie wczytania, przeliczenia i wyświetlenia wyników odbywa się po potwierdzeniu przez użytkownika chęci ponowienia obliczeń, przykładowy dialog programu z użytkownikiem może mieć postać przedstawioną na Rysunek 11. Rysunek 11 Powtarzanie obliczeń na życzenie użytkownika Gierka w za dużo, za mało Napisać program realizujący grę polegającą na odgadywaniu liczby wylosowanej przez komputer. Użytkownik próbuje odgadnąć tą liczbę, wprowadzając swoja propozycję. Jeżeli liczba wprowadzona przez użytkownika jest mniejsza od wylosowanej przez program, użytkownik informowany jest, że wprowadził wartość zbyt małą. Jeżeli liczba wprowadzona przez użytkownika jest większa od

16 16 Kilka prostych programów wylosowanej przez program, użytkownik informowany jest, że wprowadził wartość zbyt dużą. Wprowadzenie wartości równej wylosowanej kończy grę. Scenariusz działania programu 1. Program wyświetla informację o swoim przeznaczeniu. 2. Następuje wylosowanie liczby. 3. Wczytanie propozycji użytkownika. 4. Porównanie liczby wylosowanej i wczytane, wyprowadzenie odpowiednich komunikatów. 5. Jeżeli liczba została odgadnięta to koniec gry, w przeciwnym wypadku powrót do pkt. 3. Przykładowa organizacja komunikacji z użytkownikiem Rozszerzenia Rysunek 12 Przykładowy przebieg gry Proszę rozszerzyć program w taki sposób, aby możliwe było powtarzanie odgadywania liczby bez ponownego uruchamiania programu. Powtórzenie to odbywa się po potwierdzeniu przez użytkownika chęci kontynuowania gry. W ramach każdego cyklu odgadywania wylosowanej liczby powinna być zliczana liczba prób, koniecznych do odgadnięcia. Liczba prób powinna zostać wyświetlona po każdorazowym odgadnięciu wylosowanej liczby. Przykładowy przebieg takiej gry ilustruje Rysunek 12. Następnym krokiem może być rozszerzenie programu o określanie przez użytkownika górnego zakresu losowanych liczb, tak, by np. zakres ten mógł wynosić np. od 1 do 10 po wprowadzeniu przez użytkownika na starcie programu wartości 10 jako górnego ograniczenia zakresu losowanych liczb. Zobacz Rysunek 13.

17 Języki programowania język C Rysunek 13 Wersja z powtarzaniem odgadywania i zliczaniem liczby prób Roczne przychody Napisać program Roczne przychody. Program wczytuje kolejno przychody osiągnięte przez podatnika w kolejnych miesiącach roku podatkowego. Wczytuje zatem kolejno 12-cie liczb rzeczywistych. Przychody są przetwarzane na bieżąco (bez magazynowania np. w tablicy). Po wczytaniu danych program wyznacza: 1. sumę przychodów z wszystkich miesięcy, 2. średni przychód miesięcznych, 3. maksymalny i minimalny przychód. Scenariusz działania programu 5. Program wyświetla informację o jego przeznaczeniu. 6. Program wczytuje kolejno przychody z olejnych 12-tu miesięcy. 7. Program wyświetla sumę dochodów, dochód średni, minimalny i maksymalny.

18 18 Kilka prostych programów 8. Program kończy swoje działanie po naciśnięciu przez użytkownika klawisza Enter. Przykładowa organizacja komunikacji z użytkownikiem Przykładowy przebieg wykonania programu prezentuje Rysunek 14. Wymagania Dane maja być przetwarzane na bieżąco, bez ich magazynowania w żadnej złożonej strukturze danych (np. tablicy). Rozszerzenia Proszę rozbudować program tak, by umożliwiał obliczenia dla dowolnej liczby miesięcy. Liczba ta ma być wczytana przez program tuż po rozpoczęciu jego działania Program sędziowski Rysunek 14 Przebieg dialogu z użytkownikiem Napisać program przyśpieszający pracę sędziów w pewnej dyscyplinie sportowej. Jest zwykle 10-ciu sędziów, każdy z nich podaje swoją ocenę punktową, przy czym liczba punktów pochodzi z przedziału od 0 do 10. Program ma wyliczyć średnią ocen sędziów po odrzuceniu ocen skrajnych, czyli oceny minimalnej i maksymalnej. Scenariusz działania programu 1 Program wyświetla informację o jego przeznaczeniu. 2 Program wczytuje kolejno oceny punktowe, kontrolując ich poprawność, 3 Po odrzuceni ocen skrajnych program ocenę średnią. 4 Program kończy swoje działanie po naciśnięciu przez użytkownika klawisza Enter. Wymagania

19 Języki programowania język C Program ma kontrolować wpisywane oceny liczba punktów podana przez każdego sędziego może być z dozwolonego przedziału. Ponieważ startuje wielu zawodników, program po ocenie każdego zawodnika ma pytać się, czy powtórzyć obliczenia dla nowego zawodnika czy tez zakończyć program. Dane maja być przetwarzane na bieżąco, bez ich magazynowania w żadnej złożonej strukturze danych (np. tablicy). Rozszerzenia Proszę rozbudować program tak, by umożliwiał obliczenia dla zmiennej liczby sędziów, przy czym sędziów ma być nie mniej niż 3-ch i nie więcej niż 10-ciu. Liczba sędziów powinna być wczytana przez program tuz po rozpoczęciu jego działania. Prawidłowość liczby sędziów ma być przez program kontrolowana Program dla sprintera Napisać program przyśpieszający ocenę wyników sprintera. Sprinter wielokrotnie pokonuje jednakowy dystans, notując kolejno osiągane czasy. Co jakiś czas zawodnik siada do komputera, wpisuje kolejne czasy i oczekuje, że program wyznaczy mu czas najlepszy, najgorszy oraz średni. Liczba wprowadzanych czasów jest bliżej nieznana. Może ich być np. kilka, kilkanaście, kilkadziesiąt. Scenariusz działania programu Program wyświetla informację o jego przeznaczeniu. Program wczytuje kolejno czasy, kontrolując ich poprawność, przy czym liczba wprowadzonych czasów nie jest z góry ograniczona ani wcześniej zadana. Program wyznacza czas najlepszy, najgorszy i średni. Program kończy swoje działanie po naciśnięciu przez użytkownika klawisza Enter. Wymagania Należy tak skonstruować program, aby pozwalał na obliczenia dla dowolnej liczby czasów, przy czym liczba wprowadzanych danych nie ma być z góry określana (tak jak w przypadku poprzednich ćwiczeń). Można założyć, że ciąg wprowadzanych przez użytkownika czasów kończy pewna wyróżniona liczba, np. 0 lub -1. Program ma kontrolować wpisywane czasy musza on być liczbami nieujemnym. 1.3 Co po tych ćwiczeniach należy umieć? Zakłada się, że po tym ćwiczeniu każdy student potrafi:

20 20 Kilka prostych programów 1. budować krótkie programy realizujące proste obliczenia oraz przetwarzające ciągi liczb, 2. deklarować zmienne i definiować stałe, 3. wykonywać podstawowe operacje we/wy, 4. podejmować decyzje z wykorzystaniem instrukcji warunkowych (if, ifelse, switch), 5. sterować cyklicznym powtarzaniem instrukcji z wykorzystaniem instrukcji iteracyjnych (while, do-while, for). 6. badać poprawność wprowadzanych danych, 7. wyznaczać minimum, maksimum, wartość sumaryczną i średnią dla ciągów liczbowych przetwarzanych na bieżąco.

Kilka prostych programów

Kilka prostych programów Ćwiczenie 1 Kilka prostych programów Ćwiczenie to poświęcone jest tworzeniu krótkich programów, pozwalających na zapoznanie się z takimi elementami programowania jak: definiowanie stałych, deklarowanie

Bardziej szczegółowo

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 1 program Kontynuujemy program który wczytuje dystans i ilości paliwa zużytego na trasie, ale z kontrolą danych. A więc jeśli coś

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Ćwiczenia podstawowe, zestaw 5, część 1

Ćwiczenia podstawowe, zestaw 5, część 1 Ćwiczenia podstawowe, zestaw 5, część 1 1 Napisz zestaw funkcji identyfikujących rodzaj znaku Należy napisać funkcje, pozwalające na identyfikowanie typu znaku przekazanego parametrem. Załóżmy, że tworzymy

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część druga Instrukcje sterujące przebiegiem programu Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe

Bardziej szczegółowo

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część druga Pierwsze programy Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś

Bardziej szczegółowo

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; } #include using namespace std; Prototypy funkcji Funkcja 1 void ela(int); double info (double); int main( ); return 0; Funkcja 2 void ela(int); Funkcja 3 double info(double); return 4*t; jeszcze

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część trzecia Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Zadanie nr 3: Sprawdzanie testu z arytmetyki Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Laboratorium nr 1. i 2.

Laboratorium nr 1. i 2. Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych

Bardziej szczegółowo

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

Bardziej szczegółowo

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

Bardziej szczegółowo

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja Część VIII C++ Przedrostkowa i przyrostkowa inkrementacja i dekrementacja W poprzednim ćwiczeniu operatory inkrementacji i dekrementacji występowały w wersji przyrostkowej. Istnieje inny sposób zapisu

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Laboratorium nr 4: Arytmetyka liczb zespolonych

Laboratorium nr 4: Arytmetyka liczb zespolonych Laboratorium nr 4: Arytmetyka liczb zespolonych 1 Cel ćwiczenia Wykształcenie umiejętności definiowania przeciążeń operatorów arytmetycznych dwuargumentowych i jednoargumentowych dla własnych struktur

Bardziej szczegółowo

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: 1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: * Jan Kowalski * * ul. Zana 31 * 3. Zadeklaruj zmienne przechowujące

Bardziej szczegółowo

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53: Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo