Программировани е Сергей Салищев Занятие 1. Введение.

Презентация:



Advertisements
Похожие презентации
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Advertisements

Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Типы данных Инна Исаева. Переменные Переменная - это как ящик, в котором можно хранить данные. Каждая переменная имеет своё имя, она служит для хранения.
Элементы языка СИ Средства для написания простейших программ.
Лекция 1 Введение в программирование и язык C. Машинный код Машинный код или машинный язык система команд (набор кодов операций) конкретной вычислительной.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Часть 1: «Основы программирования». Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и.
Основные типы алгоритмических структур. Линейный алгоритм ( следование ) Алгоритм, в котором команды выполняются последовательно одна за другой, называется.
Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Язык Python Универсальный язык программирования Интерпретируемый язык.
Основные типы алгоритмических структур. Линейный алгоритм (следование). Алгоритм, в котором команды выполняются последовательно одна за другой, называется.
К.т.н. Мерзлякова Екатерина Юрьевна, доцент кафедры ПМиК.
Программа повышения квалификации «Системное программирование» Приоритетное направление модернизации и технологического развития экономики России - Стратегические.
Алгоритм Леонид 10 класс. Алгоритм - это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Работу выполнили ученицы 9 «Б» класса Гордеева Татьяна и Шебаршова Рита.
Транксрипт:

Программировани е Сергей Салищев Занятие 1. Введение

Обзор Обо мне План работ на семестр Литература Требования Выбор языка Среда разработки Ссылки Введение в С/С#/Java

План работ на семестр Ликвидация «алгоритмической безграмотности» Зачет 15 задач В следующем семестре как писать большие программы, которые делают полезные вещи

Литература Кормен, Ривест, Лейзерсон. Алгоритмы: построение и анализ Google Ахо, Ульман, Хопкрофт. Построение и анализ вычислительных алгоритмов Вирт. Алгоритмы и структуры данных Кнут. Искусство программирования

Что инженер делает на работе Google 5-20% Чтение документации 5-50% Чтение чужого кода 5-60% Тестирование и отладка 25-80% Документирование ? Когда программировать?

Требования к задачам Код должен быть читаем Java style guide Константы Мнемонические имена Код должен работать Автоматические тесты Код должен быть хорошим Асимптотически быстрый алгоритм Отсутствие бесполезных действий Использовать стандартные библиотеки

Среда разработки Редактор Синтаксическое выделение Авто-завершение Авто-исправление Отладчик Пошаговое исполнение Точки останова Контроль данных

Критерии выбора языка Простота Выразительность Императивный Декларативный Безопасность Востребованность Библиотеки Кросс-платформенность Эффективность Низкоуровневые возможности Параллелизм

Выбор языка: С Достоинства Простота Выразительность Востребованность Библиотеки Кросс-платформенность Эффективность Низкоуровневые возможности Недостатки Арифметика указателей Низкий уровень абстракций Опасность ошибок

Выбор языка: Java Достоинства Простота Библиотеки Востребованность Кросс-платформенность Сборка мусора Эффективность Параллелизм Недостатки Отсутствие низкоуровневых средств Бедность средств шаблонного программирования

Выбор языка: C# Достоинства Простота Библиотеки Востребованность Сборка мусора Эффективность Параллелизм Низкоуровневые средства Богатая система типов, шаблоны Недостатки Кросс-платформенность

С++ Достоинства Гибкость Эффективность Востребованность Недостатки Слишком сложно

Другие языки Достоинства Различные Недостатки Востребованность Эффективность Библиотеки

Чем пользуемся: C Программы Программы MS Visual Studio MS Visual Studio GCC / MinGW GCC / MinGW Документация Документация Google Google ANSI C99 (ISO/IEC 9899:1999)

Чем пользуемся: Java Программы Eclipse JDK 1.7 Документация Google Java Language Specification Java Style Guide Java Tutorial JavaDoc

Чем пользуемся: 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

Данные + Программа Данные Таблица с именованными ячейками Значения ячеек Структура входных данных Структура выходных данных Структура внутренних данных Программа Последовательность шагов действий над данными Иерархия Структур данных Подпрограмм

Объект и Класс Объект Объединение данных и подпрограмм (методов) работы с ними Является экземпляром класса Существует только во время исполнения Класс Описывает структуру данных объектов Описывает методы объектов Классу соответствует объект

Примеры Объектов и Классов Ваша программа Строка Массив Файл Композитная структура данных

Типы данных: C char, short, int, long, long long (signed/ unsigned) float, double, long double Структуры / Объединения Массивы Указатели Указатели на функции

Типы данных: Java Примитивные boolean byte, short, int, long char float, double Ссылочные Скалярные Массивы

Типы данных: C# Значения Значения Числовые типы Числовые типы char char Структуры Структуры Ссылки Ссылки Указатели (в небезопасном подмножестве) Указатели (в небезопасном подмножестве)

Поля и Методы (C# / Java) Статические Принадлежат объекту Класс Конструкторы Обычные Принадлежат объектам экземплярам Параметры Java: Все параметры передаются по значению C#: есть ссылочные параметры Локальные переменные

Базовые операторы Признак оператора ; Присваивание (=,...) Арифметические (+, -, *, /, %) Сравнения (==, >=,,

Блоки и ветвления Блок {} if... else Цикл while, do...while Цикл for Переход return, break, continue C / C# Переход goto Переключатель switch … case Java / C# Инициирование исключений throw Обработка исключений try … catch … finally, throws