שפות תכנות
תרגול 1 -
בס"ד
צבי ברגר
OCAML
על הקורס
בס"ד
שפות תכנות
השפה עוסקת בהצהרה של אובייקטים (לדוגמא: HTML, CSS, XAMK, SQL)
השפה עוסקת בפקודות למערכת (לדוגמא: C, Python, Java, C++)
בס"ד
OCAML
בס"ד
OCAML
בס"ד
התקנה
בס"ד
sudo add-apt-repository ppa:avsm/ppa
sudo apt update
sudo apt install opam
מומלץ:
sudo apt install utop
Real World OCaml, Part 1, Sections 1 -- 6
סביבת עבודה
בס"ד
סביבת עבודה
בס"ד
קבצי קוד
בס"ד
קבצי נגמרים בסיומת
Ocaml
.ml
HELLO WORLD
בס"ד
פונקציה להדפסת מחרוזות
HELLO WORLD
בס"ד
השם של קובץ ההרצה
פקודת קימפול
שם הקובץ
HELLO WORLD
בס"ד
הרצת קובץ הרצה
ביטויים
בס"ד
שורה נגמרת ב-
;;
המשתנה (כשאין מסומן עם '-')
הטיפוס
הערך
משתנים
בס"ד
המשתנה
הטיפוס
הערך
משתנים
בס"ד
המשתנה
הטיפוס
הערך
FLOAT
בס"ד
STRING
בס"ד
STRINGפונקציות
בס"ד
פונקציות
בס"ד
היא פונקציה מטיפוס שמקבלת ומחזירה
Square
int
int
פונקציות
בס"ד
פונקציות
בס"ד
פונקציות
בס"ד
פונקציות
בס"ד
רקורסיה
בס"ד
צריך להצהיר שהפונקציה היא רקורסיבית
פונקציות גנריות
בס"ד
פונקציות גנריות
בס"ד
מה לדעתכם יקרה?
מבולבלים?
הקריאה החזירה פונקציה שמקבלת מספר שלם ומחזירה מספר שלם.
כלומר הקריאה יצרה פונקציה חדשה שהיא בדיוק כמו המקורית שמקבלת רק את הארגומנט השני והארגומנט הראשון יהיה קבוע 5.
שגיאות ואזהרות
בס"ד
OPTIONS
בס"ד
TUPLE
בס"ד
רשימות
בס"ד
רשימות
בס"ד
רשימות
בס"ד
פעולות על רשימות
בס"ד
מחזיר את האיבר הראשון שמקיים את התנאי אם רוצים את כל האיברים שמקיימים תנאי משתמשים בפונקציה filter
פעולות על רשימות
בס"ד
List.map takes two arguments: a list and a function for transforming the elements of that list. It returns a new list with the transformed elements and does not modify the original list.
PATTERN MATCHING
בס"ד
RECORD TYPE
בס"ד
RECORD TYPE - EXAMPLE
בס"ד
RECORD TYPE - EXAMPLE
בס"ד
VARIANT TYPE
בס"ד
VARIANT TYPE
בס"ד
VARIANT TYPE
בס"ד
VARIANT TYPE
בס"ד
מחיקת ערכים כפולים ברשימה
דוגמא להרצה:
בס"ד
מחיקת ערכים כפולים ברשימה
דוגמא להרצה:
בס"ד
מחיקת איברים ברשימה
דוגמא להרצה:
בס"ד
מחיקת איברים ברשימה
דוגמא להרצה:
בס"ד
פיבונאצ'י
דוגמא להרצה:
בס"ד
פיבונאצ'י
דוגמא להרצה:
בס"ד
השערת גולדבך
בס"ד
השערת גולדבך
בס"ד
עץ בינארי
בס"ד
עץ בינארי
בס"ד
עץ בינארי
בס"ד
1
2
6
4
5
3
7
עץ בינארי סימטרי
בס"ד
עץ סימטרי
עץ לא סימטרי
עץ בינארי סימטרי
בס"ד
גזור ושמור
בס"ד
בשבילנו...
בס"ד
LET QUESTION = � | NONE