Powtórka — dynamiczne wprowadzanie danych
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 45 z 78.
Wyzwanie
ŁatwyWczytuj liczby pojedynczo, aż użytkownik wpisze "end". Dla każdej liczby sprawdź, czy jest dodatnia, czy ujemna. Prowadź dwa osobne liczniki: jeden dla liczb dodatnich, a drugi dla liczb ujemnych. Zera nie należy zaliczać do żadnej z kategorii.
Po zakończeniu pętli (gdy zostanie wpisane "end") wypisz liczniki w osobnych wierszach za pomocą cat() w następującym formacie:
Positive: X
Negative: YGdzie X to liczba liczb dodatnich, a Y to liczba liczb ujemnych.
Na przykład, jeśli dane wejściowe to:
5
-3
0
8
-1
-7
endWynik powinien wyglądać tak:
Positive: 2
Negative: 3Liczby dodatnie to 5 i 8 (liczba: 2). Liczby ujemne to -3, -1 i -7 (liczba: 3). Zero nie jest zaliczane.
Spróbuj swoich sił
# Odczytaj dane wejściowe ze stdin
con <- file("stdin", "r")
# Zainicjalizuj liczniki
positive_count <- 0
negative_count <- 0
# TODO: Napisz tutaj swój kod
# Użyj pętli repeat, aby odczytywać liczby, aż zostanie wprowadzone "end"
# Dla każdej wartości wejściowej:
# - Sprawdź, czy to "end", aby przerwać pętlę
# - Przekształć wartość na liczbę i sprawdź, czy jest dodatnia, czy ujemna
# - Zaktualizuj odpowiedni licznik (nie licz zera)
# Wyświetl wyniki
cat("Positive:", positive_count, "\n")
cat("Negative:", negative_count, "\n")Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne (AND, OR)Operatory logiczne, część 2 (NOT)Powtórka — prosta logikaLogika wektoryzowana, część 1Logika wektoryzowana, część 27Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz2Zmienne i typy danych
Liczbowy typ danychCałkowity typ danychZnakowy typ danychLogiczny typ danychSprawdzanie typów danychKonwencje nazewnictwaBrakujące wartości: NAPodsumowanie – tworzenie zmiennych8Pętle
Pętla forPętla whilePrzerwijNastępna iteracja (continue)Powtórka — silniaGenerowanie sekwencji (seq, :)Pętle zagnieżdżonePowtórka — dynamiczne wprowadzanie danych3Operatory, część 1
Operatory arytmetyczneDzielenie całkowite i moduloOperatory przypisaniaPowtórka — prosta matematykaOperatory porównania6Podstawowe wejście/wyjście
Wyświetlanie danychCat jako wyjścieWyjście z użyciem zmiennychOdczyt danych wejściowych za pomocą readline()Podstawy konwersji typówPowtórka — kalkulator wiekuPowtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumenty funkcjiWartości zwracanePowtórzenie — funkcja SigmaPowtórzenie — funkcja walidującaDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator R online