Δημιουργία μιας ακολουθίας ή μιας λίστας : seq $

### 1.35.5 Δημιουργία μιας ακολουθίας ή μιας λίστας : `seq $`

`seq` παίρνει δύο, τρία, τέσσερα ή πέντε ορίσματα : το πρώτο όρισμα είναι μια παράσταση ως προς την μεταβλητή (για παράδειγμα) j και τα υπόλοιπα ορίσματα περιγράφουν ποιές τιμές του j θα χρησιμοποιηθούν για να παράγουν την ακολουθία. Πιο συγκεκριμένα, το j θα μεταβληθεί από a έως b:

- με ένα βήμα που από προεπιλογή είναι 1 ή -1: `j=a..b` ή `j,a..b` (σύνταξη του `Maple`), `j,a,b` (σύνταξη του `TI`)
- ή με ένα συγκεκριμένο βήμα: `j=a..b,p` (σύνταξη του `Maple`), `j,a,b,p` (σύνταξη του `TI`).

Εάν χρησιμοποιείται η σύνταξη του `Maple`, η `seq` επιστρέφει μια ακολουθία, και εάν χρησιμοποιείται η σύνταξη του `TI`, η `seq` επιστρέφει μια λίστα.

`$` είναι η ενθηματική εκδοχή του `seq`, όταν `seq` έχει δύο ορίσματα, και επιστρέφει πάντα μια ακολουθία.
Σχόλιο:

- Στον τρόπο λειτουργίας `Xcas`, η προτεραιότητα του `$` δεν είναι ίδια με εκείνη, για παράδειγμα, του `Maple`, γιαυτό σε περίπτωση αμφιβολίας βάλτε τα ορίσματα του `$` σε παρενθέσεις. Για παράδειγμα, το ισοδύναμο του `seq(j```^```2,j=-1..3)` είναι `(j```^```2)$(j=-1..3)` και επιστρέφει `(1,0,1,4,9)`. Το ισοδύναμο του `seq(4,3)` είναι `4$3` και επιστρέφει `(4,4,4)`.
- Με την σύνταξη του `Maple`, το `j,a..b,p` δεν είναι έγκυρο. Για να ορίσετε ένα βήμα p, για την μεταβολή του j από το a στο b, χρησιμοποιήστε `j=a..b,p` ή χρησιμοποιήστε πρώτα την σύνταξη του `TI` `j,a,b,p` και πάρτε την ακολουθία από την λίστα με το `op(...)`.

Συνοψίζοντας, οι διαφορετικοί τρόποι για να δημιουργήσετε μια ακολουθία είναι οι εξής :

- με σύνταξη του `Maple`
  1. `seq` έχει δύο ορίσματα : είτε μια παράσταση που εξαρτάται από την παράμετρο (για παράδειγμα) j και j=a..b, όπου a και b είναι πραγματικοί αριθμοί, είτε μια σταθερή παράσταση και έναν ακέραιο n.
     `seq` επιστρέφει : είτε την ακολουθία όπου j αντικαθίσται στην παράσταση από a, a+1,...,b εάν b>a και από a, a−1,...,b εάν b<a, είτε την ακολουθία που προκύπτει αντιγράφοντας n φορές την σταθερά.
  2. `seq` έχει τρία ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο (για παράδειγμα) j και j=a..b,p όπου a, b και p είναι πραγματικοί αριθμοί.
     `seq` επιστρέφει την ακολουθία όπου το j αντικαθίσταται στην παράσταση από τα a, a+p,...,b εάν b>a και από a, a−p,...,b εάν b<a.
     Σημειώσατε ότι j,a..b είναι επίσης έγκυρο αλλά j,a..b,p δεν είναι έγκυρο.
- με σύνταξη του `TI`
  1. `seq` έχει τέσσερα ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο (για παράδειγμα) j, το όνομα της παραμέτρου (για παράδειγμα) j, a και b όπου a και b είναι πραγματικοί.
     `seq` επιστρέφει την λίστα όπου j αντικαθίσταται στην παράσταση από a, a+1,...,b εάν b>a και από a, a−1,...,b εάν b<a.
  2. `seq` έχει πέντε ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο (για παράδειγμα) j, το όνομα της παραμέτρου (για παράδειγμα) j, a, b και p όπου a, b και p είναι πραγματικοί αριθμοί.
     `seq` επιστρέφει την λίστα όπου το j αντικαθίσταται στην παράσταση από a, a+p,...,a+k*p (a+k*p ≤ b <a+(k+1)*p ή a+k*p ≥ b> a+(k+1)*p). Από προεπιλογή, p=1 εάν b>a και p=-1 εάν b<a.

Σημειώσατε ότι με σύνταξη του `Maple`, η `seq` δεν παίρνει παραπάνω από 3 ορίσματα και επιστρέφει μια ακολουθία, ενώ με σύνταξη του `TI`, η `seq` παίρνει τουλάχιστον 4 ορίσματα και επιστρέφει μια λίστα.
Είσοδος για να έχουμε μια ακολουθία με ίδια στοιχεία :

`seq(t,4)`

ή :

`seq(t,k=1..4)`

ή :

`t$4`

Έξοδος :

`(t,t,t,t)`

Είσοδος για να έχουμε μια ακολουθία:

`seq(j```^```3,j=1..4)`

ή :

`(j```^```3)$(j=1..4)`

ή:

`seq(j```^```3,j,1..4)`

Έξοδος :

`(1,4,9,16)`

Είσοδος για να έχουμε μια ακολουθία :

`seq(j```^```3,j=-1..4,2)`

Έξοδος :

`(1,1,9)`

Ή για να έχουμε μια λίστα,
Είσοδος :

`seq(j```^```3,j,1,4)`

Έξοδος :

`[1,4,9,16]`

Είσοδος :

`seq(j```^```3,j,0,5,2)`

Έξοδος :

`[0,8,64]`

Είσοδος :

`seq(j```^```3,j,5,0,-2)`

ή

`seq(j```^```3,j,5,0,2)`

Έξοδος :

`[125,27,1]`

Είσοδος :

`seq(j```^```3,j,1,3,0.5)`

Έξοδος :

`[1,3.375,8,15.625,27]`

Είσοδος :

`seq(j```^```3,j,1,3,1/2)`

Έξοδος :

`[1,27/8,8,125/8,27]`

Παραδείγματα

- Για να βρείτε την τρίτη παράγωγο της ln(t), εισάγετε :
  `diff(log(t),t$3)`
  Έξοδος :
  `-((-(2*t))/t```^```4)`
- Είσοδος :
  `l:=[[2,3],[5,1],[7,2]]`
  `seq((l[k][0])$(l[k][1]),k=0 .. size(l)-1)`
  Έξοδος :
  `2,2,2,seq[5],7,7`
  έπειτα η `eval(ans())` επιστρέφει:
  `2,2,2,5,7,7`
- Για να μετασχηματίσετε μια συμβολοσειρά σε μια λίστα από τους χαρακτήρες της ορίστε πρώτα την συνάρτηση :

       f(chn):={
       local l;
       l:=size(chn);
       return seq(chn[j],j,0,l-1);
       }

  και μετά εισάγετε:
  `f("abracadabra")`
  Έξοδος :
  `["a","b","r","a","c","a","d","a","b","r","a"]`