Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемТамара Пупышева
1 Программировани е Сергей Салищев Занятие 1. Введение
2 Обзор Обо мне План работ на семестр Литература Требования Выбор языка Среда разработки Ссылки Введение в С/С#/Java
3 План работ на семестр Ликвидация «алгоритмической безграмотности» Зачет 15 задач В следующем семестре как писать большие программы, которые делают полезные вещи
4 Литература Кормен, Ривест, Лейзерсон. Алгоритмы: построение и анализ Google Ахо, Ульман, Хопкрофт. Построение и анализ вычислительных алгоритмов Вирт. Алгоритмы и структуры данных Кнут. Искусство программирования
5 Что инженер делает на работе Google 5-20% Чтение документации 5-50% Чтение чужого кода 5-60% Тестирование и отладка 25-80% Документирование ? Когда программировать?
6 Требования к задачам Код должен быть читаем Java style guide Константы Мнемонические имена Код должен работать Автоматические тесты Код должен быть хорошим Асимптотически быстрый алгоритм Отсутствие бесполезных действий Использовать стандартные библиотеки
7 Среда разработки Редактор Синтаксическое выделение Авто-завершение Авто-исправление Отладчик Пошаговое исполнение Точки останова Контроль данных
8 Критерии выбора языка Простота Выразительность Императивный Декларативный Безопасность Востребованность Библиотеки Кросс-платформенность Эффективность Низкоуровневые возможности Параллелизм
9 Выбор языка: С Достоинства Простота Выразительность Востребованность Библиотеки Кросс-платформенность Эффективность Низкоуровневые возможности Недостатки Арифметика указателей Низкий уровень абстракций Опасность ошибок
10 Выбор языка: Java Достоинства Простота Библиотеки Востребованность Кросс-платформенность Сборка мусора Эффективность Параллелизм Недостатки Отсутствие низкоуровневых средств Бедность средств шаблонного программирования
11 Выбор языка: C# Достоинства Простота Библиотеки Востребованность Сборка мусора Эффективность Параллелизм Низкоуровневые средства Богатая система типов, шаблоны Недостатки Кросс-платформенность
12 С++ Достоинства Гибкость Эффективность Востребованность Недостатки Слишком сложно
13 Другие языки Достоинства Различные Недостатки Востребованность Эффективность Библиотеки
14 Чем пользуемся: C Программы Программы MS Visual Studio MS Visual Studio GCC / MinGW GCC / MinGW Документация Документация Google Google ANSI C99 (ISO/IEC 9899:1999)
15 Чем пользуемся: Java Программы Eclipse JDK 1.7 Документация Google Java Language Specification Java Style Guide Java Tutorial JavaDoc
16 Чем пользуемся: C# Программы Программы MS Visual Studio MS Visual Studio.NET 4.0.NET 4.0 Mono Mono Документация Документация Google Google MSDN MSDN ECMA C# Language Specification ECMA C# Language Specification ECMA CLI Specification ECMA CLI Specification
17 Данные + Программа Данные Таблица с именованными ячейками Значения ячеек Структура входных данных Структура выходных данных Структура внутренних данных Программа Последовательность шагов действий над данными Иерархия Структур данных Подпрограмм
18 Объект и Класс Объект Объединение данных и подпрограмм (методов) работы с ними Является экземпляром класса Существует только во время исполнения Класс Описывает структуру данных объектов Описывает методы объектов Классу соответствует объект
19 Примеры Объектов и Классов Ваша программа Строка Массив Файл Композитная структура данных
20 Типы данных: C char, short, int, long, long long (signed/ unsigned) float, double, long double Структуры / Объединения Массивы Указатели Указатели на функции
21 Типы данных: Java Примитивные boolean byte, short, int, long char float, double Ссылочные Скалярные Массивы
22 Типы данных: C# Значения Значения Числовые типы Числовые типы char char Структуры Структуры Ссылки Ссылки Указатели (в небезопасном подмножестве) Указатели (в небезопасном подмножестве)
23 Поля и Методы (C# / Java) Статические Принадлежат объекту Класс Конструкторы Обычные Принадлежат объектам экземплярам Параметры Java: Все параметры передаются по значению C#: есть ссылочные параметры Локальные переменные
24 Базовые операторы Признак оператора ; Присваивание (=,...) Арифметические (+, -, *, /, %) Сравнения (==, >=,,
25 Блоки и ветвления Блок {} if... else Цикл while, do...while Цикл for Переход return, break, continue C / C# Переход goto Переключатель switch … case Java / C# Инициирование исключений throw Обработка исключений try … catch … finally, throws
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.