СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 23.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Основы алгоритмизации

Категория: Информатика

Нажмите, чтобы узнать подробности

Создание языка С++

Просмотр содержимого документа
«Основы алгоритмизации»

Год рождения – 1972 Автор – Денис Ритчи Язык разработан в качестве средства разработки, более простого, чем ассемблер, в ходе работ над операционной системой UNIX для ЭВМ семейства PDP. За основу были взяты языки BCPL (создан Мартином Ричардсоном в 1966 г.) и B (создан Кеном Томпсоном в 1970 г. для PDP-7). В настоящее время из 13000 строк системного кода UNIXа лишь 800 строк, выполняющих работу наиболее низкого уровня, написаны на языке ассемблера. Остальная же часть этой операционной системы и множество ее программных утилит написаны на С Язык С – это алгоритмический язык
  • Год рождения – 1972
  • Автор – Денис Ритчи
  • Язык разработан в качестве средства разработки, более простого, чем ассемблер, в ходе работ над операционной системой UNIX для ЭВМ семейства PDP.
  • За основу были взяты языки BCPL (создан Мартином Ричардсоном в 1966 г.) и B (создан Кеном Томпсоном в 1970 г. для PDP-7).
  • В настоящее время из 13000 строк системного кода UNIXа лишь 800 строк, выполняющих работу наиболее низкого уровня, написаны на языке ассемблера. Остальная же часть этой операционной системы и множество ее программных утилит написаны на С
  • Язык С – это алгоритмический язык "не очень высокого уровня". При проектировании учитывалась возможность получения непосредственного доступа к объектам, которыми оперируют процессоры компьютера: разрядам, байтам, словам, адресам. Язык подходит для системного программирования.
В языке С удачно сочетаются лучшие свойства ассемблера и языков высокого уровня. От ассемблера были взяты эффективные средства работы с оперативной памятью и регистрами микропроцессора, от языков высокого уровня - широкий набор управляющих конструкций, возможность работы со сложными структурами данных, гибкие средства ввода/вывода информации Некоторые причины популярности С: язык С обладает достаточно простым синтаксисом программы компактны, но не настолько, чтобы не быть непонятными язык обеспечивает богатый набор операций для вычисления выражений и дает возможность обходиться без языка ассемблера даже при работе с битами программы на языке С легко переносятся с одной ЭВМ на другую язык С обладает достаточно простым синтаксисом программы компактны, но не настолько, чтобы не быть непонятными язык обеспечивает богатый набор операций для вычисления выражений и дает возможность обходиться без языка ассемблера даже при работе с битами программы на языке С легко переносятся с одной ЭВМ на другую
  • В языке С удачно сочетаются лучшие свойства ассемблера и языков высокого уровня. От ассемблера были взяты эффективные средства работы с оперативной памятью и регистрами микропроцессора, от языков высокого уровня - широкий набор управляющих конструкций, возможность работы со сложными структурами данных, гибкие средства ввода/вывода информации
  • Некоторые причины популярности С:
  • язык С обладает достаточно простым синтаксисом программы компактны, но не настолько, чтобы не быть непонятными язык обеспечивает богатый набор операций для вычисления выражений и дает возможность обходиться без языка ассемблера даже при работе с битами программы на языке С легко переносятся с одной ЭВМ на другую
  • язык С обладает достаточно простым синтаксисом
  • программы компактны, но не настолько, чтобы не быть непонятными
  • язык обеспечивает богатый набор операций для вычисления выражений и дает возможность обходиться без языка ассемблера даже при работе с битами
  • программы на языке С легко переносятся с одной ЭВМ на другую
  • Язык Си относится к числу компилируемых языков программирования. Это означает, что подготовка к выполнению Си-программы включает в себя следующие этапы:
  • ввод исходного текста программы в файл при помощи какого-либо редактора текстов (имя файла, как правило, имеет стандартное расширение " C " для С и " C PP " для С++) компиляция программы , т.е. преобразование ее описания на входном языке в семантический эквивалент на машинном языке, называемый объектным модулем (имя файла, в который помещается результат компиляции, обычно имеет расширение " OBJ ") построение готового к выполнению загрузочного модуля из объектных модулей, включая модули из внешних библиотек (файл, содержащий готовую программу, имеет имя с расширением " EXE ")
  • ввод исходного текста программы в файл при помощи какого-либо редактора текстов (имя файла, как правило, имеет стандартное расширение " C " для С и " C PP " для С++)
  • компиляция программы , т.е. преобразование ее описания на входном языке в семантический эквивалент на машинном языке, называемый объектным модулем (имя файла, в который помещается результат компиляции, обычно имеет расширение " OBJ ")
  • построение готового к выполнению загрузочного модуля из объектных модулей, включая модули из внешних библиотек (файл, содержащий готовую программу, имеет имя с расширением " EXE ")
исходный модуль ( source code ) создание текста программы *.с *. cpp редактор трансляция объектный модуль ( object code ) *. obj компилятор компоновщик ( linker ) сборка *. exe исполняемый модуль выполнение ОС проверка правильно? нет да

исходный модуль

( source code )

создание текста программы

*.с *. cpp

редактор

трансляция

объектный модуль

( object code )

*. obj

компилятор

компоновщик

( linker )

сборка

*. exe

исполняемый модуль

выполнение

ОС

проверка

правильно?

нет

да

Всегда необходимо проверять правильность работы программы То, что программа правильно откомпилировалась, не гарантирует правильность реализации заложенного алгоритма работы Необходима проверка на тестовых примерах Однако правильность выполнения тестового примера все равно не гарантирует отсутствие ошибок При нахождении ошибок в программе необходимо вернуться к начальному редактированию текста, компилированию, сборке и т.д. Такой процесс называется отладкой (дебаггинг - ловля блох). 9 сентября 1945 г. ученые Гарвардского университета, тестирующие машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле. Извлеченное насекомое было вклеено в технический дневник, с сопроводительной записью:
  • Всегда необходимо проверять правильность работы программы
  • То, что программа правильно откомпилировалась, не гарантирует правильность реализации заложенного алгоритма работы
  • Необходима проверка на тестовых примерах
  • Однако правильность выполнения тестового примера все равно не гарантирует отсутствие ошибок
  • При нахождении ошибок в программе необходимо вернуться к начальному редактированию текста, компилированию, сборке и т.д.
  • Такой процесс называется отладкой (дебаггинг - ловля блох).

9 сентября 1945 г. ученые Гарвардского университета, тестирующие машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле. Извлеченное насекомое было вклеено в технический дневник, с сопроводительной записью: "First actual case of bug being found". Название "баг" прижилось. В настоящее время реликвия хранится в одном из музеев США

Система программирования – программный комплекс, предназначенный для разработки, отладки и документирования программ Основные компоненты системы программирования: язык программирования интегрированная среда разработки редактор текстов подсистема справочной информации подсистема работы с файлами подсистема управления компиляцией и редактирования связей отладчик редактор связей (компоновщик, сборщик) библиотеки файлы документации язык программирования интегрированная среда разработки редактор текстов подсистема справочной информации подсистема работы с файлами подсистема управления компиляцией и редактирования связей отладчик редактор текстов подсистема справочной информации подсистема работы с файлами подсистема управления компиляцией и редактирования связей отладчик редактор связей (компоновщик, сборщик) библиотеки файлы документации
  • Система программирования – программный комплекс, предназначенный для разработки, отладки и документирования программ
  • Основные компоненты системы программирования:
  • язык программирования интегрированная среда разработки редактор текстов подсистема справочной информации подсистема работы с файлами подсистема управления компиляцией и редактирования связей отладчик редактор связей (компоновщик, сборщик) библиотеки файлы документации
  • язык программирования
  • интегрированная среда разработки редактор текстов подсистема справочной информации подсистема работы с файлами подсистема управления компиляцией и редактирования связей отладчик
  • редактор текстов
  • подсистема справочной информации
  • подсистема работы с файлами
  • подсистема управления компиляцией и редактирования связей
  • отладчик
  • редактор связей (компоновщик, сборщик)
  • библиотеки
  • файлы документации
Любая программа на языке С представляет собой совокупность функций, выполняющих основную работу по реализации некоторого алгоритма Каждая из этих функций, в свою очередь, есть независимый набор описаний и операторов, заключенных между заголовком функции и ее концом Та функция, с которой начинается выполнение программы, называется главной функцией. Она должна иметь предопределенное имя main( )
  • Любая программа на языке С представляет собой совокупность функций, выполняющих основную работу по реализации некоторого алгоритма
  • Каждая из этих функций, в свою очередь, есть независимый набор описаний и операторов, заключенных между заголовком функции и ее концом
  • Та функция, с которой начинается выполнение программы, называется главной функцией. Она должна иметь предопределенное имя main( )
Самая простая программа должна напечатать какие-либо слова. Это первая программа, которую пишут на всех языках   #include  void main( ) {   printf(
  • Самая простая программа должна напечатать какие-либо слова. Это первая программа, которую пишут на всех языках

#include

void main( ) { printf("HELLO, World \n");

}

  • #include void main( ) { printf("HELLO, World \n"); }
  • #include void main( ) { printf("HELLO, World \n"); }


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!