Skocz do zawartości


Zdjęcie

Program wypisujący co drugą liczbę - trudność w zrozumieniu polecenia


  • Zaloguj się, aby dodać odpowiedź
13 odpowiedzi w tym temacie

#1 Krzychu25

Krzychu25

    Zaawansowany użytkownik

  • 1 045 postów

Napisano 29 01 2012 - 12:42

Mam z informatyki takie zadanie:

Napisz program, który, dla podanej liczby naturalnej N większej od zera i tekstu składającego się z małych liter alfabetu angielskiego, wypisze tekst składający się z co N-tej litery tekstu wejściowego zaczynając od pierwszej litery tekstu.
UWAGA:wersja na DB nie sprawdza czy litery są z podanego zakresu, wersja na BDB sprawdza poprawność liter- w przypadku gdy pojawi się znak spoza zakresu ciągu znaków, na końcu , w nowym wierszu wyświetla niewłaściwe znaki.
Podpowiedź: Do kontroli porawności znaków wykorzystaj kody ASCII

Nie mogę zrozumieć co dokładnie ma ten program robić.

Według mnie jest parę opcji:
pierwsza:
1. Program wczytuję co którą liczbę ma wyświetlać oraz ciąg znaków.
2. sprawdza, czy znaki są odpowiednie
3. jeżeli znaki są nieodpowiednie to wyświetla tylko je jako błędne

druga opcja:
1. wczytywanie
2. wypisanie co którejś tam liczby, nie patrząc na to jakie są
3. przejście do nowej linii i wypisanie błędnych

trzecia opcja:
1. wczytywanie
2. sprawdzanie znaków
3. usunięcie niepoprawnych znaków
4. wypisanie co którejś tam liczby z poprawnych znków
5. wypisanie niepoprawnych znaków

No i teraz nie wiem, która z procedur najbardziej odpowiada treści zadania, która jest wg mnie niejasna.

Dla zrozumienia, nie proszę o kod, tylko o wytłumaczenie polecenia :D

Pozdrawiam i życzę miłego dnia.

  • 0

#2 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 29 01 2012 - 13:46

zadanie malo sprecyzowane

nie jest napisane co to za zakres znakow - trzeba go sobie samemu zdefinowac czy co?
napisane jest ze tekst bedzie sie skladal z malych liter alfabetu angielskiego, wiec nie rozumiem jaki znak moglby byc niewlasciwy? przeciez wszystkie te znaki mieszcza sie w ASCII

czy spacja jest traktowana jako znak? w jezyku polskim nie jest to znak, natomiast w informatyce juz tak (tak sam znak nowej linii)

czy sprawdzanie tekstu ma sie odbyc przed wypisaniem N-tych liter (tak zeby je wykasowac) czy chodzi o to, zeby sprawdzic w momencie gdy N-ty znak jest pobierany, zeby go nie wypisywac?


ale jesli nie masz mozliwosci sie odwiedzeic, to bym zrobil Opcje nr 3 bez punktu 3, tylko w chwili wczytania niewlasciwego znaku bym ignorowal jego wypisywanie , ale jednoczesnie zapamietujac go w gronie niewlasciwych znakow, ktore wypisalbym na koniec textu (w nowje linii)

  • 0

#3 Krzychu25

Krzychu25

    Zaawansowany użytkownik

  • 1 045 postów

Napisano 29 01 2012 - 17:14

Czyli to jednak jest tak kiepsko napisane, a nie ja taki głupi.

Zrobiłem metodąa drugą, jak coś będzie źle to nie moja wina, polecenie było niejasne :D
  • 0

#4 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 04 02 2012 - 16:33

Napisz program, który, dla podanej liczby naturalnej N większej od zera i tekstu składającego się z małych liter alfabetu angielskiego, wypisze tekst składający się z co N-tej litery tekstu wejściowego zaczynając od pierwszej litery tekstu.
UWAGA:wersja na DB nie sprawdza czy litery są z podanego zakresu, wersja na BDB sprawdza poprawność liter- w przypadku gdy pojawi się znak spoza zakresu ciągu znaków, na końcu , w nowym wierszu wyświetla niewłaściwe znaki.
Podpowiedź: Do kontroli porawności znaków wykorzystaj kody ASCII

Wszystko jest sensownie.

1) Wczytaj N
2) Sprawdź czy N>0
3) Wczytaj slowo i sprawdź czy litery sa male na podstawie ASCII jeśli nie wczytaj do osobnej tablicy
5)Wypisz na ekranie co N litere z tekstu
6) Wypisz litery z drugiej tablicy które są z poza zakresu

*zakres -> litery małe na podstawie ASCII od 97 do 122

Użytkownik MarcoMarc edytował ten post 04 02 2012 - 16:34

  • 0

#5 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 04 02 2012 - 20:00

sensowne jest, kiedy sam sobie zdefiniujesz warunki w tym zadaniu

rownie dobrze brzmi jak: "stworz program dodajcy dwie liczby?", i teraz pytanie czy maja to byc liczby rzeczywiste, calkowite, naturalne, a moze zespolone? bo dla kazdego przypadku program moze wygladac troche lub zupelnie inaczej
  • 0

#6 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 04 02 2012 - 21:33

Może nie jest to napisane wprost, ale zwróć uwagę na to:

"składającego się z małych liter alfabetu angielskiego" litery małe na podstawie ASCII od 97 do 122

w tym zdaniu znajduje się warunek do

"UWAGA:wersja na DB nie sprawdza czy litery są z podanego zakresu"
  • 0

#7 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 04 02 2012 - 23:59

ok
to teraz jeszcze raz przeczytaj te dwa zdania i napisz jaki Ci wniosek wyszedl?
  • 0

#8 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 05 02 2012 - 10:50

Wniosek jest prosty:
na DB nie sprawdzasz czy litery są małe
na BDB sprawdzasz i to co nie pasuje wrzucasz do 2 tablicy oraz wypisujesz.
  • 0

#9 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 05 02 2012 - 14:56

Dobra, bo widze ze sie nie rozumiemy.

Po pierwszym zdaniu mamy zalozenie, ze tekst sklada sie znakow malych liter alfabetu angielskiego, czyli ze nic innego tam nie ma!
A potem juz mamy, ze ma sprawdzac czy sa spoza zakresu, gdzie jedyny zakres podany to male litery alfabetu angielskiego, a zalozenie (patrz poprzednie zdanie) mowi, ze iinnych znakow nie bedzie.

To nie sa wrozby tylko informatyka. To musi byc konkretnie opisane, a nie ze trzeba sie domyslac o co autorowi chodzilo.
  • 0

#10 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 05 02 2012 - 15:36

Twardo walczysz :E

Napisz program, który, dla podanej liczby naturalnej N większej od zera i tekstu składającego się z małych liter alfabetu angielskiego, wypisze tekst składający się z co N-tej litery tekstu wejściowego zaczynając od pierwszej litery tekstu.

Nie jest napisane, że na wejściu będą małe znaki tylko, że program ma działać (podać wynik) dla tekstu składającego się z małych znaków, a dla innych nie wiadomo co ma robić.
To jest znacząca różnica xD

Niestety według mnie źle to interpretujesz bo tak jak trafnie zauważyłeś pierwsza część to założenia, natomiast kolejna cześć nie dotyczy rozbudowy a obsługi wyjątków.
Czyli w uwagach zapisano, że jeśli chcesz 4 to olej sprawdzanie poprawności INPUT'u, a jak chcesz 5 no to niestety musisz już zrobić werfikację poprawności danych.
A jakie dane wprowadzasz? tekst oraz cyfre czy tam liczbne N. Czyli weryfikacji można poddać jedynie to co jest wprowadzane przez użytkownika.
W warunkach zadania jest, że to mają być małe ang litery więc reasumując o co innego może chodzić autorowi który każe sprawdzić czy znaki są z podanego zakresu? ;]

Użytkownik MarcoMarc edytował ten post 05 02 2012 - 15:37

  • 0

#11 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 05 02 2012 - 17:55

Czyli w uwagach zapisano, że jeśli chcesz 4 to olej sprawdzanie poprawności INPUT'u, a jak chcesz 5 no to niestety musisz już zrobić werfikację poprawności danych.
A jakie dane wprowadzasz? tekst oraz cyfre czy tam liczbne N. Czyli weryfikacji można poddać jedynie to co jest wprowadzane przez użytkownika.
W warunkach zadania jest, że to mają być małe ang litery więc reasumując o co innego może chodzić autorowi który każe sprawdzić czy znaki są z podanego zakresu?

niestety wydaje mi sie, ze kierujesz sie wlasnie tymi uwagami (na DB i BDB) ustalajac pewne zalozenia samemu
niech autor wykaze sie inteligencja i nie kaze domyslac sie, bo Ty roumiesz to w ten sposob, a inna osoba moze pomyslec inaczej

widze co jest napisane i interpretuje to jak scislowiec czyli bezposrednio
moze napisze zamiast:

Napisz program, który dla podanej liczby naturalnej N większej od zera i tekstu składającego się z małych liter alfabetu angielskiego, wypisze tekst składający się z co N-tej litery tekstu wejściowego zaczynając od pierwszej litery tekstu.


w ten:

Napisz program, dla (...) tekstu składającego się z małych liter alfabetu angielskiego, (...).

czyli zadanie wyklucza pojawienie sie innych znakow

wg mnie zadanie jest napisane dobrze do momentu "UWAGA", to wyglada jakby ktos na sile chccial wprowadzic pewna modyfikacje nie szczegolnie martwiac sie o poprzednia czesc zadania

Użytkownik fernandez edytował ten post 05 02 2012 - 17:56

  • 0

#12 Krzychu25

Krzychu25

    Zaawansowany użytkownik

  • 1 045 postów

Napisano 05 02 2012 - 18:03

Hmm z waszych wypowiedzi wynika jedna wspólna teza, a mianowicie: każdy może zrozumieć zadanie inaczej. Także jeżeli nauczyciel nie uzna tego co zrobiłem to będę walczył. Zapytam się we wtorek, na informatyce, o jego interpretacje zadania.

  • 0

#13 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 05 02 2012 - 18:06

jesli napisales program ktory uwzglenia to co napisal w zadaniu to nie powinien sie czepiac

jednak zwracam uwage tylko na to ze jest malo konkretny
  • 0

#14 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 05 02 2012 - 18:12

Obstawiam, że nauczyciel też będzie miał problem z interpretacją :E
Wydaje mi się, że moje rozumowanie jest dobre aczkolwiek przez studia przerobiłem tyle zadań, że mogłem trochę informacji wyciąnąć jakoby z domysłu autora ;]
ogólnie rzecz biorąc tak jak napisał fernandez jak robiłeś sam i według polecenia to się nie martw.

Użytkownik MarcoMarc edytował ten post 05 02 2012 - 18:12

  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych