Zkouska 23.1.2006

Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Zkouska 23.1.2006

Příspěvek od Almer »

Tak, prichazim se zpravami jak to vypada.

No uff, dostanete zadani (2 Verze A, B) a zacnete vypracovat. Postupne chodi od kazdeho ke kazdemu a vyrusi vas s tim, ze mate predvest sve vytvory. Nevim jako moc do toho kefra, ale myslim, ze kdyz účelně porušily ty jeji pravidla, tak ze vam to aji sezere a da se s ni diskutovat.

A co se tyce zkousky? Klasicke slozeni, kontingecni tabulka, plus nejaky hracky stylu kalendar a potom jeste nejake filtry(Ne primo ony, ale pouziti veci jako KDYZ, COUNTIF, SUMIF, A, NEBO atd...atd..) no a nakonec popularni VBA scripticek. U nas se mela naprogramovat fce, ktera dostane datum a cislo a vyplivne datum kde mesic je zmenen o tohle cislo. Melo to byt i zaporne cislo a pokud by nahodou z 31.5.2005, -3 se stalo 31.2.2005 tak se to ma oseknout na rozsah toho mesice.

A tekda vysledky, co vim, tak byla snad jedna dvojka, a pak jen 1 a 4. Trojka snad zadna. Proste das nedas. Ja osobne sem mel vsechny tabulky a atd vzorove, ale nemel ten VBA script..a prijdu si priste...
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Uživatelský avatar
JJ
Matfyz(ák|ačka) level II
Příspěvky: 99
Registrován: 28. 1. 2005 14:03
Typ studia: Informatika Mgr.

Příspěvek od JJ »

Jenom dodatek. Druha skupina mela ve VBA napsat skript, ktery obarvi v oznacene oblasti vsechny bunky, ktere jsou rozdilne od prumeru oblasti o +-25%
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Příspěvek od Almer »

No tak sem se kouknul , ze co sme to dneska meli..a mel jsem to za 4 minuty....kurvaaaaaaaaaaaaaaaaaaaaaa...stres....a mohl jsem to mit..a mel jsem na to vice, jak 45 minut

Tady to prikladam

Kód: Vybrat vše

Function MProm(datum As Date, modifikator As Integer) As Date
    Dim Rok As Integer
    Dim Mesic As Integer
    Dim Den As Integer
    Rok = Year(datum)
    Mesic = Month(datum)
    Den = Day(datum)
    
    Mesic = Mesic + modifikator
    
    If Mesic > 12 Then
        Rok = Rok + Mesic / 12
        Mesic = Mesic Mod 12
    End If
    
    If Mesic < 1 Then
        Rok = Rok - ((1 - Mesic) / 12)
        Mesic = 12 - Abs(Mesic) Mod 12
    End If
    
    Select Case Mesic
        Case 4, 6, 9, 11
            If Den > 30 Then
                Den = 30
            End If
        Case 2
            If (Rok Mod 400 = 0) And (Den > 29) Then
                Den = 29
            ElseIf (Den > 28) Then
                Den = 28
            End If
    End Select
    
    
    MProm = DateSerial(Rok, Mesic, Den)
    
End Function
Myslim, ze lepe vymyslet, se to moc neda..snad jedine, kdyz si spoctete rozdil mezi dvema daty.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Příspěvek od Almer »

A pro uspech pridavam i dalsi kod.

Kód: Vybrat vše

Function Prumer(Oblast As Range) As Double
    Dim Suma As Integer
    Dim Pocet As Integer
    Dim Bunka As Range
    
    Pocet = 0
    Suma = 0
    
    For Each cell In Oblast
        Set Bunka = cell
        Suma = Suma + Bunka.Value
        Pocet = Pocet + 1
    Next cell
    
    Prumer = Suma / Pocet
    
End Function

Sub Makro1()

    Dim Pr As Double
    Dim Bunka As Range
    Dim List As Worksheet
    Dim Oblast As Range
    
    Set List = ThisWorkbook.ActiveSheet
    List.Range(ActiveCell, ActiveCell).CurrentRegion.Select
    Set Oblast = Selection
    
    Pr = Prumer(Oblast)
    
    For Each cell In Oblast
        Set Bunka = cell
        If (Bunka.Value < Pr * 0.75) Then
            Bunka.Interior.ColorIndex = "4"
        ElseIf (Bunka.Value > Pr * 1.25) Then
            Bunka.Interior.ColorIndex = "3"
        End If
    Next cell
    
End Sub
Zde se staci postavit do souvisle tabulky, ona se vybere sama a pak uz to jede.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
KubaKuba

Příspěvek od KubaKuba »

Jen tak pro úplnost, to datum stacilo takhle: :)

Kód: Vybrat vše

Function MPosun (datum as Date, kolik as Double) As Date
MPosun = DateAdd("m",kolik,datum)
End Function
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Příspěvek od Almer »

No co rict....jen...sice mi to tvralo asi 4 minuty (neni asi tak moc vice...) ale to tve...klobouk dolu...Looser

No co uz, taky jsem odesel z te zkousky za 4.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Typ studia: Informatika Mgr.
Bydliště: PPraha
Kontaktovat uživatele:

Příspěvek od macbeth »

almer, mam pocit, ze ten tvoj kod na posun datumu nefunguje...

keby niekto chcel, tak vid skuska 13.2.
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Příspěvek od Almer »

macbeth píše:almer, mam pocit, ze ten tvoj kod na posun datumu nefunguje...
Jakto? co tam vidis za problem?
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Typ studia: Informatika Mgr.
Bydliště: PPraha
Kontaktovat uživatele:

Příspěvek od macbeth »

pri posune vpred (kladny modifikator) meni rok niekedy na prechode 6. a 7. mesiaca (alebo 5. a 6.)

pri posune vzad tiez meni roky inokedy (medzi 7. a 8. mesiacom resp 6. a 7. mesiacom)

si skus dat zaradom posun o 1,2,3,... mesiace vpred a vzad a uvidis...
Zamčeno

Zpět na „Aplikační software“