Programowanie funkcyjne/Strumienie/Ćwiczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Kubica (dyskusja | edycje)
Kubica (dyskusja | edycje)
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 12: Linia 12:
** strumień złożony z tych dodatnich liczb całkowitych, które w rozkładzie na czynniki pierwsze mają tylko liczby 2 i 3, oraz rozkładają się na nieparzystą liczbę czynników pierwszych,
** strumień złożony z tych dodatnich liczb całkowitych, które w rozkładzie na czynniki pierwsze mają tylko liczby 2 i 3, oraz rozkładają się na nieparzystą liczbę czynników pierwszych,
** strumień, którego <math>i</math>-ty wyraz jest równy <math>\frac{(2i)!}{i!}</math>,
** strumień, którego <math>i</math>-ty wyraz jest równy <math>\frac{(2i)!}{i!}</math>,
** strumień, którego <math>i</math>-ty wyraz jest równy <math>\binom{2i}{i}</math>.
** strumień, którego <math>i</math>-ty wyraz jest równy <math>\binom{2i}{i}</math>,
** strumień zawierający co drugi element danego strumienia.
* Szereg potęgowy <math>a_0 + a_1 x + a_2 x^2 + \dots</math> możemy reprezentować jako strumień jego kolejnych współczynników. Przy takiej implementacji szeregów potęgowych zaimplementuj:
* Szereg potęgowy <math>a_0 + a_1 x + a_2 x^2 + \dots</math> możemy reprezentować jako strumień jego kolejnych współczynników. Przy takiej implementacji szeregów potęgowych zaimplementuj:
**pochodną,  
**pochodną,  
Linia 18: Linia 19:
**interpolacje wybranych funkcji (np.: <math>e^x</math>, <math>\ln x</math>, <math>\cos x</math>, <math>\sin x</math>),
**interpolacje wybranych funkcji (np.: <math>e^x</math>, <math>\ln x</math>, <math>\cos x</math>, <math>\sin x</math>),
**mnożenie szeregów potęgowych.
**mnożenie szeregów potęgowych.
* Dany jest nieskończony strumień nieskończonych strumieni <i>s</i>. Zdefiniuj jego ,,przekątną'', tzn. głowę głowy, drugi element drugiego strumienia, trzeci element trzeciego strumienia itd.

Aktualna wersja na dzień 21:29, 26 lut 2012

Praca domowa

  • Zdefiniuj strumień silni.
  • Zdefiniuj przeplot elementów dwóch strumieni, tzn. strumień powstały z ułożenia naprzemian elementów danych strumieni. [można to zrobić sprytnie, zamieniając w wywołaniu rekurencyjnym miejscami argumenty.]
  • Dany jest nieskończony strumień liczb s=(s1,s2,s3,). Jego strumień różnicowy, to strumień postaci: s=(s2s1,s3s2,s4s3,). Strumień różnicowy drugiego stopnia, to strumień różnicowy strumienia różnicowego. Ogólniej, strumień różnicowy n-tego stopnia polega na n-krotnym wzięciu strumienia różnicowego, zaczynając od s. Zdefiniuj, w sposób uwikłany, strumień złożony z pierwszych elementów strumieni różnicowych kolejnych stopni (s1,s2s1,(s3s2)(s2s1),).

Ćwiczenia

  • Zdefiniuj procedurę for_each, która wykonuje zadaną procedurę na kolejnych elementach strumienia.
  • Zdefiniuj procedurę print_int_stream wypisującą elementy strumienia liczb całkowitych. Użyj do tego celu procedury for_each z poprzedniego zadania.
  • Dane są dwa strumienie. Zdefiniuj strumień wszystkich par uporządkowanych zawierających po jednym elemencie z każdego z danych strumieni (w dowolnej kolejności).
  • Zdefiniuj w sposób uwikłany:
    • strumień liczb całkowitych, które w rozkładzie na liczby pierwsze mają tylko 2, 3 i 5 [R.Hamming],
    • strumień złożony z tych dodatnich liczb całkowitych, które w rozkładzie na czynniki pierwsze mają tylko liczby 2 i 3, oraz rozkładają się na nieparzystą liczbę czynników pierwszych,
    • strumień, którego i-ty wyraz jest równy (2i)!i!,
    • strumień, którego i-ty wyraz jest równy (2ii),
    • strumień zawierający co drugi element danego strumienia.
  • Szereg potęgowy a0+a1x+a2x2+ możemy reprezentować jako strumień jego kolejnych współczynników. Przy takiej implementacji szeregów potęgowych zaimplementuj:
    • pochodną,
    • całkę,
    • interpolacje wybranych funkcji (np.: ex, lnx, cosx, sinx),
    • mnożenie szeregów potęgowych.
  • Dany jest nieskończony strumień nieskończonych strumieni s. Zdefiniuj jego ,,przekątną, tzn. głowę głowy, drugi element drugiego strumienia, trzeci element trzeciego strumienia itd.