Toto lotek + typ zbiorowy

0

Witam. mam drobny problem...
Otóż na lekcjach otrzymałem zadanie stworzenia programu toto lotek - losującego 6 liczb z zakresu 1-49.
Zrobiłem to bez problemu ale z wykorzystaniem tablic... jednak nauczyciel stwierdził że koniecznie musi być z wykorzystaniem typu zbiorowego(identyfikator_typu = set of typ; ) i dobrze by było gdyby znalazła sie tam pętla repeat .... until.
A właśnie z tym typem zbiorowym mi niezbyt chce działaś ;/ więc prosiłbym o pomoc.

Pozdrawiam

0

A gdzie masz mieć ten typ zbiorowy? Jeżeli w wynikach, to chyba nie ma większego problemu...

type TLiczby = set of 1..49; //typ zbiorowy
...
var
  Liczby : TLiczby;
...
procedure Losowanie6z49;
var
 liczba : byte;
 i : integer;
begin
 randomize;
 i := 0;
 repeat
   liczba := random(48)+1;
   if not (liczba in Liczby) then
     begin
       include(liczby,liczba);
       inc(i);
     end;
 until (i = 6);
 for I := 1 to 49 do
   begin
     if i in liczby then caption := caption + inttostr(i)+',';
   end;
end;

Działa. Sprawdzone.

0

I to jest to co najbardziej mnie denerwuje w nauczycielach informatytki (programowania). Nosz ku**a mać, jesli działa, to po co zmieniac? Ja dostałem kiedys 1 za to, ze w zadaniach na pętle repeat, z uporem maniaka uzywałem procedur, pętli for i tablic. Nauczycielka powiedzaiła: 'Nie wolno i juz'. Ot, argumentacja, jak na informatyka przsytało. :|

0

Weź pod uwagę, że nauczyciel chce może skontrolować, czy nauczyłeś się tego, co chciał, żebyś się nauczył. Sam niejednokrotnie miałem sytuację, w której coś napisałem innym sposobem, może wydawał się bardziej skomplikowany (albo inaczej sobie to tłumaczyłem) tylko po to, żeby ukryć przed kimś swoją niewiedzę. Proszą Cię o wykonanie zadania za pomocą takiej a takiej konstrukcji - wykonaj to zadanie za pomocą żądanej konstrukcji. Koniec kropka. Jeśli na maturze dostajesz polecenie "Korzystając z tego a z tego policz to a tamto" albo "Ze znajomości lektury tej-a-tej wykaż, że", to nie kombinujesz z inną, bo pomimo tego, że możesz napisać pięknie, dostajesz 0, za niezrozumienie polecenia.

0

Zadanie brzmi tak jak brzmi... (śmiesznie to brzmi)
Rozwiązanie podał FRICKLE
OLEK'u możesz się denerwować, ale dydaktyka to trochę coś innego niż praktyka, o czym napisał BRODNY.

A że takie losowanie jest do chrzanu to inna rzecz.
Skonstruowanie dobrych zadań/przykładów to jak widać trudna sprawa.

0

Pytanie, czy takie w ogóle istnieją. Przykład ma zademonstrować jakąś konstrukcję "w akcji". Ze względu na naukę podstaw języka, przykłady są proste (a także ze względu na to, żeby niepotrzebnie nie mieszać - przykład konstrukcji A jest przykładem konstrukcji A, a nie przykładem konstrukcji A działającej w połączeniu z konstrukcjami B, C i X). Sam mam tego typu problemy co tydzień na wykładach z podstaw programowania. Wykładowca, skądinąd świetny programista C, daje do Javy (chociaż w C byłoby podobnie) przykłady, za przeproszeniem, z d... wzięte. Mnie osobiście one nudzą i niczego dodatkowego nie wnoszą, bo
a) są wymyślone na siłę, jak to przykłady,
b) (wynika z a) mało ciekawe,
c) niepotrzebne, bo już trochę popisałem, choćby w innych językach.
Ale widzę, jakie to problemy sprawia ludziom, którzy nie mieli jeszcze do czynienia z programowaniem. Dla nich nawet najgłupszy przykład to bardzo cenna pomoc, sprawozdanie z pola bitwy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1