Wstęp do Programowania, laboratorium 02



Podobne dokumenty
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

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

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

Część 4 życie programu

2 Przygotował: mgr inż. Maciej Lasota

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

Zmienne, stałe i operatory

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

1 Podstawy c++ w pigułce.

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Podstawy Programowania.

3. Instrukcje warunkowe

I - Microsoft Visual Studio C++

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

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

Podstawy Programowania

4. Funkcje. Przykłady

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

1 Podstawy c++ w pigułce.

Język C zajęcia nr 11. Funkcje

Podstawy programowania C. dr. Krystyna Łapin

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

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

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

5 Przygotował: mgr inż. Maciej Lasota

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

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

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!

Proces tworzenia programu:

Programowanie strukturalne i obiektowe. Funkcje

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

#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 ); }

Proste algorytmy w języku C

Wstęp do programowania

#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 ); }

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

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

Wyrażenia arytmetyczne

C++ wprowadzanie zmiennych

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

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

Funkcja (podprogram) void

1. Wprowadzenie do C/C++

x szereg(x)

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Programowanie strukturalne i obiektowe

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Pytania sprawdzające wiedzę z programowania C++

Tablice, funkcje - wprowadzenie

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 3 - sem.iii. Dr inż. M. Czyżak

Struktura pliku projektu Console Application

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

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

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

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1

Programowanie komputerowe. Zajęcia 1

Wskaźniki. Informatyka

1. Wprowadzenie do C/C++

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podział programu na moduły

Proste algorytmy w języku C

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

Język C, tablice i funkcje (laboratorium)

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wstęp do informatyki- wykład 9 Funkcje

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

IX. Wskaźniki.(3 godz.)

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

Jerzy Nawrocki, Wprowadzenie do informatyki

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wstęp do informatyki- wykład 11 Funkcje

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Programowanie w elektronice: Podstawy C

Wstęp do programowania. Wykład 1

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

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

Argumenty wywołania programu, operacje na plikach

Informatyka I: Instrukcja 4.2

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Język C, tablice i funkcje (laboratorium, EE1-DI)

I. Podstawy języka C powtórka

Wskaźniki w C. Anna Gogolińska

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Katedra Elektrotechniki Teoretycznej i Informatyki. sem. II - wykład 6. Dr hab. inż. M. Czyżak

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

Transkrypt:

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 i wypisujący na ekran: 1. największą z nich, 2. ich sumę, 3. ich iloraz, 4. ich średnią wartość. Zadanie 3. Napisać program który wypisuje rozwiązania równania ax^2+bx+c=0. Użytkownik podaje wartości rzeczywiste a, b i c. Wypisać wartość równania dla znalezionych rozwiązań.

Instrukcje gcc gcc plik.c gcc plik.c -o program.exe gcc plik1.c plik2.c folder/kod.c../projekt2/main.c./a.out /home/user/a.out kompilator do języka C kompilacja pliku plik.c. Plik ze skompilowanym programem ma nazwę a.out kompilacja pliku plik.c. Plik ze skompilowanym programem ma nazwę program.exe kompilacja kilku plików do jednego programu uruchomienie programu a.out (plik znajduje się w aktualnie odwiedzanym folderze) uruchomienie programu a.out znajdującego się w folderze /home/user/ Jeśli kompilator nic nie wypisze na ekran kompilacja powiodła się bez problemów. Kompilator może wypisać informacje o ostrzeżeniach (warning) lub błędach (error). Kompilacja nie powiedzie się jeśli wystąpi przynajmniej jeden błąd. Najprostszy program w C: // main oznacza punkt wejściowy programu jest to funkcja która jest wywoływana przy uruchomieniu programu. void jest typem wartości zwracanej przez funkcję main w tym przypadku oznacza, że main nie zwraca nic. Typy zmiennych w C: 1. void nic, 2. char jeden bajt, liczba całkowita (używane do przechowywania tekstu), 3. short dwa bajty, liczba całkowita, 4. int cztery bajty, liczba całkowita, 5. float cztery bajty, liczba zmiennoprzecinkowa (rzeczywista), 6. double osiem bajtów, liczba zmiennoprzecinkowa podwójnej precyzji (więcej możliwych wartości). Klamry oraz oznaczają blok kodu cały kod opisujący co funkcja main ma robić powinien być pomiędzy nimi. // oznacza komentarz tekst wpisany po tych dwóch znakach zostanie zignorowany przez kompilator.

Program wypisujący tekst na ekran: printf("dlugi tekst\nktory bedzie na ekranie\n"); #include oznacza, że w tym miejscu wstwiona zostanie zawartość pliku, do którego ścieżka podana jest dalej. W tym przypadku, dołączony zostanie plik nagłówkowy stdio.h (std I/O, standard input/output, NIE studio.h). Pliki nagłówkowe (.h) przeważnie przechowują deklaracje funkcji informacje o tym, że dana funkcja istnieje. Pliki źródłowe (.c) zawierają definicje funkcji co funkcje robią. Aby móc użyć funkcji, musi być ona wcześniej zadeklarowana. Plik stdio.h zawiera deklarację funkcji printf, która służy do wypisania tekstu na ekran. \n jest znakiem specjalnym oznaczającym przejście do nowej linii. Program wypisujący sumę dwóch liczb: int a, b; int c; a=3; b=4; c=a+b; printf("%d + %d = %d\n", a, b, c); W C wszystkie zmienne muszą być zadeklarowane na początku bloku kodu. printf w tym programie wypisze 3 + 4 = 7 - w miejsce kolejnego %d wstawi wartość kolejnej zmiennej podanej za tekstem. %d oznacza, że wypisana będzie zmienna całkowita (typu int). Więcej informacji o funkcji printf: http://www.cplusplus.com/reference/cstdio/printf/

Program wypisujący iloraz dwóch liczb: int a, b; a=3; b=4; printf("%d / %d = %d\n", a/b); Dzielone są liczby całkowite, dlatego ich wynik też jest liczbą całkowitą dzielenie 3/4 da wartość 0 (wartość po przecinku zostaje odcięta). Aby uzyskać dobry wynik, trzeba zmienić typ zmiennych przy pomocy rzutowania: int a, b; a=3; b=4; printf("%d / %d = %f\n", a, b, (float)a/b); a zamieniane jest w zmienną zmiennoprzecinkową (rzeczywistą). %d służy do wypisania liczb całkowitych, trzeba więc zmienić go na %f wypisanie liczby zmiennoprzecinkowej.

Program pobierający wartości wpisane przez użytkownika int main(int argc, char** argv) int a; float b; scanf("%d", &a); scanf("%f", &b); printf("a ma wartosc %d; b jest rowne %f\n", a, b); return 0; Funkcja main zmieniła się teraz zwraca wartość typu int. Przyjmuje się, że zwrócenie wartości 0 oznacza brak błędu w programie, a dowolna inna kod odpowiedniego błędu (np. 404 nie znaleziono pliku). Wartość zwracana jest przy pomocy return 0;, który powoduje przerwanie wykonywania aktualnej funkcji (w funkcjach zwracających void używa się samego return;). W nawiasach za main pojawiły się dwie zmienne jakie przyjmuje ta funkcja pierwsza z nich przechowuje liczbę argumentów programu (pierwszym argumentem zawsze jest nazwa programu), druga trzyma listę argumentów../a.out liczba argumentów: 1./a.out arg arg2 liczba argumentów: 3./a.out "jeden dlugi tekst" liczba argumentów: 2 Funkcja scanf oczekuje na wpisanie przez użytkownika tekstu lub liczby, a następnie wpisuje je do podanej zmiennej. Pierwsze wywołanie oczekuje na wpisanie przez użytkownika liczby całkowitej, której wartość wpisywana jest do zmiennej a, drugie wywołanie robi to samo dla zmiennej zmiennoprzecinkowej. & oznacza, że przesyłany do funkcji jest adres zmiennej miejsce w pamięci gdzie zmienna jest przechowywana. Bez niego, przesłana zostanie wartość zmiennej. Funkcje modyfikujące wartości zmiennych operują na ich adresach.

Instrukcje warunkowe int main(int argc, char** argv) int a; printf("podaj liczbe calkowita: "); scanf("%d", &a); if(a<0) int minus_a=-a; printf("a jest mniejsze od 0\n"); printf("po zmianie znaku: %d\n", minus_a); return 0; // Tutaj program się kończy, jeśli a<0 else if(a==0) printf("a jest rowne zero\n"); else printf("a jest wieksze od 0\n"); printf("tekst wypisany tylko jeśli a>=0\n"); return 0; Powyższy program poprosi użytkownika o wpisanie dowolnej liczby a następnie wypisze pewne informacje o niej. if oznacza, że kod znajdujący się za nim zostanie wykonany tylko wtedy, kiedy warunek w nawiasie zostanie spełniony (w tym przypadku jeśli a będzie mniejsze od 0). else oznaczają co należy zrobić, jeśli warunek poprzedniego if nie został spełniony. Klamry po if/else if/else można pominąć jeśli za nimi znajduje się tylko jedna instrukcja (wywołanie funkcji, modyfikacja zmiennej itp.). Chcąc zrobić więcej operacji, trzeba stworzyć nowy blok.

Podpowiedzi Ad. 2 if(a>b) if(a>c) printf("najwieksza: %d\n", a); else... else... Ad. 3 http://pl.wikipedia.org/wiki/r%c3%b3wnanie_kwadratowe#rozwi.c4.85zania Upewnić się, że a i b nie są zerami. Możliwe są 2, 1 lub brak rozwiązania. Jeśli a jest różne od zera to równanie jest kwadratowe. Jeśli a jest równe zero, ale b jest różne od zera, to równanie jest liniowe. Obliczanie pierwiastka liczby: #include <math.h> // tutaj jest funkcja sqrt printf("pierwiastek liczby 4: %f\n", sqrt(4));