Wyklad ElementyProg 02 12 08


Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 1. Dla dowolnej liczby
utworzyć listę złożoną z kwadratów jej cyfr.
liczba = 584269;
lista = IntegerDigits@liczbaD;
Table@lista@@iDD ^2, 8i, 1, Length@listaD825, 64, 16, 4, 36, 81<
Do@lista@@iDD ^2, 8i, 1, Length@listaDlista
85, 8, 4, 2, 6, 9<
Wyklad_ElementyProg_02-12-08.nb 2
Do@k = lista@@iDD ^2; Print@kD, 8i, 1, Length@listaD25
64
16
4
36
81
s = 8<;
Do@AppendTo@s, lista@@iDD ^2D, 8i, 1, Length@listaDs
825, 64, 16, 4, 36, 81<
i = 1;
While@i d" Length@listaD, lista@@iDD^2; i++D
lista
85, 8, 4, 2, 6, 9<
Wyklad_ElementyProg_02-12-08.nb 3
i = 1;
While@i d" Length@listaD, k = lista@@iDD^2; Print@kD;i++D
25
64
16
4
36
81
i = 1;
s = 8<;
While@i d" Length@listaD, AppendTo@s, lista@@iDD^2D;i++D
s
825, 64, 16, 4, 36, 81<
Wyklad_ElementyProg_02-12-08.nb 4
s = 8<;
For@i = 1, i d" Length@listaD, i++,
AppendTo@s, lista@@iDD^2DD
s
825, 64, 16, 4, 36, 81<
s = 8<;
For@i = 1, i d" Length@listaD,
AppendTo@s, lista@@iDD^2D;i++D
s
825, 64, 16, 4, 36, 81<
Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 2. Dla dziesięcioelementowej listy liczb z przedziału H-10, 10L
sprawdzić czy suma jej elementów jest dodatnia, ujemna czy zerowa.
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
s = Apply@Plus, listaD;
If@Positive@sD,
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
If@Negative@sD,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
Print@"Suma elementów jest zerowa"DD
D
Which@
Positive@sD, Print@"Suma elementów jest dodatnia i wynosi: ", sD,
Negative@sD, Print@"Suma elementów jest ujemna i wynosi: ", sD,
s 0, Print@"Suma elementów jest zerowa"D
D
Switch@Positive@sD,
True,
Wyklad_ElementyProg_02-12-08.nb 2
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
False,
Switch@Negative@sD, True,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
False, Print@"Suma elementów jest zerowa"DD
D;
lista wyjściowa: 81, 10, -5, -3, 10, 8, 1, -6, -6, 0<
Suma elementów jest dodatnia i wynosi: 10
Suma elementów jest dodatnia i wynosi: 10
Suma elementów jest dodatnia i wynosi: 10
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
s = Apply@Plus, listaD;
If@Positive@sD,
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
If@Negative@sD,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
Wyklad_ElementyProg_02-12-08.nb 3
Print@"Suma elementów jest zerowa"DD
D
Which@
Positive@sD, Print@"Suma elementów jest dodatnia i wynosi: ", sD,
Negative@sD, Print@"Suma elementów jest ujemna i wynosi: ", sD,
s 0, Print@"Suma elementów jest zerowa"D
D
Switch@Positive@sD,
True,
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
False,
Switch@Negative@sD, True,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
False, Print@"Suma elementów jest zerowa"DD
D;
lista wyjściowa: 8-2, 2, -5, -5, -3, 8, 0, -9, -7, 0<
Suma elementów jest ujemna i wynosi: -21
Suma elementów jest ujemna i wynosi: -21
Wyklad_ElementyProg_02-12-08.nb 4
Suma elementów jest ujemna i wynosi: -21
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
s = Apply@Plus, listaD;
If@Positive@sD,
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
If@Negative@sD,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
Print@"Suma elementów jest zerowa"DD
D
Which@
Positive@sD, Print@"Suma elementów jest dodatnia i wynosi: ", sD,
Negative@sD, Print@"Suma elementów jest ujemna i wynosi: ", sD,
s 0, Print@"Suma elementów jest zerowa"D
D
Switch@Positive@sD,
True,
Print@"Suma elementów jest dodatnia i wynosi: ", sD,
Wyklad_ElementyProg_02-12-08.nb 5
False,
Switch@Negative@sD, True,
Print@"Suma elementów jest ujemna i wynosi: ", sD,
False, Print@"Suma elementów jest zerowa"DD
D;
lista wyjściowa: 8-10, 5, -6, -3, 7, -2, 10, 4, -4, -1<
Suma elementów jest zerowa
Suma elementów jest zerowa
Suma elementów jest zerowa
Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 3. Zdefiniować "pure function", która dla listy
kolejnych liczb naturalnych utoworzy nową listę w następujący
sposób : kolejne elementy będzie podnosić do kwadratu dopóki kwadrat
kolejno następującej liczby nie przekroczy zadanej wartości.
1. sposób
Function@8n, m<,
l = Range@nD;
Print@"lista wyjściowa: ", lD;
i = 1;
While@l@@iDD ^2 d" m,
k = ReplacePart@l, l@@iDD^2, iD;
l = k;
i++D;
Print@"lista końcowa: ", kDD@10, 20D
lista wyjściowa: 81, 2, 3, 4, 5, 6, 7, 8, 9, 10<
lista końcowa: 81, 4, 9, 16, 5, 6, 7, 8, 9, 10<
2. sposób
Wyklad_ElementyProg_02-12-08.nb 2
Function@8n, m<,
l = Range@nD;
Print@"lista wyjściowa: ", lD;
i = 1;
For@i = 1, i d" Length@lD, i++,
If@l@@iDD ^2 d" m,
k = ReplacePart@l, l@@iDD ^2, iD;
l = k,
Break@D
D
D;
Print@"lista końcowa: ", kDD@10, 20D
lista wyjściowa: 81, 2, 3, 4, 5, 6, 7, 8, 9, 10<
lista końcowa: 81, 4, 9, 16, 5, 6, 7, 8, 9, 10<
3. sposób
Wyklad_ElementyProg_02-12-08.nb 3
Function@8n, m<,
l = Range@nD;
Print@"lista wyjściowa: ", lD;
i = 1;
Do@
If@l@@iDD ^2 d" m,
k = ReplacePart@l, l@@iDD ^2, iD;
l = k,
Break@D
D, 8i, 1, Length@lD<
D;
Print@"lista końcowa: ", kDD@10, 20D
lista wyjściowa: 81, 2, 3, 4, 5, 6, 7, 8, 9, 10<
lista końcowa: 81, 4, 9, 16, 5, 6, 7, 8, 9, 10<
Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 4. Dla listy dowolnego wymiaru o elementach
całkowitych z przedziału H-10, 10L utworzyć nową listę w
następujący sposób : jeśli wymiar listy jest parzysty,
to zastąpić elementy ujemne na zera tylko do połowy długości listy;
w przeciwnym przypadku Hdługość nieparzystaL
zastąpić elementy ujemne na zera w całej liście.
1. sposób
Wyklad_ElementyProg_02-12-08.nb 2
n = Random@Integer, 81, 10Print@"n = ", nD;
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
Do@
If@Negative@lista@@iDDD, lista@@iDD = 0D,
8i, 1, If@EvenQ@Length@listaDD, Length@listaDę2, Length@listaDDPrint@"Lista końcowa: ", listaD
n = 8
lista wyjściowa: 8-9, 9, 7, -3, -6, 8, 10, -1<
Lista końcowa: 80, 9, 7, 0, -6, 8, 10, -1<
Wyklad_ElementyProg_02-12-08.nb 3
n = Random@Integer, 81, 10Print@"n = ", nD;
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
Do@
If@Negative@lista@@iDDD, lista@@iDD = 0D,
8i, 1, If@EvenQ@Length@listaDD, Length@listaDę2, Length@listaDDPrint@"Lista końcowa: ", listaD
n = 5
lista wyjściowa: 89, -5, -9, 3, -6<
Lista końcowa: 89, 0, 0, 3, 0<
2. sposób
Wyklad_ElementyProg_02-12-08.nb 4
n = Random@Integer, 81, 10Print@"n = ", nD;
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
If@EvenQ@nD, For@i = 1, i d" Length@listaDę2, i++,
If@Negative@lista@@iDDD, lista@@iDD = 0DD,
For@i = 1, i d" Length@listaD, i++,
If@Negative@lista@@iDDD, lista@@iDD = 0DDD;
Print@"Lista końcowa: ", listaD
n = 3
lista wyjściowa: 8-2, -4, 7<
Lista końcowa: 80, 0, 7<
3. sposób
Wyklad_ElementyProg_02-12-08.nb 5
n = Random@Integer, 81, 10Print@"n = ", nD;
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
For@i = 1,
i d" If@EvenQ@Length@listaDD, Length@listaDę2, Length@listaDD, i++,
If@Negative@lista@@iDDD, lista@@iDD = 0DD;
Print@"Lista końcowa: ", listaD
n = 5
lista wyjściowa: 8-3, -10, 9, -6, 8<
Lista końcowa: 80, 0, 9, 0, 8<
Wyklad_ElementyProg_02-12-08.nb 6
n = Random@Integer, 81, 10Print@"n = ", nD;
lista = Table@Random@Integer, 8-10, 10Print@"lista wyjściowa: ", listaD;
For@i = 1,
i d" If@EvenQ@Length@listaDD, Length@listaDę2, Length@listaDD, i++,
If@Negative@lista@@iDDD, lista@@iDD = 0DD;
Print@"Lista końcowa: ", listaD
n = 6
lista wyjściowa: 88, -8, 0, -3, -9, 2<
Lista końcowa: 88, 0, 0, -3, -9, 2<
Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 5. Zdefiniować "pure function",
która dla dowolnej ilości HnL wylosowanych liczb naturalnych
utworzy macierze o wymiarach równych wylosowanym liczbom
oraz utworzy listę o elementach będących iloczynem elementów
stojących na głównej przekątnej poszczególnych macierzy,
np. n = 3 dostaniemy macierze postaci
-4 8 -9 -8 9 8 -5
i y
j z
j z
j z
-6 3 -7 -5 3 -8 9
j z
j z
j z
j z
j -10 -2 1 3 -9 -1 8
z
j z
j z
j z
j -4 5 8 9 -3 0 -2
z
j z
j z
j z
j z
4 -1 -5 1 -2 -7 1
j z
j z
j z
j z
j z
6 1 -1 5 -7 8 6
j z
j z
j z
1 10 4 -8 6 -4 6
k {
1 4
J N
-8 9
-5 0 9
i y
j z
j z
j z
7 -4 1
j z
j z
j z
-10 9 -5
k {
Wyklad_ElementyProg_02-12-08.nb 2
oraz dla listy złożonej z przekątnych
88-4, 3, 1, 9, -2, 8, 6<, 81, 9<, 8-5, -4, -5<<
dostaniemy listę wyjściową postaci 810368, 9, -100<.
Function@8n<,
l = Table@Random@Integer, 81, 10Print@"lista wymiarów macierzy: ", lD;
lista = 8<;
For@i = 1, i d" Length@lD, i++,
AppendTo@lista, Table@
Random@Integer, 8-10, 10Do@Print@"Macierz ", k, ": ", MatrixForm@lista@@kDDDD,
8k, Length@listaDl2 = 8<;
For@i = 1, i d" Length@listaD, i++,
l1 = Tr@lista@@iDD, ListD;
Print@"przekątna macierzy ", i, ": ", l1D;
AppendTo@l2, l1D;
Wyklad_ElementyProg_02-12-08.nb 3
l1 = 8Print@"lista przekątnych: ", l2D;
l3 = Table@Apply@Times, l2@@jDDD, 8j, 1, Length@l2DPrint@"lista iloczynów liczb stojących na przkątnych: ", l3D
D@3D
lista wymiarów macierzy: 87, 2, 3<
-4 8 -9 -8 9 8 -5
i y
j z
j z
j z
-6 3 -7 -5 3 -8 9
j z
j z
j z
j z
j -10 -2 1 3 -9 -1 8
z
j z
j z
j z
j z
Macierz 1: -4 5 8 9 -3 0 -2
j z
j z
j z
j z
4 -1 -5 1 -2 -7 1
j z
j z
j z
j z
j z
6 1 -1 5 -7 8 6
j z
j z
j z
1 10 4 -8 6 -4 6
k {
1 4
Macierz 2: J N
-8 9
-5 0 9
i y
j z
j z
j z
Macierz 3: 7 -4 1
j z
j z
j z
-10 9 -5
k {
przekątna macierzy 1: 8-4, 3, 1, 9, -2, 8, 6<
Wyklad_ElementyProg_02-12-08.nb 4
przekątna macierzy 2: 81, 9<
przekątna macierzy 3: 8-5, -4, -5<
lista przekątnych: 88-4, 3, 1, 9, -2, 8, 6<, 81, 9<, 8-5, -4, -5<<
lista iloczynów liczb stojących na przkątnych: 810368, 9, -100<
Wyklad_ElementyProg_02-12-08.nb 1
Zadanie 6. Utworzyć macierz zerową o podanym wymiarze,
następnie utworzyć dla niej nową macierz w następujący sposób : np. dla n =
+ - + - +
i y
j z
j z
j z
- + - + -
j z
j z
j z
j z
5 otrzymamy + - + - +
j z
j z
j z
j z
j - + - + - z
j z
j z
j z
+ - + - +
k {
<< LinearAlgebra`MatrixManipulation`
n = 5;
A = ZeroMatrix@nD;
Print@MatrixForm@ADD;
p = 8<;
zlozona = 8<;
For@k = 1, k <= Length@AD, k++,
For@j = 1, j d" k, j ++,
AppendTo@p, 8k - j + 1, jD;
Print@"lista pozycji p: ", pD;
Wyklad_ElementyProg_02-12-08.nb 2
AppendTo@zlozona, pD;
p = 8<;
D;
For@k = 2, k d" Length@AD, k++,
i = Length@AD;
For@j = k, j d" Length@AD, j++,
AppendTo@p, 8i, ji--
D;
Print@"lista pozycji p: ", pD;
AppendTo@zlozona, pD;
p = 8<;
D;
For@i = 1, i d" Length@zlozonaD, i++,
If@OddQ@iD, B = ReplacePart@A, "+", zlozona@@iDDD,
B = ReplacePart@A, "-", zlozona@@iDDDD;
A = B
Wyklad_ElementyProg_02-12-08.nb 3
D;
MatrixForm@AD
0 0 0 0 0
i y
j z
j z
j z
0 0 0 0 0
j z
j z
j z
j z
0 0 0 0 0
j z
j z
j z
j z
j z
0 0 0 0 0
j z
j z
j z
0 0 0 0 0
k {
lista pozycji p: 881, 1<<
lista pozycji p: 882, 1<, 81, 2<<
lista pozycji p: 883, 1<, 82, 2<, 81, 3<<
lista pozycji p: 884, 1<, 83, 2<, 82, 3<, 81, 4<<
lista pozycji p: 885, 1<, 84, 2<, 83, 3<, 82, 4<, 81, 5<<
lista pozycji p: 885, 2<, 84, 3<, 83, 4<, 82, 5<<
lista pozycji p: 885, 3<, 84, 4<, 83, 5<<
lista pozycji p: 885, 4<, 84, 5<<
lista pozycji p: 885, 5<<
Wyklad_ElementyProg_02-12-08.nb 4
+ - + - +
i y
j z
j z
j z
- + - + -
j z
j z
j z
j z
+
j - + - +
z
j z
j z
j z
j - + - + - z
j z
j z
j z
+ - + - +
k {


Wyszukiwarka

Podobne podstrony:
Wykład 2 10 3 12
Wyklad 1 CIAGI 12 wer stud
Wykład 8 Elementy diagnostyki technicznej
WM wyklad Elementy plastycznosc
Wyklad LiczbyZmienne 10 08
Wykład 9 15 12 12
wykład 1 4 10 12
Wyklad4 biol 12 13 student
Wyklad OperacjeNaListach 10 08
Metodologia wykład 11 12 Tabela
Wykład 3 14,4,12
General performance motors EN 12 08
wyklad zarzadzanie 12
Dynamika Budowli wyklad 4 11 12
wykład 11 12

więcej podobnych podstron