kk

GRY

wtorek, 15 października 2013

Jak napisać elektroniczyny list

1. Poczta elektroniczna lub krótko e-poczta, (ang. electronic mail krótko e-mail) – usługa internetowa, w nomenklaturze prawnej określana zwrotem świadczenie usług drogą elektroniczną, służąca do przesyłania wiadomości tekstowych, tzw. listów elektronicznych – stąd zwyczajowa nazwa tej usługi.
W Polsce określenie e-mail próbowano zastąpić skrótowcem listel od list elektroniczny, starano się także upowszechnić określenie el-poczta – analogia do określenia el-muzyka czyli muzyka elektroniczna. Określenia te jednak nie przyjęły się w codziennym użyciu. Językoznawcy za poprawne uznają jedynie formy e-mail i mejl[1]. Zaleca się używanie tej drugiej formy w piśmie wszędzie, z wyjątkiem najbardziej oficjalnych tekstów[2]. Inne źródła jako poprawne podają formy e-mail i mail.

2.Najogólniej rzecz ujmując przesyłki widziane są podobnie do zwykłych listów jakie wysyłamy przy pomocy Poczty: zawartość listy umieszczona jest w kopercie. "Koperta" zawiera informacje pozwalające na przesłanie i dostarczenie "zawartości" do adresata. "Zawartość" stanowi obiekt, który ma być dostarczony do odbiorcy.Przesyłka składa się z linii tekstowych. Część z tych linii zawiera informacje sformatowane, później następuje główna część listu - jego treść (body). Sformatowane linie (nagłówek) zawierają różne pola, które będą opisane w dalszej części. *Anatomia nagłówka pocztowego -Opis pól *Pola świadczące o drodze przesyłania listu *Pola nadawcy *Pola odbiorcy *Pola referencyjne *Pozostałe pola oraz pola użytkownika

*Anatomnia nagłówka pocztowego:
Jak już napisano, każda przesyłka składa się z pól nagłówka (header) i treści (body). Treść, z punktu widzenia poczty elektronicznej, jest zbiorem linii zawierających znaki ASCII, zaś od nagłówka oddziela ją pusta linia zakończona CRLF. Każde pole nagłówka może być traktowane jako pojedyncza, samodzielna linia, złożona ze znaków ASCII zawierająca nazwę pola i zawartość pola. Zawartość pola może być (i dla długich ciągów znaków jest) podzielona na kilka linii, np.:
To: "Grzegorz Sapijaszko" sapi@ldhpux.immt.pwr.wroc.pl
może być przedstawione jako:
To: "Grzegorz Sapijaszko"
sapi@ldhpux.immt.pwr.wroc.pl
lub jako:
To: "Grzegorz
Sapijaszko" sapi@ldhpux.immt.pwr.wroc.pl
Przykład oryginalnego nagłówka przedstawiono poniżej:
Return-Path:
Received: from sdas01.seinf.abb.se (sdas01.seinf.abb.se [138.221.200.200])
by sun1000.pwr.wroc.pl (8.8.5/8.8.5/ts-tmpl.970124.nospam1.4) with SMTP id
IAA15721 for ; Fri, 11 Jul 1997 08:05:31 +0200

(MET DST)
From: grzegorz.sapijaszko@pldol.mail.abb.com
Received: from [138.227.9.51] by sdas01.seinf.abb.se
(5.65v3.2/1.1.10.5/19Jan97-0838PM)
id AA11988; Fri, 11 Jul 1997 07:59:53 +0100
Message-Id: <9707110659.AA11988@sdas01.seinf.abb.se>
X-Mailer: Advox MimeLink version 2.0a, SerialNo=144673,
Domain=mail.abb.com, Unlimited license
Date: Fri, 11 Jul 1997 07:59:00 +0100
To: w.myszka@immt.pwr.wroc.pl
Subject: Ldhpux?
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; name=body.txt
Content-Transfer-Encoding: 7bit

Rozwiązywanie problemów

1.Lista kroków
 Opis słowny algorytmu wydawania reszty.

Dane: Kwota pieniędzy do wydania, nominały banknotów i bilonu uporządkowane malejąco
Wyniki: Ilość poszczególnych nominałów banknotów i bilonu
Krok 1: Ustalenie wartości początkowych
Krok 2: Sprawdzamy, ile razy najwyższy nominał mieści się w kwocie do wydania
Krok 3: Obliczamy resztę do wydania: poprzednia kwota - obliczona ilość * nominał
Krok 4: Przechodzimy do niższego nominału
Krok 5: Jeśli reszta do wydania = 0 [stop] w przeciwnym razie powtarzamy kroki 2 - 4
2.Schemat blokowy
Schemat blokowy (ang. block diagram, flowchart) jest narzędziem nakierowanym na prezentację kolejnych czynności w projektowanym algorytmie. Realizowane jako diagram, na którym procedura, system albo program komputerowy są reprezentowane przez opisane figury geometryczne, połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania.
Cechuje je:
  • zasada budowy,
  • elastyczność zapisów,
  • możliwość zapisu z użyciem składu wybranego języka programowania,
  • łatwa kontrola poprawności algorytmu.
Schematy blokowe pozwalają na prostą zamianę instrukcji na instrukcje programu komputerowego. Poniżej przykład.

3.Arkusz kalkulacyjny
Arkusz kalkulacyjny to program komputerowy przedstawiający dane, głównie liczbowe, w postaci zestawu dużych tabel dwuwymiarowych, pozwalający na automatyczną obróbkę tych danych oraz na prezentację ich w różny sposób.
Najważniejszym narzędziem arkusza kalkulacyjnego są funkcje (matematyczne, statystyczne, daty i czasu, finansowe, bazodanowe, logiczne), za pomocą których wprowadzone do arkusza dane są automatycznie przetwarzane. Możliwe jest także tworzenie różnego rodzaju symulacji.
Za pomocą arkusza kalkulacyjnego można także wizualizować dane, prezentując je w postaci wykresów (kolumnowych, słupkowych, kołowych, liniowych, warstwowych itd.), które pozwalają łatwiej zorientować się we wzajemnych zależnościach i tendencjach.
W zaawansowanych arkuszach kalkulacyjnych dostępne są również języki makropoleceń i języki programowania, przetwarzanie danych. Poniżej przykład arkusza.
4.Visual Basic
Visual Basic to język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC, ale unowocześniona. Zawiera kilkaset instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.
Jest dostępny w trzech wersjach:
  • Learning Edition
  • Professional Edition
  • Enterprise Edition
oraz darmowej Express.
Dostępne są także wersje demonstracyjne środowiska Visual Basic:
  • Working Model
  • Control Creation Edition
Wraz z pojawieniem się platformy .NET, ukazała się nowa wersja Visual Basica pod nazwą Visual Basic .NET. Środowisko programistyczne ma mechanizmy importu starszych wersji programów, jednak w pewnych sytuacjach mogą pojawiać się komplikacje.
Język Visual Basic zastosowano również w wielu rozbudowanych aplikacjach jako język skryptowy do tworzenia zarówno prostych makr, jak i rozbudowanych aplikacji. Najbardziej znanym przykładem jest Visual Basic for Applications firmy Microsoft zastosowany w pakietach MS Office.
5.Turbo Pascal
 Jedna z popularniejszych implementacji kompilatorów języka Pascal, zintegrowane środowisko programistyczne, produkt firmy Borland International dla procesorów Z-80 (system CP/M) oraz rodziny Intel 80x86 i nowszych. Obecnie nie jest już rozwijany. 
6.C++
C++język programowania ogólnego przeznaczenia.
Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów programowania: proceduralnego, obiektowego i generycznego. Charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim dostępem do zasobów sprzętowych i funkcji systemowych, łatwością tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych językach), niezależnością od konkretnej platformy sprzętowej lub systemowej (co gwarantuje wysoką przenośność kodów źródłowych) oraz niewielkim środowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowań są aplikacje i systemy operacyjne.
C++ został zaprojektowany przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje jednym z podstawowych celów projektowych kolejnych standardów języka.
W latach 90. XX wieku język C++ zdobył pozycję jednego z najpopularniejszych języków programowania ogólnego przeznaczenia. Na początku XXI wieku liczbę programistów języka C++ szacowano na około 3 miliony[1]. Przykład takiego jezyka.

//Wydawanie reszty, C++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
  //tablica dostepnych nominalow
  int N[8]={200, 100, 50, 20, 10, 5, 2, 1};
  int R,P, i;

  cout << "Podaj reszte do wyplacenia: ";
  cin >> R;

  i=0;
  while (R>0)       //dopoki nie wydano calej reszty
  {
    if (R >= N[i])  //sprawdz czy mozna wydac danym nominalem
    {
      P=R / N[i];   //ile razy wydac dany nominal
      R=R-(N[i]*P); //zmniejsz reszte o wydany nominal
      cout << N[i] << " x " << P << endl; //wypisz wynik
    }
    i++;            //rozpatrz kolejny nominal
  }

  system("PAUSE");
  return 0;