Тема: Введение в
программирование на С++. Первая программа на языке С++
Цель:
Образовательная:
-
дать основные сведения о языках программирования,
средствах языков, структуре программ;
Развивать:
– технологическое мышление;
Воспитывать:
– интерес к самостоятельной
работе, творчеству;
Тип урока: объяснительно-дискуссионный
с элементами практикума.
Ход урока
1.
Организационный этап.
Приветствие.
Постановка целей урока
2.
Изучение нового материала.
1) Как вы уже знаете компьютер – это устройство для универсальной
обработки информации. Достаточно только написать точную инструкцию
(последовательность) тех действий, которые нам нужны. Вспомним, что один из
способов описания алгоритмов – словесный. Последовательность действий
называется программой. Эту последовательность действий необходимо писать на
языке, который будет понятен человеку и компьютеру.
Под языком понимают
любую систему знаков (символы, жесты, положение переключателя и т.д.). Но язык
человека отличается от языка компьютера (регистр, переслать, перейти по адресу
и т.д., тем более все это записывается в машинных кодах). Поэтому, чтобы
компьютер мог понять написанную программу, она должна быть переведена на язык,
понятный самому компьютеру. Этот процесс перевода называется трансляцией.
Существует два различных подхода к трансляции – интерпретация и компиляция:
Языки
программирования интерпретирующего типа при использовании программы за один
проход переводят в машинные коды одну строку программы. Понятно, что при
большом размере программы процесс исполнения готовой программы занимает
довольно много времени. В то же время при разработке программ режим
интерпретации очень удобен, так как любое внесенное изменение сразу же
переводится в машинные коды и исполняется.
Языки компилирующего
типа сначала переводят весь текст программы в машинные коды, а уже затем
полученный файл может быть запущен на выполнение. Откомпилированная программа
выполняется гораздо быстрее (в 5-10 раз), но наличие ошибок на этапе компиляции
требует довольно много времени на их исправление.
Работу
интерпретатора можно сравнить с работой синхронного переводчика (транслятора):
вы слышите перевод сразу же, а работу компилятора – с работой переводчика
художественной литературы: вы читаете книгу сразу на понятном для вас языке,
что более удобно. Чем переводить книгу строку за строкой.
2)
Как возник язык С++
Первое, чем
обратил на себя внимание язык C++, это его необычное название.
Что это за язык
такой? Может быть С? Существуют ли языки С- или С-? Есть ли языки с названиями
А и В? Ответы на большинство этих вопросов отрицательны.
На большинство, но
не на все. Существует язык В, предшественником которого является не язык А, а
язык, называемый BCPL. Язык С был разработан на основе языка В, а C++, в свою
очередь, на основе языка С. Почему в названии языка C++ используются два
символа «плюс»? Как вы узнаете далее, что «++» это одна из операций,
поддерживаемых языками С и C++, так что получается каламбур. Языки BCPL и В нас
не интересуют – то просто ранние версии языка программирования С. А рассказ о
языке C++ мы начнем с языка С.
Язык
программирования С был разработан в 1970-х годах Деннисом Ричи в AT&T Bell
Laboratories. На нем была написана операционная система UNIX. (Эта операционная
система существовала и до появления С, но ее первые версии создавались либо на
языке ассемблера, либо на В – языке, разработанном Кеном Томпсоном, создателем
UNIX.) С – язык общего назначения, подходящий для написания любых программ, но
его успех и популярность тесно связаны именно с операционной системой UNIX.
Если вам нужно модифицировать что-то в UNIX, для этого потребуется С. Они
изначально были связаны друг с другом так тесно, что со временем не только
системные программы, но и все коммерческое программное обеспечение, работающее
под управлением UNIX, было написано на языке С. Этот язык стал настолько
популярным, что были созданы его версии и для других распространенных операционных
систем. Теперь его использование уже не ограничивается компьютерами, на которых
установлена ОС UNIX.
Несмотря на огромную
популярность С обладает рядом недостатков. Это довольно необычный язык в том
отношении, что, являясь языком высокого уровня, он содержит много элементов
языка низкого уровня. Поэтому С, скорее, находится посередине между двумя
крайностями – языком очень высокого и очень низкого уровня, причем в этом
состоит его сила и его слабость. С одной стороны, подобно низкоуровневому языку
ассемблера, С позволяет напрямую манипулировать памятью компьютера, а с другой
стороны, благодаря использованию элементов высокоуровневого языка, в нем очень
упрощены такие операции, как чтение и запись данных.
Так что язык С
прекрасно подходит для написания системных приложений, а для программ
прикладного характера он менее удобен, поскольку сложнее других языков высокого
уровня. Кроме того, он выполняет значительно меньше автоматических проверок и
других полезных операций.
Для преодоления
такого рода ограничений в начале 1980-х годов Бьярном Страустрапом из AT&T
Bell Laboratories был разработан язык C++. В него вошла большая часть элементов
языка С, поэтому большинство программ, написанных на С, являются программами на
C++. (Обратное неверно: программы на C++ в подавляющем большинстве не являются
программами на С.) В отличие от С, язык C++ включает средства для объектно-ориентированного
программирования – очень мощной технологии, разработанной относительно недавно.
3)
Рассмотрите этапы разработки
программ.
3. Домашнее задание
1)
читать §17, 18.
2)
выполнить несколько заданий в рабочей тетради.
Ответы на
задания, представленные в дидактических материалах:
Разгадайте ребус:
Ответ: ветвление
Ответ: алгол
Ответ: бейсик
Задание 3. Какую роль выполняет директива #include?
Ответ: Это
команда для препроцессора, который автоматически запускается при вызове
компилятора. Данная директива служит для введения содержимого файла, имя
которого стоит после директивы, в исходный текст программы.
Задание 4. Что неправильно (если
что-то неправильно) в каждой из следующих директив include:
а)
#include <iostream >
б)
linclude < iostream>
в) #include <iostream>
Ответ:
а) лишний пробел
после имени файла iostream
вызывает сообщение об ошибке «файл не найден»;
б) лишний пробел
перед именем файла iostream вызывает сообщение об ошибке «файл не найден»;
в) это правильная
директива.
Задание 5. Заполните
пробелы в следующих утверждениях.
Ответ: a)
main, б) Левая фигурная скобка ({), правая фигурная скобка (}). в) точкой с
запятой, г) новая строка,
Задание 7. Укажите, что из нижеследующего
верно или неверно. Если неверно, то объясните, почему.
Ответ: а)
Неверно. Комментарии не вызывают каких-либо действий при выполнении программы.
Они используются для документирования программы и улучшения ее читаемости.
б) Верно.
в) Неверно. C++ - чувствителен к регистру, так
что эти переменные различны.
г) Верно.
д) Неверно. Один оператор вывода, использующий
cout и
содержащий несколько символов новой строки \n, может напечатать несколько строк.
Задание 8. В чем разница между символами комментариев // и /* ?
Ответ:
Комментарии, выделенные двойным слешем (//), распространяются до конца строки.
Комментарии, начинающиеся слешем со звездочкой (/*), продолжаются до тех
пор, пока не встретится символ завершения комментария (*/). Помните, что даже
конец функции не завершит действие комментария, начавшегося с пары символов (/*). Если вы
забудете установить завершение комментария (*/), то получите
сообщение об ошибке во время компиляции.
Задание 9.
а) cout <<"Это программа на
С++.\n";
б) cout<<"Это программа\nна С++.\n";
в) cout <<"Это\nпрограмма\nна\nС++.\n";
г) cout << "Этo\tnporpaммa\tнa\tC++.\n";
Задание 12. Существует три основных вида
программных ошибок. Как вы думаете, какие?
Ответ: Три основных вида программных ошибок таковы: синтаксические ошибки,
ошибки периода выполнения и логические ошибки.
Задание 13. Пропуск знака препинания (например, точки
с запятой) – это ошибка. К какому типу она относится?
Ответ: Синтаксическая ошибка.
Задание 14. Если не поставить последнюю закрывающую
скобку программы (}), это будет ошибкой. К какому типу она относится?
Ответ: Синтаксическая ошибка.
Задание 15. Предположим, программа содержит код, при
проверке которого компилятор выдает предупреждение. Что следует делать в этом
случае? Что думаете вы сами?
Ответ: К
предупреждениям следует относиться как к ошибкам до тех пор, пока вы сами не
сможете решить, можно игнорировать конкретное предупреждение или нет.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.