getting-started-with-functions/slides.org
author Anoop Jacob Thomas<anoop@fossee.in>
Wed, 10 Nov 2010 18:58:11 +0530
changeset 445 0c8ab2b5225b
child 446 2ce824b5adf4
permissions -rw-r--r--
added slides for getting started with functions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
445
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     1
#+LaTeX_CLASS: beamer
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     2
#+LaTeX_CLASS_OPTIONS: [presentation]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     3
#+BEAMER_FRAME_LEVEL: 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     5
#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     6
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     7
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     8
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
     9
#+LaTeX_CLASS: beamer
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    10
#+LaTeX_CLASS_OPTIONS: [presentation]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    11
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    12
#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    13
#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    14
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    15
#+LaTeX_HEADER: \usepackage{listings}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    16
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    17
#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    18
#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    19
#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    20
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    21
#+TITLE:  Getting started with functions
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    22
#+AUTHOR:  FOSSEE
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    23
#+EMAIL:   info@fossee.in
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    24
#+DATE:    
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    25
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    26
#+DESCRIPTION: 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    27
#+KEYWORDS: 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    28
#+LANGUAGE:  en
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    29
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    30
#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    31
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    32
# * Outline
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    33
#   - Manipulating one and multi dimensional arrays
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    34
#   - Access and change individual elements 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    35
#   - Access and change rows and columns 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    36
#   - Slicing and striding on arrays to access chunks 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    37
#   - Read images into arrays and manipulations
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    38
# * Sample Arrays
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    39
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    40
#     In []: A = array([12, 23, 34, 45, 56])
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    41
    
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    42
#     In []: C = array([[11, 12, 13, 14, 15],
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    43
#                       [21, 22, 23, 24, 25],
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    44
#                       [31, 32, 33, 34, 35],
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    45
#                       [41, 42, 43, 44, 45],
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    46
#                       [51, 52, 53, 54, 55]])
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    47
    
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    48
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    49
# * Question 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    50
#   Change the last column of ~C~ to zeroes. 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    51
# * Solution 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    52
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    53
#     In []:  C[:, -1] = 0
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    54
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    55
# * Question 2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    56
#   Change ~A~ to ~[11, 12, 13, 14, 15]~. 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    57
# * Solution 2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    58
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    59
#     In []:  A[:] = [11, 12, 13, 14, 15]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    60
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    61
# * squares.png
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    62
#   #+begin_latex
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    63
#     \begin{center}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    64
#       \includegraphics[scale=0.6]{squares}    
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    65
#     \end{center}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    66
#   #+end_latex
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    67
# * Question 3
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    68
#   - obtain ~[22, 23]~ from ~C~. 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    69
#   - obtain ~[11, 21, 31, 41]~ from ~C~. 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    70
#   - obtain ~[21, 31, 41, 0]~.   
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    71
# * Solution 3
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    72
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    73
#     In []:  C[1, 1:3]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    74
#     In []:  C[0:4, 0]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    75
#     In []:  C[1:5, 0]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    76
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    77
# * Question 4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    78
#   Obtain ~[[23, 24], [33, -34]]~ from ~C~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    79
# * Solution 4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    80
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    81
#     In []:  C[1:3, 2:4]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    82
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    83
# * Question 5
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    84
#   Obtain the square in the center of the image
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    85
# * Solution 5
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    86
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    87
#     In []: imshow(I[75:225, 75:225])
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    88
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    89
# * Question 6
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    90
#   Obtain the following
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    91
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    92
#     [[12, 0], [42, 0]]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    93
#     [[12, 13, 14], [0, 0, 0]]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    94
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    95
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    96
# * Solution 6
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    97
#   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    98
#     In []: C[::3, 1::3]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
    99
#     In []: C[::4, 1:4]
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   100
#   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   101
# * Summary
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   102
#   You should now be able to --
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   103
#   - Manipulate 1D \& Multi dimensional arrays
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   104
#       - Access and change individual elements 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   105
#       - Access and change rows and columns 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   106
#       - Slice and stride on arrays
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   107
#   - Read images into arrays and manipulate them.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   108
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   109
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   110
* Outline
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   111
  - Define functions
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   112
  - Pass arguments to functions
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   113
  - Learn about docstrings
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   114
  - Return values from functions
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   115
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   116
* Function
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   117
  - Eliminate code redundancy
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   118
  - Help in code reuse
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   119
  - Subroutine
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   120
    - relatively independent of remaining code
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   121
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   122
* ~f(x)~ a mathematical function
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   123
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   124
  $f(x) = x^{2}$
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   125
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   126
  : f(1) -> 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   127
  : f(2) -> 4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   128
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   129
* Define ~f(x)~ in Python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   130
  #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   131
    def f(x):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   132
        return x*x
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   133
  #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   134
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   135
  - ~def~ - keyword
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   136
  - ~f~ - function name
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   137
  - ~x~ - parameter / argument to function ~f~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   138
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   139
* Exercise 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   140
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   141
  Write a python function named ~cube~ which computes the cube of a given
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   142
  number ~n~.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   143
  
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   144
  - Pause here and try to solve the problem yourself.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   145
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   146
* Solution
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   147
  #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   148
    def cube(n):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   149
    	return n**3
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   150
  #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   151
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   152
* ~greet~ function
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   153
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   154
 Function ~greet~ which will print ~Hello World!~.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   155
 #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   156
    def greet():
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   157
    	print "Hello World!"
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   158
 #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   159
  - Call the function ~greet~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   160
    : In []: greet()
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   161
    : Hello World!
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   162
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   163
* Exercise 2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   164
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   165
  Write a python function named ~avg~ which computes the average of
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   166
  ~a~ and ~b~.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   167
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   168
  - Pause here and try to solve the problem yourself.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   169
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   170
* Solution 2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   171
 #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   172
    def avg(a,b):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   173
    	return (a + b)/2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   174
 #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   175
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   176
 - ~a~ and ~b~ are parameters
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   177
 - ~def f(p1, p2, p3, ... , pn)~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   178
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   179
* Docstring
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   180
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   181
  - Documenting/commenting code is a good practice
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   182
   #+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   183
     def avg(a,b):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   184
         """ avg takes two numbers as input 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   185
	 (a & b), and returns the average 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   186
	 of a and b"""
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   187
	 return (a+b)/2
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   188
   #+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   189
  - Docstring
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   190
    - written in the line after the ~def~ line.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   191
    - Inside triple quote.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   192
  - Documentation
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   193
    : avg?
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   194
* Exercise 3
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   195
  Add docstring to the function f.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   196
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   197
* Solution 3
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   198
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   199
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   200
  def f(x):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   201
      """Accepts a number x as argument and,
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   202
      returns the square of the number x."""
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   203
      return x*x
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   204
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   205
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   206
* Exercise 4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   207
  Write a python function named ~circle~ which returns the area and
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   208
  perimeter of a circle given radius ~r~.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   209
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   210
* Solution 4
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   211
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   212
  def circle(r):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   213
      """returns area and perimeter of a circle given 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   214
      radius r"""
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   215
      pi = 3.14
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   216
      area = pi * r * r
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   217
      perimeter = 2 * pi * r
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   218
      return area, perimeter
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   219
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   220
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   221
* ~what~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   222
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   223
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   224
 def what( n ):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   225
     if n < 0: n = -n
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   226
     while n > 0:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   227
         if n % 2 == 1:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   228
             return False
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   229
         n /= 10
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   230
     return True
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   231
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   232
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   233
* ~even_digits~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   234
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   235
 def even_digits( n ):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   236
    """returns True if all the digits of number 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   237
    n is even returns False if all the digits 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   238
    of number n is not even"""
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   239
     if n < 0: n = -n
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   240
     while n > 0:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   241
         if n % 2 == 1:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   242
             return False
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   243
         n /= 10
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   244
     return True
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   245
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   246
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   247
* ~what~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   248
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   249
 def what( n ):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   250
     i = 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   251
     while i * i < n:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   252
         i += 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   253
     return i * i == n, i
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   254
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   255
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   256
* ~is_perfect_square~
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   257
#+begin_src python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   258
 def is_perfect_square( n ):
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   259
     """returns True and square root of n, 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   260
     if n is a perfect square, otherwise 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   261
     returns False and the square root 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   262
     of the next perfect square"""
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   263
     i = 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   264
     while i * i < n:
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   265
         i += 1
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   266
     return i * i == n, i
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   267
#+end_src
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   268
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   269
* Summary
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   270
 - Functions in Python
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   271
 - Passing parameters to a function
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   272
 - Returning values from a function
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   273
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   274
 - We also did few code reading exercises.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   275
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   276
* Thank you!
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   277
#+begin_latex
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   278
  \begin{block}{}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   279
  \begin{center}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   280
  This spoken tutorial has been produced by the
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   281
  \textcolor{blue}{FOSSEE} team, which is funded by the 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   282
  \end{center}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   283
  \begin{center}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   284
    \textcolor{blue}{National Mission on Education through \\
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   285
      Information \& Communication Technology \\ 
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   286
      MHRD, Govt. of India}.
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   287
  \end{center}  
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   288
  \end{block}
0c8ab2b5225b added slides for getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
diff changeset
   289
#+end_latex