נגזרת של פונקציה מרוכבת.
ניתן להגדיר נגזרת של פונקציה מרוכבת formula_104 בנקודה formula_105, בדיוק כפי שמגדירים נגזרת לפונקציה ממשית, באמצעות הגבול formula_106. בניגוד לגבול בפונקציות ממשיות, הגבול כאן נלקח כאשר formula_107 במישור המרוכב, ולא לאורך הציר הממשי.
אף על פי שאפשר לראות את formula_1 גם כפונקציה formula_109, הנגזרת המרוכבת שונה מן הנגזרת הממשית (של פונקציה בשני משתנים), וקיומה הוא תנאי חזק יותר. תנאי הכרחי ומספיק לקיומה של נגזרת מרוכבת נתון במשוואות קושי-רימן.
נגזרות בפונקציות של כמה משתנים.
בפונקציות של כמה משתנים, מושג הגזירות של פונקציה מוחלף במושג הדיפרנציאביליות שלה, שפירושו שקיים לפונקציה קירוב ליניארי. מושג זה מתלכד עם מושג הגזירות בפונקציות של משתנה יחיד. בנוסף לכך, כאשר גוזרים פונקציה של כמה משתנים על פי משתנה יחיד, ומתייחסים לשאר המשתנים כקבועים, הנגזרת המתקבלת נקראת נגזרת חלקית של הפונקציה. מושגי הדיפרנציאביליות והנגזרות החלקיות קשורים ביניהם בקשר הדוק - נגזרת חלקית של פונקציה לפי אחד המשתנים יכולה להיות קיימת או לא (כמו שפונקציה של משתנה אחד יכולה להיות גזירה או לא) אבל מושג הדיפרנציאביליות של פונקציה עם יותר ממשתנה אחד הוא מושג חזק יותר מקיום של נגזרות חלקיות. כלומר: אפילו אם לפונקציה עם כמה משתנים קיימות כל הנגזרות החלקיות שלה אין זה אומר בהכרח שהיא דיפרנציאביליות, אבל אם היא דיפרנציאביליות אז בהכרח קיימות כל הנגזרות החלקיות שלה.
נגזרת פורמלית.
ניתן לנצל את תכונות הנגזרת גם במבנים אלגבריים כללים, בהם לא ניתן לגזור פונקציות באופן הרגיל (על ידי גבולות). לדוגמה, בשדות כלשהם, אפילו ממאפיין שונה מ-0, ניתן להגדיר את פעולת הנגזרת על הפולינומים כאופרטור ליניארי שמקיימת לכל formula_43 טבעי formula_111. ניתן להראות שהנגזרת הפורמלית כמו שהוגדרה מקיימת את התכונות הבסיסיות של הנגזרת הרגילה (ליניאריות, כלל המכפלה, וכלל השרשרת), ובנוסף מאפשרת בחינה נוחה של תכונות מסוימות של פולינומים. לדוגמה, כדי לבדוק האם פולינום נתון הוא ספרבילי, די לבדוק שהוא זר לנגזרת הפורמלית שלו.
הנגזרת השנייה.
הגדרה.
לאחר שפונקציה נגזרה פעם ראשונה ניתן לגזרה פעם שנייה, בכללים דומים לאלו של הפונקציה הראשונה, לפונקציה הנוצרת מספר משמעויות בחשבון אינפיניטסימלי.
שימושי הנגזרת השנייה.
סיווג נקודת קיצון.
על ידי הנגזרת השנייה ניתן לסווג נקודת קיצון לנקודות מינימום, או לנקודות מקסימום במקומות בהם הנגזרת הראשונה מתאפסת. ניתן להציב את שיעור ה-formula_2 בנקודה בה הנגזרת הראשונה מתאפסת בנגזרת השנייה ובכך לגלות האם מדובר בנקודת מינימום, או מקסימום. בנקודות מינימום הנגזרת השנייה תהיה חיובית, ובנקודות מקסימום הנגזרת השנייה תהיה שלילית.
מציאת נקודות פיתול.
בנקודת פיתול הנגזרת השנייה מתאפסת. נקודת פיתול היא נקודה המפרידה בין קטע בפונקציה בו הפונקציה היא קמורה, לבין קטע בפונקציה בו היא קעורה. במילים אחרות, נקודת פיתול היא הנקודה בה משתנה שיפוע הנגזרת הראשונה מחיובי לשלילי ולהפך.
טור טיילור.
ראה
נגזרות בסיסיות.
בטבלאות מוצגות הנגזרות הידועות למספר פונקציות שימושיות. בנוסחאות הגזירה שלהלן, formula_39 ו- n קבועים, ו- a הוא מקדם.
נגזרות של פונקציות מעריכיות ולוגריתמיות
נגזרות של פונקציות טריגונומטריות
נגזרות של פונקציות היפרבוליות
פרוטוקול (פירושונים)
סי שארפ
C# (נהוג לבטא C Sharp או "סִי שַׁארפּ") היא שפת תכנות עילית מרובת-פרדיגמות, מונחית עצמים בעיקרה, המשלבת רעיונות כמו טיפוסיות חזקה, אימפרטיביות, הצהרתיות, פונקציונליות, פרוצדורליות וגנריות. השפה פותחה על ידי "מיקרוסופט" בשנת 2000 כחלק מפרויקט דוט נט ותוקננה בשנים 2005 ו-2006 על ידי ארגון התקינה Ecma כתקן ECMA-334 ועל ידי ארגון התקינה הבין-לאומי כתקן ISO/IEC 23270:2006.
היסטוריה.
לאחר הפסדה של "מיקרוסופט" במשפט לחברת "סאן", בעקבות סכסוך שפרץ ביניהן סביב המימוש של "מיקרוסופט" לשפת ג'אווה, שנקרא J++, חויבה "מיקרוסופט" על פי פסק הדין להפסיק לשווק את J++ וכן את המכונה הווירטואלית שפיתחה עבורה, MS-JVM. עקב כך הוחלט ב"מיקרוסופט" על פיתוח שפה חדשה במטרה להוות תחליף ראוי לשפות התכנות מהדור הקודם כמו ויז'ואל בייסיק או C++ וכן להוות יריב שקול לג'אווה. צוות פיתוח בראשות מהנדס התוכנה הדני אנדרס הלסברג (מי שהמציא את טורבו פסקל והיה מאדריכלי דלפי) הופקד על פיתוחה בתחילת 1999, והגרסה הראשונה הושקה עם ההכרזה על דוט נט ביולי 2000. גרסה זו סיפקה את התשתית הראשונית לכתיבת יישומים שולחניים ואתרי אינטרנט, תוך שהיא שואבת הרבה מממשק תכנות יישומים והתחביר של ג'אווה, גם בטכנולוגיית פיתוח האתרים, ASP.NET.
גרסה 1.1, אשר יצאה ב-3 באפריל 2003, הכילה שיפורים בטכנולוגיית ASP.NET אשר מאפשרים פיתוח אתרים המותאמים למכשירים ניידים, שיפורי אבטחה בפיתוח יישומים שולחניים, תמיכה מובנית בגישה לבסיס נתונים אורקל ובשימוש במתאם בסיסי הנתונים האוניברסלי של "מיקרוסופט", ODBC. גרסה זו גם תומכת בהפעלה של מספר גרסאות של אותו יישום במקביל על אותו מחשב, וכן תומכת לראשונה בפרוטוקול IPv6.
גרסה 2.0, אשר יצאה ב-22 בינואר 2006, הוסיפה לראשונה תמיכה בתכנות גנרי, שהיה קיים כבר ב-++C. גרסה זו תמכה לראשונה ביישומי 64 ביט. נוספה תמיכה מובנית לגישה למערכת ההרשאות של Windows, ונוספו שיפורים בטכנולוגיית הגישה לבסיסי נתונים ADO.NET. בתחום פיתוח האתרים, נוספו מנגנונים אשר מאפשרים לשלוט בצורה טובה יותר בתבנית הכללית של כל הדפים באתר. נוספה תמיכה מובנית בתקשורת SSL, ותמיכה בפרוטוקולים FTP, Ping, SMTP ו-SOAP 1.2. שופרה התמיכה בטכנולוגיית COM וביישומי שורת הפקודה. נוספה תמיכה בקבלת חיבורי HTTP ו-FTP מיישומים אחרים. שופרה התמיכה בסמפור, ונוספה תמיכה בטרנזאקציות דרך טכנולוגיית DTC. פקדים רבים נוספו לפיתוח תוכנות שולחניות, ונוספה טכנולוגיית ClickOnce, אשר מאפשרת ליישומים שולחניים להתעדכן באופן אוטומטי.
גרסה 3 אשר יצאה בנובמבר 2007 הוסיפה הרחבת שיטות, (שמאפשר בזמן ריצה להוסיף שיטות לאובייקטים קיימים), טיפוס מרומז של משתנים מקומיים, ביטויי למדא, טיפוסים אנונימיים, טיפוס מוסק ואתחול של אובייקטים ואוספים (בגרסאות הדוט נט המקבילות הוספו WCF, WPF ו-LINQ).
גרסה 4 אשר יצאה באפריל 2010 הוסיפה פרמטרים לפי שם ופרמטרים אופציונליים, טיפוסים דינמיים, ותמיכה מתקדמת ב-COM (בגרסת הדוט נט המקבילה הוספו יכולות של תכנות מקבילי, אתחול עצל, ומהדר DLR).
גרסה 5 אשר יצאה באוגוסט 2012 הוסיפה פונקציות אסינכרוניות, ומידע על המתקשר לפונקציה.
ב-2 באפריל 2014 "מיקרוסופט" הוציאה לאור מהדר סטטי בשם DotNET Native ליישומי החנות של Windows, המאפשר להדר קוד בשפות הדוט נט לקוד מכונה באופן ישיר (Native Code), ללא שימוש בהידור דינמי (JIT).
בגרסה 6 אשר יצאה ביולי 2015 הוספו התכונות הבאות: הידור כשירות (service), יבוא של טיפוסים סטטיים למרחב שם, מסנן לחריגות,
אתחול אוטומטי של מאפיין לקריאה בלבד, אתחול של מילון,
Await בבלוק של catch/finally, אינטרפולציה על מחרוזת
והאופרטור nameof.
בגרסה 9, אשר יצאה בנובמבר 2020, נוספה תמיכה ברשומות (records), האפשרות להגדרת ערך של שדה בעת הבנייה בלבד (init), והרצת קוד פשוט ללא כל צורך במחלקה ובשיטת Main, תבניות לוגיות (שמאפשרות שימוש במילים is, not, and, or על מנת לפשט תנאים) וקריאה מקוצרת לבנאי ללא צורך בשם המחלקה (אך לא ניתן להשתמש ב-var).
הדמיון לג'אווה.
קיימים קווי דמיון רבים מאוד בין שפת C# לג'אווה, כגון; אובייקטים כהפניות (References), קוד ביניים ומכונה וירטואלית, הידור דינמי (JIT), ירושה יחידה עם ממשקים, זיכרון מנוהל ופינוי אשפה, שיקוף, Boxing, תהליכונים מובנים, יוניקוד מובנה, צורת השימוש בספריות ועוד.
ובכל זאת, קיימים הבדלים גדולים בין השתיים. בעיקר בהגדרת אופן מימוש מנגנוני השפה והשוני במימוש תכנות גנרי. מלבד זאת ב-#C נוספו תכונות שבחלקן אומצו מ-ויז'ואל בייסיק כגון תכנות ויזואלי, תכנות מונחה אירועים, אתחול אוטומטי של משתנים, משתנה רב תכליתי, מאפיינים, לולאת טווח ועוד. במיוחד גדל הפער בין השפות בגרסאות החדשות של #C בהן נוספו הרחבות כמו תכנות פונקציונלי, מתודות-הרחבה (Extension methods) והרחבת LINQ.
פיתוח השפה היה ראשוני, ונטול עכבות היסטוריים כמו תאימות לאחור, שהיקשה על האבולוציה של ג'אווה. ברור גם כי העובדה ש-C# פותחה אחרי ג'אווה איפשרה ל"מיקרוסופט" ללמוד מהחסרונות והיתרונות שלה וליישם את הלקחים בשפה החדשה.
אנשי "סאן" טענו כי "מיקרוסופט" גנבה לא מעט רעיונות משפת ג'אווה. לטענתם, C# היא בעצם חיקוי לא מוצלח של ג'אווה ממנו הוסרו אמינות, יצרנות ואבטחה. ב"מיקרוסופט" מתעקשים לעומת זאת כי השפה דומה יותר ל-C++ מאשר לג'אווה.
ההבדל המהותי ביותר בין #C לג'אווה הוא מתודולוגי, #C היא שפה מונחית עצמים טהורה (Pure Object Oriented), ב-#C כל דבר הוא אובייקט, אפילו הטיפוסים הפשוטים (int, double, float, char ועוד) הם אובייקטים. ג'אווה לעומת זאת, היא אמנם מונחית עצמים אולם היא לא שפה מונחית עצמים טהורה, הטיפוסים הפשוטים הם פרימיטיביים (כמו ב-C), והיא לא מבחינה בין מתודות וירטואליות למתודות לא וירטואליות ועוד.
יעדי השפה.
תקן EMCA מפרט את יעדי הפיתוח של השפה: