Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Wercyngoteryx

Jak przy pomocy petli sprawdzajacej warunek na poczatku

Rekomendowane odpowiedzi

rób
 instrukcje
dopóki warunek

 

Zamieniasz na

instrukcje
dopóki warunek
 instrukcje

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

rób
 instrukcje
dopóki warunek

 

Zamieniasz na

instrukcje
dopóki warunek
 instrukcje

 

Ale to się ma do tematu? Z tego pierwszego przykładu wynika że warunek sprawdzany jest w pętli na końcu. Chodzi o konstrukcje w której pętla z warunkiem sprawdzanym na początku jest sprawdzany na końcu. Zreszta do konca sam tego nie ogarniam, ale takie miałem pytanie na egzaminie :P Jakbym wiedział to bym nie pytał.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z tego pierwszego przykładu wynika że warunek sprawdzany jest w pętli na końcu.

 

Tak. A drugi przykłąd działa tak jak pierwszy, ale wykorzystuje pętlę z warunkiem sprawdzanym na początku.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak. A drugi przykłąd działa tak jak pierwszy, ale wykorzystuje pętlę z warunkiem sprawdzanym na początku.

 

Ok, dzięki. Choć dalej nie moge przełknąć tego jako odpowiedź na pytanie z egzaminu :E

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jak brzmiało dokładnie pytanie? Bo to w tytule tematu to pewnie z pamięci.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jak brzmiało dokładnie pytanie? Bo to w tytule tematu to pewnie z pamięci.

 

1. Sposób realizacji pętli z warunkiem sprawdzania na końcu mając do dyspozycji pętle z warunkiem sprawdzania na poczatku.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. Sposób realizacji pętli z warunkiem sprawdzania na końcu mając do dyspozycji pętle z warunkiem sprawdzania na poczatku.

może być np tak:

zmienna = 1;
while (zmienna)
{
 //instrukcje
 if (!warunek) zmienna = 0;
}

 

w ten sposób pętla się wywkona minimum 1 raz, i jak warunek (sprawdzany na koncu) nie zostanie spełniony pętla nie wykona się kolejny raz :) wykonane na pętli sprawdzającej warunek na początku (tak jak w założeniu zadania), jest to bardzo nieoptymalne, ale można tak to rozwiązać ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jest to bardzo nieoptymalne, ale można tak to rozwiązać ;)

No właśnie nie jest tak strasznie nieoptymalne, w końcu w każdym obrocie masz tylko dodatkowe sprawdzenie prostego warunku. W moim rozwiązaniu tego nie ma, ale za to jest duplikacja kodu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No właśnie nie jest tak strasznie nieoptymalne, w końcu w każdym obrocie masz tylko dodatkowe sprawdzenie prostego warunku. W moim rozwiązaniu tego nie ma, ale za to jest duplikacja kodu.

 

Też nie widzę powodu dlaczego miało by to być nieoptymalne. Jedna instrukcja na obrót to naprawdę pestka... ;)

 

Przypominam również że w części języków występuje konstrukcja:

 

do {
 instrukcje
} while(warunek)

Która działa tak, jak chce autor. Oczywiście nie we wszystkich, wiadomo, ale jeśli jest to warto z niej korzystać zamiast pisać kod 2x choćby dla samej czytelności.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Też nie widzę powodu dlaczego miało by to być nieoptymalne. Jedna instrukcja na obrót to naprawdę pestka... ;)

 

Przypominam również że w części języków występuje konstrukcja:

 

do {
 instrukcje
} while(warunek)

Która działa tak, jak chce autor. Oczywiście nie we wszystkich, wiadomo, ale jeśli jest to warto z niej korzystać zamiast pisać kod 2x choćby dla samej czytelności.

ale tutaj właśnie nie chodzi o do-while :P jeszcze raz przeczytaj temat ;)

 

to że jest nieoptymalnie, właśnie odniosłem się do tego że są bardziej optymalne metody rozwiązania tego ( np wyżej wspomniane do-while ) ;) wiadomo - przy mniej rozbudowanych programach takie zwielokrotnienie warunków nie ma znaczenia, jednak przy bardziej rozbudowanych projektach optymalizacje mają spore znaczenie ;) ale to tak na zaś ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ale tutaj właśnie nie chodzi o do-while :P jeszcze raz przeczytaj temat ;)

 

to że jest nieoptymalnie, właśnie odniosłem się do tego że są bardziej optymalne metody rozwiązania tego ( np wyżej wspomniane do-while ) ;) wiadomo - przy mniej rozbudowanych programach takie zwielokrotnienie warunków nie ma znaczenia, jednak przy bardziej rozbudowanych projektach optymalizacje mają spore znaczenie ;) ale to tak na zaś ;)

 

Doskonale zdaję sobie z tego sprawę, ale prawdy są takie, że:

 

1. jak ktoś zna do-while (a powinien, o ile w danym języku jest ta pętla) to powinien wiedzieć jak to napisać i jak działa

2. za pomocą dowolnej pętli da się wyrazić dowolną inną bez większego problemu (tj. za pomocą np. while'a da się zbudować do-while, for itp.) bo to tylko ficzer do przyśpieszania pracy, bo akurat często się takich pętli wykorzystuje. Są języki, które mają znacznie więcej takich ułatwień - np. ruby, gdzie można użyć:

 

5.times { ... }

co fajnie się czyta i skraca trochę kod (czasami), ale bez problemu da się napisać w dowolnej innej pętli to.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Podziękowania za odpowiedzi. Na szczęście egzamin zaliczony, ale na przyszłość będę wiedzieć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...