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

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania

Język C zajęcia nr 5

Wstęp do Programowania, laboratorium 02

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE.

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

if (wyrażenie ) instrukcja

Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1

Język C, instrukcje sterujące (laboratorium)

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

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

if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; a > b - a większe od b if (warunek) instrukcja1; a <= b - a mniejsze lub równe b

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if

3. Instrukcje warunkowe

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

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

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

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

dr inż. Jarosław Forenc

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

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

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

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

Programowanie w języku Python. Grażyna Koba

2 Przygotował: mgr inż. Maciej Lasota

4. Funkcje. Przykłady

Podstawy programowania C. dr. Krystyna Łapin

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

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

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Struktura pliku projektu Console Application

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

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

Wskaźniki w C. Anna Gogolińska

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

Wstęp do programowania

dr inż. Jarosław Forenc

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

1 Podstawy c++ w pigułce.

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Celem tego projektu jest stworzenie

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

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

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 Podstawy c++ w pigułce.

Instrukcja warunkowa i złoŝona.

Język C część 2. Podejmowanie decyzji w programie. if else. switch

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

Podstawy i języki programowania

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Cw.12 JAVAScript w dokumentach HTML

Pliki. Informacje ogólne. Obsługa plików w języku C

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Język C zajęcia nr 7. Uwagi dotyczące stylu programowania

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

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.

Odczyt danych z klawiatury Operatory w Javie

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

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

Podstawowe typy zmiennych

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Języki programowania zasady ich tworzenia

ZMIENNE. Podstawy PHP

Proste algorytmy w języku C

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

Zapis algorytmów: schematy blokowe i pseudokod 1

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

Laboratorium_1: Temat: Wprowadzenie do języka C++ 1. Operatory. Arytmetyczne

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

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

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

Praca domowa nr 1. a a b a b ; b c. c a bc d ef gh. 2) Napisz kod sprawdzający poniższe warunki sformułowane w języku naturalnym:

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Konstrukcje warunkowe Pętle

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

Argumenty wywołania programu, operacje na plikach

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Zmienne, stałe i operatory

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Transkrypt:

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ś algorytm bardzo często to, co program ma zrobić dalej, zależy od jakiejś zmiennej zależnie od jej wartości program zachowa się w jeden albo drugi sposób. Do tworzenia takiego zachowania służy instrukcja warunkowa if. Instrukcja ta sprawdza wyrażenie logiczne i zależnie od tego czy jego wynik jest prawdziwy, czy nie wykonuje instrukcje, albo nie. Wygląda to tak: if(wyrażenie) Zamiast wyrażenie podstawiamy dowolne wyrażenie zwracające wartość prawda lub fałsz jak np. zmienna1 > 5, zmienna1 == 3, zmienna1!= 0 lub dowolne inne. Warto zwrócić uwagę na to, że porównanie w C wykonujemy poprzez wstawienie podwójnego znaku równości. Pojedynczy jak widzieliśmy wcześniej, jest operatorem przypisania wartości do zmiennej. Należy o tym pamiętać, ponieważ jeśli wstawimy pojedynczy znak równości, to wyrażenie będzie prawdziwe, jeśli tylko uda się do zmiennej przypisać wartość, a z reguły się to udaje. Nierówność, jak widać w przykładzie, zapisujemy jako!=. Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Instrukcja if może mieć też opcjonalną część oznaczającą w przeciwnym wypadku. W ten sposób nasz program może np. sprawdzić czy zmienna jest równa zero i jeśli tak to wykonać jakąś czynność, a jeśli nie to zrobić coś zupełnie innego: if(wyrażenie) 1

Przykładowy program może wyglądać tak: #include <stdio.h> int main(void) int zmienna; printf("podaj wartosc zmiennej: "); scanf("%d", &zmienna); if(zmienna > 10) printf("zmienna ma wartosc %d i jest wieksza niz 10\n", zmienna); printf("zmienna ma wartosc %d i jest mniejsza niz 10\n", zmienna); return 0; 2

W tym programie po kolei: deklarujemy zmienną typu całkowitego, drukujemy tekst zachęcający do wprowadzenia wartości dla zmiennej, pobieramy z klawiatury wartość do zmiennej (nie będę w tej chwili pisał o szczegółach, ale do pobierania wartości z klawiatury służy funkcja scanf, która przyjmuje parametry tak samo jak funkcja printf tylko nazwa zmiennej musi być poprzedzona znakiem & ), no i korzystając z instrukcji if wyświetlamy komunikat i wartość zmiennej. Można też łączyć ze sobą wiele bloków warunkowych, aby budować bardziej złożone warunki: if(wyrażenie) if(wyrażenie) W ten sposób program może rozpoznawać nawet bardzo złożone przypadki i podejmować działania zależnie od potrzeb. Zmodyfikujmy zatem nasz dotychczasowy program, aby mógł służyć jako prosty kalkulator. Program będzie pytał użytkownika, jaką operację chce wykonać, a następnie prosił o cyfry, na których ma operować: 3

#include <stdio.h> int main(void) int zmienna, cyfra1, cyfra2, wynik; printf("jaką operację chcesz wykonać?\n1) dodawanie\n2) odejmowanie\n3) mnożenie\n4) dzielenie\n"); scanf("%d", &zmienna); printf("podaj pierwszą cyfrę do operacji: "); scanf("%d", &cyfra1); printf("podaj drugą cyfrę do operacji: "); scanf("%d", &cyfra2); if(zmienna == 1) wynik = cyfra1 + cyfra2; if(zmienna == 2) wynik = cyfra1 - cyfra2; if(zmienna == 3) wynik = cyfra1 * cyfra2; if(zmienna == 4) wynik = cyfra1 / cyfra2; 4

printf("wybrales nieistniejaca opcje\n"); return 1; printf("wynik wynosi: %d\n", wynik); return 0; Kod programu powinien być całkowicie zrozumiały: Na początku deklarujemy zmienne i wczytujemy wartości do nich. Później na podstawie zmiennej zmienna program wybiera, jaką operację wykonać i przeprowadza ją, a na końcu wyświetlany jest wynik. Warto zwrócić uwagę na ostatnią operację zostanie ona wykonana, jeśli wszystkie inne warunki będą fałszywe. Jeśli zmienna służąca do wyboru operacji nie będzie z zakresu od 1 do 4 to zostanie wyświetlona informacja o wybraniu złej opcji oraz program zakończy działanie z kodem 1 (każdy kod poza 0 zwyczajowo uznawany jest za kod błędu). Bloki warunkowe można też zagnieżdżać wewnątrz siebie tworząc bardziej szczegółowe decyzje. Dodajmy do naszego dzielenie sprawdzenie czy użytkownik nie próbuje dzielić przez zero: #include <stdio.h> int main(void) int zmienna, cyfra1, cyfra2, wynik; printf("jaką operację chcesz wykonać?\n1) dodawanie\n2) odejmowanie\n3) mnożenie\n4) dzielenie\n"); scanf("%d", &zmienna); printf("podaj pierwszą cyfrę do operacji: "); scanf("%d", &cyfra1); printf("podaj drugą cyfrę do operacji: "); scanf("%d", &cyfra2); if(zmienna == 1) wynik = cyfra1 + cyfra2; if(zmienna == 2) wynik = cyfra1 - cyfra2; if(zmienna == 3) wynik = cyfra1 * cyfra2; if(zmienna == 4) 5

if(cyfra2 == 0) printf("nie wolno dzielic przez zero\n"); return 1; wynik = cyfra1 / cyfra2; printf("wybrales nieistniejaca opcje\n"); return 1; printf("wynik wynosi: %d\n", wynik); return 0; Wygląda to dokładnie tak samo jak normalne używanie bloków warunkowych. Jak widać, nie użyliśmy tutaj opcjonalnej części, ponieważ jeśli warunek będzie prawdziwy to program i tak zakończy działanie więc nie trzeba pilnować, aby pozostały kod nie został wykonany. Warunek może być oparty na kilku rzeczach. Wyrażenia można ze sobą łączyć za pomocą operatorów logicznych: lub oraz i &&. W ten sposób, gdybyśmy np. chcieli wykonać jakąś operację tylko jeśli obie zmienna są różne od zera, warunek zapisalibyśmy jako (zmienna1!= 0) && (zmienna2!= 0). W takich przypadkach warto brać wyrażenia cząstkowe w nawiasy, aby nie było wątpliwości, co z czym łączymy. Zadania: Wczytaj z klawiatury trzy zmienne i wypisz je po kolei od największej do najmniejszej (bonus: program powinien uwzględniać możliwość, że liczby są równe). Napisz program wczytujący trzy zmienne i sprawdzające czy z odcinków o takich długościach da się zbudować trójkąt. Napisz program, który sprawdza czy wpisana liczba jest liczbą parzystą i wypisująca informację czy jest czy nie. 6