SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > Off Topic Area

Off Topic Area Hierein gehört alles, was nichts mit PHP, MySQL, Apache oder ähnlichem zu tun hat

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.05.2009, 16:13:02
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
PHP Übungsaufgaben

Manchmal kommt man in Situationen wo man jemanden Übungsaufgaben geben muss / möchte, sei es ein Praktikant oder Schüler oder man möchte selbst sich testen und findet keine. In dem Sinne werde ich hier jetzt ein paar Aufgaben (mit meiner eigenen Lösung die nicht perfekt sein muss) posten.

Aufgabe 1
Erstellen Sie einen Algorithmus für die Funktion holeSonnenstunden(), welche die Sonnenstunden eines Postleitzahlenbreichs aus dem zweidimensionalen Array Sonnenstunden liefert. Der Übergabeparameter ist eine PLZ.
PHP-Code:
// PLZ, Sonnenstunden
$Sonnenstunden = array(
   array(
506061200),
   array(
514911100),
); 
Hinweis:
  • Die Zeilen des Arrays sind nach Postleitzahlen aufsteigend sortiert
  • Wird die Übergebene PLZ Im Array nicht gefunden, so soll die Sonnenstundenzahl der nächstkleineren PLZ Verwendet werden
  • Ist die eingegeben PLZ Kleiner als die kleinste im Array vorhandene PLZ, wird -1 zurückgegeben.
Lösung Aufgabe 1 v.1
PHP-Code:
function holeSonnenstunden($plz)
{
    global 
$Sonnenstunden;

    if(
$plz $Sonnenstunden[0][0])
    {
        return -
1;
    }

    foreach(
$Sonnenstunden as $a)
    {
        if(
$a[0] == $plz)
        {
            return 
$a[1];
        }
    }

    return 
holeSonnenstunden($plz-1);

Zitat:
Zitat von Opendix
Benutzen von global ist kein guter Programmierstyle :)
P.s:
Die Aufgaben und deren Beschreibung sind nicht von mir. Fragen oder andere Lösungsvorschläge würde ich über PM oder anderen thread sehr begrüßen damit dieser hier überschaubar bleibt.

Geändert von Indyk (30.06.2009 um 10:58:20 Uhr) Grund: Hinweis von Opendix, kopierfehler
Mit Zitat antworten
  #2  
Alt 12.05.2009, 17:44:41
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: PHP Übungsaufgaben

Aufgabe 2
Erstellen Sie einen Algorithmus zur Ermittlung der Gesamtvergütung in Euro.

Übergabeparameter:
  • Nennleistung
  • PLZ
  • Abweichung von Süden in Grad
  • Laufzeit
  • Vergütung je kWh
Beschreibung einer Solaranlage (Beispiel)
  • Standort: Köln (PLZ 50606)
  • Jährliche Sonnenstunden: 1.200
  • Nennleistung bei direkter Südausrichtung: 50.000 kWh/kWp
  • Ausrichtung: 31 Grad Abweichung von Süden
  • Anschaffungskosten: 20.000,00 €
  • Betriebsdauer: 20 Jahre
  • Vergütung je kWh: 0,45 €
Hinweis:
  • Die Nennleistung wird nur bei einer Ausrichtung nach Süden und bei 1.800 Std. Sonneneinstrahlung erreicht.
  • Je Grad Abweichung von der Südausrichtung verändert sich die Nennleistung um 0.5%
  • Die Nennleistung einer Solaranlage nimmt je Betriebsjahr linear um 2% ab.

Lösung Aufgabe 2 v.1
PHP-Code:
function verguetung
(
    
$nennleistung,
    
$plz,
    
$abweichung,
    
$laufzeit,
    
$verguetung
)
{
    
// Sonnenstunden für die PLZ holen (siehe Aufgabe 1)
    
$sonnenstunden holeSonnenstunden($plz);
    
    
//+++ 50.000 bei 1800 Sonnenstunden
    
if($sonnenstunden 1800)
    {
        
$p = ($sonnenstunden/1800) * 100;
        
$nennleistung -= $nennleistung $p /100;
    }
    if(
$sonnenstunden 1800)
    {
        
$p = ($sonnenstunden/1800) * 100;
        
$nennleistung += $nennleistung * ($p-100) /100;
    }
    
//---

    // pro abweichung 0.5 prozent weniger
    
if($abweichung 0)
    {
        
$p $abweichung 0.5;
        
$nennleistung -= $nennleistung $p/100;
    }

    
// pro jahr 2% weniger
    
$p $laufzeit 2;
    
$nennleistung -= $nennleistung $p/100;

    
$cent = ($nennleistung*$laufzeit)*$verguetung;
    
$euro number_format(($cent/100), 2',''.');
    
    return 
$euro.' €';

P.s:
Wie oben stammt die Aufgabe und Beschreibung nicht von mir.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
neuling bitte hilfe bei php konfiguration anonym Apache HTTP-Server 3 21.10.2008 08:59:29
Allgemeine Frage zu Versionen php 4 und 5 hermes PHP Grundlagen 7 19.08.2005 19:16:41
Fehlermeldung in PHP SilverDragon77 PHP Grundlagen 6 27.05.2005 16:11:25
Wie man durch PHP von der Schule fliegen kann?! Jacki Off Topic Area 2 06.08.2004 13:20:39
Einführung in PHP und Datenbanken Lómion PHP für Fortgeschrittene und Experten 7 07.02.2002 14:47:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:14:58 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt