1 Глава 1 Введение в компьютеры и программирование на С++

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



Advertisements
Похожие презентации
Программа Виды программ Языки программирования. ПК – это электронный прибор, предназначенный для автоматизации создания, хранения, обработки и передачи.
Advertisements

Программное обеспечение ЭВМ. Программное обеспечение (ПО) компьютера (Software) - совокупность программ, хранящихся в долговременной памяти компьютера,
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Программное обеспечение ЭВМ Скачать конспект к данной презентации Qo.do.aM - >>>мир предметника
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Программное обеспечение компьютера. Компьютер без программного обеспечения и операционной системы – это бесполезный хлам, груда железа.
когда компьютер еще назывался ЭВМ (электронно-вычислительная машина), он мог только вычислять. Процесс обработки информации состоял в операциях над числовыми.
Обзор языка Си Лекция 1. Краткая история развития С Автор - Деннис Ритчи (Dennis Ritchie) Компьютер - DEC PDP-11 ОС - Unix. Основа - "более старый" язык.
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. Системное программное обеспечение - это комплекс программ, которые обеспечивают эффективное управление компонентами.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
1 Диаграммы реализации (implementation diagrams).
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Тест составила: Намикос Татьяна Владимировна, учитель информатики школы 3, г. Осинники.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Учитель информатики Трашков О.Л.. Обработка информации в компьютере и управление всеми его устройствами осуществляется с помощью программ. Компьютер представляет.
Программное обеспечение компьютера. Совокупность программ, хранящихся в долговременной памяти компьютера, составляют программное обеспечение (ПО) компьютера.
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Информационные технологии Литература Керниган Б., Ритчи Д. Язык программирования Си. М.И. Болски. Язык программирования Си. Справочник. 2.
Программное и аппаратное обеспечение. Программное обеспечение (ПО, software) Классификация ПО по назначению: –системное; –прикладное; –инструментальное.
Учитель информатики Трашков О.Л.. Для оперативного обмена информацией и совместного использования общих ресурсов компьютеры объединяют в сеть. Ресурсами.
Транксрипт:

1 Глава 1 Введение в компьютеры и программирование на С++

2 Вопросы 1.1Введение 1.2Как устроен компьютер 1.4Эволюция операционных систем 1.5Виды вычислений 1.6Виды языков 1.7История C 1.8Стандартная библиотека C 1.9Основной тренд: Объектная технология 1.10 C++ и как на нем писать 1.11 Java и как на ней писать 1.12 Другие языки ВУ 1.13 Структурное программирование 1.14 Основы среды разработчика на C

3 Вопросы 1.15Тенденции в области аппаратного обеспечения 1.18Основные выводы и заметки о C

4 1.1 Введение Что будем изучать Что будем изучать Язык программирования C Язык программирования C Структурное программирование и другие техники разработки ПО Структурное программирование и другие техники разработки ПО Также мы рассмотрим Также мы рассмотрим C++ C++ Главы 15 – 23 введение в язык C++ Главы 15 – 23 введение в язык C++ Java Java Главы 24 – 30 введение в язык Java Главы 24 – 30 введение в язык Java На кого рассчитан курс На кого рассчитан курс Начальный уровень или отсутствие опыта программирования Начальный уровень или отсутствие опыта программирования Тех, кто хочет получить дополнительные знания Тех, кто хочет получить дополнительные знания

5 1.2 Организация компьютера 6 логических узлов в каждом компьютере: 6 логических узлов в каждом компьютере: 1.Узел ввода Получает информацию от устройств ввода (клавиатура, мышь) Получает информацию от устройств ввода (клавиатура, мышь) 2.Узел вывода Отображает информацию (на экран, на принтер, на управляющие устройства) Отображает информацию (на экран, на принтер, на управляющие устройства) 3.Узел памяти Быстрый доступ, небольшая емкость, сохраняет введенную информацию Быстрый доступ, небольшая емкость, сохраняет введенную информацию 4.Арифметико-логическое устройство (АЛУ) Выполняет арифметические вычисления и логические операции Выполняет арифметические вычисления и логические операции

6 1.3 Организация компьютера 6 логических узлов в каждом компьютере: 6 логических узлов в каждом компьютере: 5.Центральный процессор (ЦП) Управляет и координирует другие узлы компьютера Управляет и координирует другие узлы компьютера 6.Узел хранения Дешевое, долгосрочное, большая емкость Дешевое, долгосрочное, большая емкость Сохраняет неактивные программы Сохраняет неактивные программы

7 1.4 Эволюция операционных систем Пакетная обработка Пакетная обработка Выполняет только одну работу/задачу одновременно Выполняет только одну работу/задачу одновременно Операционные системы Операционные системы Распределяет ресурсы для задачи Распределяет ресурсы для задачи Ускорение Ускорение Количество обрабатывающих процессов Количество обрабатывающих процессов Мультипрограммирование Мультипрограммирование Ресурсы распределены между несколькими задачами Ресурсы распределены между несколькими задачами Разделение времени Разделение времени Запуск маленькой части задачи 1, потом переход к маленькой части задачи 2 (например другого пользователя) Запуск маленькой части задачи 1, потом переход к маленькой части задачи 2 (например другого пользователя)

8 1.5 Виды вычислений (обработки данных) Персональные вычисления Персональные вычисления Достаточно экономично для личных задач Достаточно экономично для личных задач Распределенные вычисления Распределенные вычисления Вычисления передаются по сетям Вычисления передаются по сетям Клиент/серверные вычисления Клиент/серверные вычисления Разделение информации через компьютерные сети между серверами и клиентами (ПК) Разделение информации через компьютерные сети между серверами и клиентами (ПК) Облачные вычисления Облачные вычисления Разделение информации через компьютерные сети между виртуальными и реальными серверами и клиентами (ПК) Разделение информации через компьютерные сети между виртуальными и реальными серверами и клиентами (ПК)

9 1.6 Языки программирования Три типа языков программирования Три типа языков программирования 1.Машинные языки Наборы цифр, дающие машине определенные инструкции Наборы цифр, дающие машине определенные инструкции Пример: Пример: Ассемблерные языки Аббревиатуры на английском отражающие элементарные компьютерные операции (транслируется ассемблером) Аббревиатуры на английском отражающие элементарные компьютерные операции (транслируется ассемблером) Пример: Пример: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

Языки программирования 3.Языки высокого уровня Код поход на английский текст Код поход на английский текст Используется математическая нотация (транслируется компилятором) Используется математическая нотация (транслируется компилятором) Пример: Пример: grossPay = basePay + overTimePay

История C C Разработан Ritchie из двух языков, BCPL и B Разработан Ritchie из двух языков, BCPL и B Использовался для разработки UNIX Использовался для разработки UNIX Использовался для написания Linux Использовался для написания Linux Аппаратно независимый (переносимый) Аппаратно независимый (переносимый) С 1970 язык C называется « Традиционным C" С 1970 язык C называется « Традиционным C" Стандартизация Стандартизация Много вариаций C, и они несовместимы Много вариаций C, и они несовместимы Создан комитет для определения « однозначной, машинно-независимой» версии Создан комитет для определения « однозначной, машинно-независимой» версии Стандарт принят в 1989, обновлен в 1999 Стандарт принят в 1989, обновлен в 1999

Стандартная библиотека C Программы C состоят из частей/модулей, называемых функциями Программы C состоят из частей/модулей, называемых функциями Программист может создать свои функции Программист может создать свои функции Плюсы: программист знает как это работает Плюсы: программист знает как это работает Минусы: требуется время чтобы разобраться Минусы: требуется время чтобы разобраться Часто используют функции из библиотеки C Часто используют функции из библиотеки C Используйте их как кирпичики Используйте их как кирпичики Не надо изобретать велосипед Не надо изобретать велосипед Если функция уже есть, используйте ее, а не пишите сами Если функция уже есть, используйте ее, а не пишите сами Библиотечные функции пишутся аккуратно, эффективно и они переносимы Библиотечные функции пишутся аккуратно, эффективно и они переносимы

Основной тренд: Объектная технология Объекты Объекты Повторно используемые компоненты, которые моделируют объекты реального мира Повторно используемые компоненты, которые моделируют объекты реального мира Основные программные элементы Основные программные элементы Дата, время, чеки, счета, звук, видео, файл, записи, и т.д. Дата, время, чеки, счета, звук, видео, файл, записи, и т.д. Каждое существительное может быть описано объектом Каждое существительное может быть описано объектом Хорошее повторное использование Хорошее повторное использование Более понятно, лучше организовано, и проще поддерживаются чем процедурное программирование Более понятно, лучше организовано, и проще поддерживаются чем процедурное программирование Отличная модульность Отличная модульность

C++ и как писать на C++ C++ C++ Надмножество над C разработанный Bjarne Stroustrup в Bell Labs Надмножество над C разработанный Bjarne Stroustrup в Bell Labs « Приправленный» C, который обеспечивает объектно-ориентированные (ОО) возможности « Приправленный» C, который обеспечивает объектно-ориентированные (ОО) возможности Мощный ОО дизайн Мощный ОО дизайн Прирост продуктивности от 10 до 100 раз Прирост продуктивности от 10 до 100 раз Доминирующий язык в индустрии и учебе Доминирующий язык в индустрии и учебе Изучение C++ Изучение C++ Так как C++ включает C, некоторым удобнее вначале понять C, а потом C++ Так как C++ включает C, некоторым удобнее вначале понять C, а потом C++ В Главе 15, Вы найдете введение в C++ В Главе 15, Вы найдете введение в C++

Java и как писать на Java Java используется для Java используется для Создания Web с динамичным интерактивным контентом Создания Web с динамичным интерактивным контентом Масштабных приложений уровня предприятия Масштабных приложений уровня предприятия Расширения функциональности Web серверов Расширения функциональности Web серверов Приложения для бытовых устройств (мобильные, КПК) Приложения для бытовых устройств (мобильные, КПК) Как писать на Java Как писать на Java Следовать рекомендациям на Java от Sun Следовать рекомендациям на Java от Sun Первому курсу дополнительно разобраться с графикой, анимацией, аудио, видео, базами данных, сетями, многопоточностью и совместной работой Первому курсу дополнительно разобраться с графикой, анимацией, аудио, видео, базами данных, сетями, многопоточностью и совместной работой

Другие языки высокого уровня Другие языки Другие языки FORTRAN FORTRAN Для научных и инженерных приложений Для научных и инженерных приложений COBOL COBOL Для обработки больших массивов данных Для обработки больших массивов данных Pascal Pascal В «чистом» виде – академический язык, но есть успешные проекты на Delphi В «чистом» виде – академический язык, но есть успешные проекты на Delphi

Структурное прграммирование Структурное программирование Структурное программирование Дисциплинированный подход к разработке ПО Дисциплинированный подход к разработке ПО Понятно, просто тестировать и отлаживать, просто изменять Понятно, просто тестировать и отлаживать, просто изменять Многозадачность Многозадачность Много задач, запущенных параллельно Много задач, запущенных параллельно

Стадии разработки программы на С++ Фазы : 1.Редактирование 2.Препроцессинг 3.Компиляция 4.Линковка 5.Загрузка 6.Исполнение Программа создается в редакторе и сохраняется на диске Препроцессор обрабатывает код Загрузчик помещает программу в память ЦП берет инструкции из памяти и выполняет их, возможно сохраняя данные в памяти или на диск Компилятор создает объектный код и сохраняет на диск Компоновщик собирает программу и записывает на диск Загрузчик Память Компилятор Редактор Препроцессор Linker Память Диск ЦП Диск

Тренд по железу Каждый год все увеличивается вдвое: Каждый год все увеличивается вдвое: Количество памяти в которой выполняются программы Количество памяти в которой выполняются программы Количество вторичной памяти (диски) Количество вторичной памяти (диски) Используется для длительного хранения программ и данных Используется для длительного хранения программ и данных Скорость процессора Скорость процессора Скорость с которой компьютер выполняет программы Скорость с которой компьютер выполняет программы

Основные заметки Ясность Ясность Запутанные программы сложно читать, понимать и сопровождать Запутанные программы сложно читать, понимать и сопровождать C это платформонезависимый язык C это платформонезависимый язык Программы могут запускаться на разных компьютерах Программы могут запускаться на разных компьютерах Однако портируемость это недостижимая цель Однако портируемость это недостижимая цель Мы пробежали по языку C Мы пробежали по языку C Некоторые детали мы не рассмотрели Некоторые детали мы не рассмотрели Если Вам нужно больше технических деталей Если Вам нужно больше технических деталей Читайте документы стандарта C Читайте документы стандарта C Читайте книгу Kernigan и Ritchie Читайте книгу Kernigan и Ritchie