
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Санкт-Петербургский Национальный исследовательский университет информационных технологий, механики и оптики»
|
|
Кафедра информационных систем
УТВЕРЖДАЮ
Заведующая кафедрой ИС
______________В.Г.Парфенов
“____“ ___________20___ г.
КОНСПЕКТ ЛЕКЦИЙ
по дисциплине |
ОПД.Ф.03 Объектно-ориентированный анализ и программирование |
|
(наименование дисциплины) |
-
Модуль №: _5_ Основы программирования. Массивы, строки и файлы________
Тема лекционных занятий: Состав языка и среды. Концепция типа данных.____
Литература:
Основная:
1. |
Троелсен Э. С# и платформа .NET. Библиотека программиста.-СПб.: Питер, 2008. - 796 с. |
|
(наименование издания, страницы) |
2. |
Фролов А.В., Фролов Г.В. Язык С#. Самоучитель. - М.: Диалог — МИФИ, 2003. - 560 с. |
|
(наименование издания, страницы) |
3. |
|
|
(наименование издания, страницы) |
Дополнительная:
1. |
Тай Т., Лэм Х.К. Платформа .NET. Основы. - Спб.:Символ-Плюс,2003. -336 с. |
|
(наименование издания, страницы) |
2. |
Биллинг В.А. Основы программирования на C#. - М.: Изд-во «Интернет университет информационных технологий — ИНТУИТ.ру», 2006. -488 с. |
|
(наименование издания, страницы)
|
Электронные информационные источники |
|
1. |
http://de.ifmo.ru — конспекты лекций, электронные тесты |
|
|
2. |
http://cis.ifmo.ru-презентации лекций вспомогательные материалы |
|
|
Краткое содержание лекций по теме:
-
1. Особенности .NET
Общеязыковая система типов
Проверка типов параметров
Отсутствие возможности прямого управления памятью
Сборка мусора
Компонентная технология
-
2. Преимущества
Отсутствие традиционных проблем с утечкой памяти
Продвинутая система безопасности
Многообразие языков программирования
Богатая библиотека готовых компонентов
Можно разработать любое бизнес-приложение
Высокая продуктивность программистов
Решение проблемы DLL Hell
Поддержка различных платформ
Compact Framework, Micro Framework
-
3. Недостатки
Для работы приложений необходимо устанавливать .NET Framework
Скорость выполнения программ медленней по сравнению с неуправляемым кодом
Взаимодействие с неуправляемым кодом трудоёмко и работает медленно
-
4. Состав .Net 3.5
.NET Framework 2.0
CLR и библиотеки базовых классов
Поддержка универсальных типов и методов
Компиляторы для C#, Visual Basic, C++ и J#
ADO.NET, ASP.NET, Windows Forms, web-службы
Пакеты обновления 1 (SP1) и 2 (SP2) для .NET Framework 2.0
.NET Framework 3.0
Windows Presentation Foundation (WPF)
Windows Communications Foundation (WCF)
Windows Workflow Foundation (WF)
.NET Framework 3.5
LINQ
Новые компиляторы для C#, Visual Basic, C++ и J#
ASP.NET AJAX
.NET Framework 3.5 с пакетом обновления 1 (SP1)
Платформа динамических данных ASP.NET
ADO.NET Entity Framework
Поддержка поставщика данных SQL Server 2008
Поддержка .NET Framework Client Profile
-
5. Hello World
using System;
namespace Group2000.Ivanov.HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world!");
}
}
}
-
6. Значимые типы данных
Непосредственно содержат данные
У каждой переменной есть своя копия данных
Операции с одной переменной не могут повлиять на данные другой переменной
(int, float, byte, char, long, uint, double, decimal, enum, struct...)
-
7. Ссылочные типы данных
Хранят ссылку на данные (известны как объекты)
Две переменных ссылочных типов данных могут ссылаться на один объект
Операции с одной переменной ссылочного типа данных могут повлиять на другие переменные
(String, class)
-
8. Декларирование переменных
int elementCount;
int elementCount, penNumber;
int elementCount,
penNumber;
char firstLetter = ‘A’;
Перед использованием переменная должна быть инициализирована!
int elementCount = 45;
char firstLetter = ‘A’;
-
9. Сложное присваивание
elementCount = elementCount + 5;
elementCount += 5;
elementCount -= 8;
-
10. Особенности операции присваивания
Пример 1
int itemCount = 0;
Console.WriteLine(itemCount = 2); // Prints 2
Console.WriteLine(itemCount = itemCount + 40); // Prints 42
Пример 2
int itemCount = 0;
Console.WriteLine(itemCount += 2); // Prints 2
Console.WriteLine(itemCount -= 2); // Prints 0
Пример 3
int itemCount = 42;
int prefixValue = ++itemCount; // prefixValue == 43
int postfixValue = itemCount++; // postfixValue = 43
Разработал:
_______________________
______________________
«____» _____________ 20__ г.