1 Funkcje i ich wykorzystanie
|
|
- Julian Wolski
- 7 lat temu
- Przeglądów:
Transkrypt
1 1 Funkcje i ich wykorzystanie Ćwiczenie to poświęcone jest tworzeniu programu wykorzystującego podprogramy funkcje jako narzędzia do strukturalizacji i hierarchizacji kodu programu. Program ten pozwala na trening w stosowaniu funkcji. Mimo iż wykonywane w ramach tych ćwiczeń podprogramy są proste, pozwalają one na wyrobienie umiejętności systematycznego budowania programów zawierających większą liczbę linii kodu. Materiał teoretyczny zawarty jest w materiałach wykładowych. 1.1 Figury płaskie Należy program pozwalający na obliczanie pól i obwodów wybranych figur płaskich: kwadratu, prostokąta, koła, trójkąta, trapezu. Scenariusz działania programu: 1. Program wyświetla informację o jego przeznaczeniu. 2. Program wyświetla menu główne pozwalające na wybór figury, dla której mają być wykonane obliczenia. 3. Po wybraniu figury, program wczytuje wymagane dane oraz wyświetla obliczone pole i obwód. 4. Program wraca do menu głównego, pozwalając na powtórzenie obliczeń dla dowolnej figury. 5. Program kończy swoje działanie po naciśnięciu przez użytkownika wybranego klawisza zakończenia. Przykładowa organizacja komunikacji z użytkownikiem Przykładowy przebieg wykonania programu prezentuje, umieszczony dalej Rysunek 1 oraz Rysunek 2. Prototypowa wersja kodu programu przedstawiona jest dalej. Program zawiera przykładową implementację funkcji wczytującej liczbę rzeczywistą (funkcja wczytaj_liczbe_f). Wymagania Program ma być podzielony na procedury i funkcje realizujące spójne funkcjonalnie czynności. Ilustruje to przedstawiony dalej program przykładowy. Po realizacji pierwszej wersji programu, opartej na poniższym szablonie, należy koniecznie rozbudować program o elementy opisane w sekcji Rozszerzenia. 1
2 Rysunek 1. Przebieg dialogu z użytkownikiem menu główne Rozszerzenia Rysunek 2. Obliczenia dla kwadratu i powrót do menu Proszę rozbudować program tak, by dla każdej figury wyświetlał podmenu, pozwalające użytkownikowi wybrać, czy obliczone ma być pole czy też obwód. Należy zastosować schemat analogiczny do zastosowanego w programie głównym. Ponieważ takie podmenu będzie się powtarzać dla każdej z figur, należy obsługę tego podmenu zrealizować np. w postaci funkcji, tak, aby w programie nie powtarzać podobnych sekwencji kodu. Proszę rozszerzyć program o kontrolę poprawności prowadzanych parametrów na etapie ich wpisywania, tak, aby program nie pozwolił na wprowadzenie zerowej lub ujemnej liczby określającej np. bok, czy promień. Kontrolowane prowadzanie danych należy zawrzeć w odpowiednim podprogramie. Program przykładowy #include <stdio.h> #include <stdlib.h> #include <ctype.h> /* Prototypy wykorzystywanych w programie funkcji */ void wyswietl_menu( void ); void obliczenia_dla_kwadratu( void ); void obliczenia_dla_prostokata( void ); void obliczenia_dla_kola( void ); void obliczenia_dla_trojkata( void ); void obliczenia_dla_trapezu( void ); float wczytaj_liczbe_f( char komunikat[] ); void czyszczenie_bufora( void ); float pole_kwadratu( float bok ); float obwod_kwadratu( float bok ); int main() 2
3 int klawisz; puts( "\nobliczam parametry figur plaskich" ); do wyswietl_menu(); klawisz = tolower( getchar() ); fflush( stdin ); switch( klawisz ) case '1' : obliczenia_dla_kwadratu(); case '2' : obliczenia_dla_prostokata(); case '3' : obliczenia_dla_kola(); case '4' : obliczenia_dla_trojkata(); case '5' : obliczenia_dla_trapezu(); default : if( klawisz!= 'z' ) putchar( '\a' ); while( klawisz!= 'z' ); return EXIT_SUCCESS; void wyswietl_menu( void ) puts( "\n1.kwadrat\n2.prostokat\n3.kolo\n4.trojkat\n5.trapez" ); printf( "\nwybierz numer figury lub Z by zakonczyc: " ); void obliczenia_dla_kwadratu( void ) float bok; printf( "\nobliczenia dla kwadratu" ); bok = wczytaj_liczbe_f( "\npodaj dlugosc boku: " ); printf( "Pole : %g\nobwod: %g", pole_kwadratu( bok ), obwod_kwadratu( bok ) ); printf( "\nnacisnij Enter by powrocic do menu..." ); ( void )getchar(); void obliczenia_dla_prostokata( void ) void obliczenia_dla_kola( void ) void obliczenia_dla_trojkata( void ) 3
4 void obliczenia_dla_trapezu( void ) float pole_kwadratu( float bok ) return bok * bok; float obwod_kwadratu( float bok ) return 4 * bok; float wczytaj_liczbe_f( char komunikat[] ) char bufor_tekstowy[ 80 ]; printf( komunikat ); fgets( bufor_tekstowy, 80, stdin ) ; return atof( bufor_tekstowy ); Proszę przeanalizować kod i sposób analogiczny zaprogramować brakujące funkcje. Wiem, że niektóre podprogramy wyglądają na naciągane. Są krótkie, gdyby je wyeliminować, program stałby się krótszy. Nie to jest jednak naszym celem. Celem jest systematyczne i konsekwentne stosowanie podprogramów do podziału programu na funkcjonalnie spójne fragmenty oraz do wyeliminowania powtarzających się fragmentów kodu. 1.2 Funkcje identyfikujące rodzaj znaku Należy napisać funkcje, pozwalające na identyfikowanie typu znaku przekazanego parametrem. Rozważmy funkcję: int is_lower( char c ); Rezultatem funkcji ma być wartość 0, jeżeli znak c nie jest małą literą, lub wartość różną od zera (np. 1), gdy znak c jest małą literą. Wykorzystanie funkcji może być następujące: int main() char znak; printf( "Wprowadz mala litere; " ); znak = getchar(); if( is_lower( znak ) ) printf( "Wprowadziales mala litere %c", znak ); else printf( "Nie wprowadziles malej litery!");... Pozostałe funkcje mogą być wykorzystane w analogiczny sposób. int is_upper( char c ); 4
5 Rezultatem funkcji ma być wartość 0, jeżeli znak c nie jest dużą literą, lub wartość różną od zera (np. 1), gdy znak c jest dużą literą. int is_digit( char c ); Rezultatem funkcji ma być wartość 0, jeżeli znak c nie jest cyfrą dziesiętną, lub wartość różną od zera (np. 1), gdy znak c jest cyfrą dziesiętną. int is_oct_digit( char c ); Rezultatem funkcji ma być wartość 0, jeżeli znak c nie jest cyfrą ósemkową, lub wartość różną od zera (np. 1), gdy znak c jest cyfrą ósemkową. int is_hex_digit( char c ); Rezultatem funkcji ma być wartość 0, jeżeli znak c nie jest cyfrą szesnastkową, lub wartość różną od zera (np. 1), gdy znak c jest cyfrą szesnastkową. 1.3 Funkcje zamiany wielkości liter Należy napisać funkcje, pozwalające na zamianę wielkości znaku, będącego literą, odpowiednio z dużej na małą, oraz z małej na dużą (zakładamy wykorzystanie kodu ASCII): char to_lower( char c ); char to_upper( char c ); Jeżeli funkcja to_lower otrzyma w parametrze c znak będący dużą literą, rezultatem funkcji ma być odpowiednia mała litera. Jeżeli znak c nie jest dużą literą, rezultatem funkcji ma być znak c. Analogicznie, jeżeli funkcja to_upper otrzyma w parametrze c znak będący małą literą, rezultatem funkcji ma być odpowiednia duża litera. Jeżeli znak c nie jest małą literą, rezultatem funkcji ma być znak c. Należy wykorzystać fakt, że przesunięcie pomiędzy literami dużymi a małymi w kodzie ASCII wynosi 32 (zobacz materiały wykładowe). Wykorzystanie funkcji to_lower może być następujące: int main() char znak; printf( "Wprowadz mala litere; " ); znak = getchar(); if(! is_lower( znak ) ) printf( "Nie wprowadziles malej litery!"); else znak = to_upper( znak ); printf( "Duzy ddpowiednik wprowadzonej litery to %c", znak );... 5
6 1.4 Wczytywanie liczby z zakresu Należy napisać funkcję: float czytaj_liczbe_z_zakresu( float dol, float gora ); Funkcja odczytuje z klawiatury liczbę rzeczywistą, przy czym pozwala tylko na wprowadzenie liczby należącej do przedziału domkniętego określonego parametrami dol i gora. Odpytywanie użytkownika trwa tak długo, aż zostanie wprowadzona liczba z odpowiedniego zakresu. Należy kontrolować wartości parametrów dol i gora oraz zaproponować metodę sygnalizacji błędu. 1.5 Równanie kwadratowe Dane jest równanie kwadratowe: Ax 2 + Bx + Cx = 0 Należy napisać funkcje wyznaczające deltę, pojedynczy pierwiastek, pierwiastki podwójne. Funkcja obliczająca deltę: float delta( float a, float b, float c ); Funkcja obliczająca pierwiastek podwójny (delta równa zero): float x0( float a, float b, float c ); Funkcja obliczająca dwa pierwiastki (delta większa od zera): float x1( float a, float b, float c, float delta ); float x2( float a, float b, float c, float delta ); Proszę napisać program rozwiązujący równanie kwadratowe w oparciu o te funkcje. 1.6 Układ równań liniowych Dany jest układ równań liniowych A 1 x + B 1 y = C 1 A 2 x + B 2 y = C 2 Rozwiązanie układu równań może polegać na wyliczeniu odpowiednich wyznaczników W, W x, W y a następnie ich ilorazów zgodnie z informacjami poznanym na zajęciach z matematyki. Proszę napisać funkcje wyznaczające wartości wyznaczników: float w( float a1, float b1, float a2, float b2 ); float wx( float c1, float b1, float c2, float b2 ); float wy( float a1, float c1, float a2, float c2 ); Należy zaprojektować i zaimplementować program pozwalający na rozwiązywanie dowolnego układu takich równań. Program powinien umożliwiać wczytanie współczynników A 1, B 1, C 1, B 2, C 2, następnie powinien wyznaczyć rozwiązania równań metodą wyznacznikową. Należy 6
7 identyfikować i prawidłowo zareagować na sytuację, gdy układ jest nieokreślony. 1.7 Suplement problem buforowanego wejścia Funkcja getchar() wczytuje kolejny znak ze strumienia wejściowego stdin. Na poziomie biblioteki funkcji identyfikowanej przez nagłówek stdio.h następuje buforowanie informacji. Można podejrzewać, że buforowanie to jest przyczyną braku natychmiastowej reakcji na naciśnięcie klawisza, konieczne jest potwierdzenie wprowadzanego znaku naciśnięciem klawisza Enter. Niestety nawet zakaz buforowania strumienia (zobacz funkcja setbuf) nie przynosi zwykle rezultatu. Przyczyną jest nałożenie się dwóch mechanizmów buforowania wewnętrznego, właściwego dla biblioteki standardowego wejścia/wyjścia oraz buforowania na poziomie systemu operacyjnego. I to właśnie ten ostatni rodzaj buforowania sprawia problem przy wczytywaniu danych. Istnieją dwa sposoby czyszczenia bufora wypełnionego niechcianymi znakami. Jeden wykorzystuje funkcję fflush, przeznaczoną właśnie do zapisywania buforów systemowych. Wydaje się, że skutecznym sposobem na wyeliminowanie nieodczytanych jeszcze znaków, oczekujących w buforze, będzie: c = getchar(); fflush( stdin ); Rozwiązanie to jest skuteczne i zwykle działa. Dlaczego zwykle? Otóż zastosowanie funkcji fflush powinno się ograniczać do strumieni otwartych dla zapisu i aktualizacji. Dosłownie: The function fflush forces a write of all buffered data for the given output or update stream via the stream's underlying write function.. Zatem funkcja ta nie powinna działać dla strumienia wejściowego stdin, otwartego dla odczytu. Dlaczego zatem działa? Implementacje funkcji bibliotecznych powinny być zgodne z ustalonymi standardami zdefiniowanymi odpowiednio w normach ANSI/ISO. Jednak zdarza się, że norma nie precyzuje pewnych szczególnych przypadków. Powoduje to, że niektóre implementacje różnie zachowują się w owych, niedoprecyzowanych sytuacjach. Zobaczmy inny opis funkcji fflush: If the given stream has been opened for writing operations the output buffer is phisically written to the file. If the stream was open for reading operations the content of the input buffer is cleared..... Według tego opisu wymiecienie bufora strumienia otwartego do odczytu powoduje skasowanie zawartości bufora. I o to nam właśnie chodzi. Niestety, pisząc oprogramowanie o maksymalizowanym stopniu przenośności nie możemy oczekiwać, że pewna funkcja zadziała tak jak chcemy w zakresie swych cech niezdefiniowanych. Zatem dobrze jest zamiast funkcją fflush posłużyć się własną funkcją o implementacji pokazanej niżej. 7
8 /* Funkcja: void clr_input_buffer() Przeznaczenie i opis dzialania Funkcja powoduje wyczyszczenie bufora strumienia stdin, poprzez Odczytanie wszystkich znakow zapisanych w buforze, lacznie ze znakiem \n. Funkcja jest bezparametrowa i nie udostepnia rezultatu */ void clr_input_buffer( void ) while( getchar()!= '\n' ) ; 8
Ć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
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,... ) ;
#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,... ) ;
#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,... ) ;
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
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
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
Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia
Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin
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
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski
Programowanie w C/C++ Instrukcje - konstrukcje powtórka LABORKA Piotr Ciskowski zadanie 1. Licz się ze sobą Napisz funkcję bez argumentów i bez wyniku, która za każdym wywołaniem będzie podawała, ile razy
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
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
Pzetestuj działanie pętli while i do...while na poniższym przykładzie:
Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza
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
Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji
Ćwiczenie nr 3 Temat: Definicje i wykorzystanie funkcji, parametry funkcji Zagadnienia: Definicja funkcji składnia podstawowa. Sposoby przekazania parametrów (argumentów) funkcji: przez wartość, przez
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
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
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
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
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,
INSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
INSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ): while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest
Język C zajęcia nr 5
Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego
1 Definiowanie prostych klas
Ćwiczenie 1 1 Definiowanie prostych klas Ćwiczenie to poświęcone jest poznaniu podstawowych zagadnień związanych z definiowaniem prostych klas. Obejmuje m.in. ćwiczenia pozwalające opanować definiowanie
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,
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
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
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
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
1.1 Wprowadzenie do języka C w pigułce
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
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
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
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
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
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.)
Język C i C++. Podstawy Materiały do samodzielnego opanowania, ale także propozycja zadań na zajęcia laboratoryjne Zagadnienia do opanowania 1) Czym jest standardowe wejście-wyjście (stdio)? 2) Czym może
Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 6: Ciągi znaków mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 listopada 2016 1. Wprowadzenie Instrukcja poświęcona jest zmiennym, które służą do przechowywania
Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych
Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego
1 Wielokrotne powtarzanie tych samych operacji
1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Funkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
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
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),
4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku
Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna
1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.
Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna
Instrukcje sterujące
Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Lekcja 6: Pascal. Procedura i funkcja
Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej
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ęść
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:
Język C, instrukcje sterujące (laboratorium)
Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe
Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF.
Pliki w C++ Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Z każdym strumieniem związany jest wskaźnik bieżącej
main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
IX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
Reprezentacja symboli w komputerze.
Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1 ASCII The American Standard Code for Information Interchange, 1968 r. 7 bitów, liczby z zakresu 0-127
Co nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
1 Przetwarzanie plików
Ćwiczenie 5 1 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.
Ćwiczenie 7. Strumień trójelementowy. A g a EOF... EOF... Wprowadzenie do programowania w języku C. Wskaźnik bieżącej pozycji. bieżącej pozycji.
Ćwiczenie 7 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.
Wskaźniki do funkcji. Wykład 11. Podstawy programowania ( język C ) Wskaźniki do funkcji (1) Wskaźniki do funkcji (2)
Podstawy programowania ( język C ) Wskaźniki do funkcji Wykład 11. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Wskaźniki do funkcji (1) W języku C funkcje nie są zmiennymi, ale
Laboratorium z Podstaw Programowania Zajęcia 1
Laboratorium z Podstaw Programowania Zajęcia 1 ZADANIE 1 Program obliczający pole odcinka kołowego o zadanym promieniu R oraz kącie rozwarcia. Promieo R oraz kąt (w stopniach) należy wczytad z klawiatury.
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem ASCII... J e s t e m t e k s t e m \0...
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
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
Programowanie strukturalne język C - wprowadzenie
Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość
Operacje wejścia/wyjścia odsłona pierwsza
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Wstęp. #define include include include include include include
1 FW WSTĘP 1 1. Wstęp. Przedstawiany tu program po wczytaniu tekstu ze standardowego wejścia wypisuje uporządkowaną alfabetycznie listę słów wraz z liczbą ich wystąpień w podanym tekście. Przez słowo rozumiemy
Zad. 5: Układ równań liniowych liczb zespolonych
Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
1 Przetwarzanie tablic znakowych
1 Przetwarzanie tablic znakowych Ćwiczenie to poświęcone jest poznaniu i przetrenowaniu metod przetwarzania tablic znakowych. Tablice znakowe w języku C i C++ umożliwiają przetwarzanie napisów. Umiejętność
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
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
Kup książkę Poleć książkę Oceń książkę. Księgarnia internetowa Lubię to!» Nasza społeczność
Kup książkę Poleć książkę Oceń książkę Księgarnia internetowa Lubię to!» Nasza społeczność Spis treści WSTĘP 5 ROZDZIAŁ 1. Matematyka Europejczyka. Program nauczania matematyki w szkołach ponadgimnazjalnych
Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1
Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1 ASCII The American Standard Code for Information Interchange, 1968 r. 7 bitów, liczby z zakresu 0-127
for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009
Informatyka 1 zajęcia nr 11 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Łańcuchy znaków 2. Wprowadzanie i wyprowadzanie znaków w i łańcuchów
Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część druga Przetwarzanie tablic znaków Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim
Programowanie w językach wysokiego poziomu
Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie
Ć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
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ś
Podstawy programowania
Podstawy programowania Część dziewiąta Procedury i funkcje 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
Podstawy programowania
Podstawy programowania Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu,
Języki programowania. Tablice struktur, pliki struktur. Część ósma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część ósma Tablice struktur, pliki struktur Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w
for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
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
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
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.
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 9 - sem.iii. Dr inż. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 9 - sem.iii Dr inż. M. Czyżak Język ANSI C tablice znaków Tablice znaków (łańcuchy) Tablice znaków stanowią specjalny rodzaj tablic o budowie ułatwiającej
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres: Funkcje czyli wieloużywalność kodu Omówienie przekazywania argumentów: "przez
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze