Для всех учителей из 37 347 образовательных учреждений по всей стране

Скидка до 75% на все 778 курсов

Выбрать курс
Получите деньги за публикацию своих
разработок в библиотеке «Инфоурок»
Добавить авторскую разработку
и получить бесплатное свидетельство о размещении материала на сайте infourok.ru
Инфоурок Информатика Другие методич. материалыУроки программирования на C++(Подготовка к ЕГЭ)

Уроки программирования на C++(Подготовка к ЕГЭ)

библиотека
материалов

Уроки программирования на языке С++

(Курс подготовки к ЕГЭ по информатики)



Герасимов Н.А. 2018 г. Москва

Оглавление

Введение: Что такое программирование?

  1. Программирование для компьютеров

  2. Языки программирования

  3. Первые шаги программирования на языке С++

  4. Примеры учебных программ на С++

  5. Вопросы для самопроверки

Литература





Введение: Что такое программирование?



В жизни мы часто встречаемся с необходимостью выполнять некоторые операции в определенной последовательности. Например, нам необходимо приготовить себе яичницу. Что Вам нужно сделать для этого? Возможный вариант действий такой:

- взять из холодильника яйцо (Ор1);

- выбить его на сковородку (предположим что она стоит на столе)(Ор2);

- поставить сковородку на плиту (будем считать, что она уже включена) (Ор3);

- ждать 10 мин(Ор4);

- снять сковороду с готовой яичницей (Ор5).

Таким образом, выполнив 5-ть операций (Ор1, Ор2,…,Ор5) в определенной последовательности мы получаем желаемый результат: готовую яичницу.

Запись этой последовательности на каком-то языке понятном другому исполнителю (например, другому повару) и называется программой. А процесс записи таких последовательностей операций называется программированием.

Очевидно, что запись команд может вестись как на понятном естественном языке, так и на специальных языках, приспособленных наилучшим образом для записи специфических команд. Часто для записей последовательностей инструкций используются графические способы, например, графы. Граф это графический рисунок из кружков и стрелок: кружок обозначает операций (Оi), а стрелка – связь одной операции с другой (OiOj). Такой граф часто называют «схемой алгоритма», потому что он содержит в компактной и наглядной форме основные шаги обработки данных.

Вот как может выглядеть граф-схема нашего примера с яичницей.



hello_html_22009f38.png

Рис.1. Вариант граф-схемы последовательности выполнения программы из 5-ти операций О1-О5.

Такую последовательность обычно называют «линейной» программой. Но программы могут иметь и более сложную («разветвленную») структуру. Но об этом чуть позже.



  1. Программирование для компьютеров

Программирование используется человечеством очень давно, т.к. это очень удобный способ для передачи опыта от одного субъекта к другому. Наиболее известный случаи использования программирования в «до компьютерную эру», это составление управляющих карт (карты «Жаккарта») для управления ткацкими станками. Для того чтобы передать на ткацкий станок рисунок, составлялись специальные картонные карты, на которых в определенной последовательности выбивались команды по управлению ткацким станком. Т.е. команда – это инструкция о том, как выполнить операцию. Инструкции наносились на карточку с помощью небольших отверстий (перфораций), которые указывали какую операцию надо совершить на данном шаге.

hello_html_m42f454c.jpg

Рис.2. «Карты Жаккарта» с перфорациями для ткацкого станка.

Или вот еще известный пример успешного применения программирования – управляемые картами музыкальные устройства или шарманки. Здесь также используется принцип записи музыкальных операций с помощью определенной системы кодировки команд управления музыкальным инструментом. Команды кодировались с помощью специальных штырьков, которые крепились на барабан. При вращении барабана штырьки передавали инструкции на исполнительное музыкальное устройство. Таким образом, мелодия повторялась столько раз, сколько раз вращался барабан.

Но более известный нам на практике сборник записей инструкций (т.е. программ) является поваренная книга. Ведь каждый рецепт – это и есть программа приготовления некоторого блюда, записанного на естественном языке, и понятная практически каждому человеку.

Конечно программирование, как специальная отрасль человеческой деятельности полностью сформировалась с появлением вычислительных устройств, т.е. устройств обработки числовых данных.

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

Друг Бэббиджа, графиня Ада Августа Лавлейс, показала, как можно использовать аналитическую машину для выполнения ряда конкретных вычислений. Чарльза Бэббиджа считают изобретателем компьютера, а Аду Лавлейс называют первым программистом компьютера.

С этого момента начинается эпоха программирования для компьютеров.

Таким образом, мы можем считать, что программа – это записанные по определенным правилам на некотором языке инструкции и данные, которые вводятся в компьютер для обработки.

Язык, на котором пишутся программы для компьютеров, называется языком программирования.



Программы могут иметь не только «линейную» структуру (см. рис.1), но могут и разветвляться в зависимости от наступления (или выполнения) условий. Для этого с среди команд языка программирования должны быть специальные операторы анализа условий.

hello_html_m3a5c4715.png

Рис. Вариант схемы разветвляющейся программы

Это как в сказке, в которой царевич стоит перед камнем, на котором написано: «Направо ехати – женату быти, налево ехати – богато быти, как прямо ехати – живу не бывати». Царевич подумал и поехал прямо. Так и в программе оператор анализа условия (или выбора направления) принимает решение по развитию процесса обработки данных. Это можно отразить схемой как показано выше на Рис.

Операторы «анализа условий» позволяют создавать сложные разветвленные программы.

Кроме того, при выполнении сложных программ могут возникать непредвиденные события, которые также необходимо «перехватывать» и анализировать, чтобы избегать критических ситуаций типа «зацикливания» или «переполнения» памяти.

При выполнении программ, разработчики заметили, что в них не редко встречаются повторяющие цепочки. Такие фрагменты программ стали выделять в отдельные композиции, что позволило с одной стороны использовать фрагмент программы многократно (там где возникала в этом потребность), а с другой упросить основную часть программы. Выделенный фрагмент программы предназначенный для повторного использования называется подпрограмма (или субрутина от англ. Subroutine) или функция. Графически это можно изобразить так.



















Рис. Граф-схема использования подпрограмм (или функций)



Для организации вызова функций из основной (прикладной) программы созданы специальные команды перехода к субрутине и возврата из нее.

Каждая подпрограмма имела свое название и оформлялась как отдельная программа. Подпрограммы, которые получали на вход значения (входные переменные) стали назваться функциями (по аналогии с математическими функциями).

Постепенно стали накапливаться библиотеки функций (например, математических функций или функций преобразований данных по стандартным алгоритмам).

Функции из библиотек подгружаются к прикладным программам с помощью специальных операторов. Например в языке C++ это выполняется оператором Include<имя библиотеки>.

Ниже приведен пример, подключения трех библиотек в программе на С++:

#include <iostream> // набор функций управления потоком данных

#include <cstdlib> // набор функций ввода вывода данных

#include <math.h> // библиотека математических функций.



Обычно библиотеки функций подгружаются в самом начале программы и компилируются вместе с прикладной программой.

В заключении этого раздела отметим, что в программах используют так называемые «пустые» операторы, которые не исполняются, а предназначены только для текстовых комментариев. Строки с комментариями в программах очень важны. Они позволяют делать текст более «читабельным» и удобным для передачи от одного разработчика к другому. Об этом часто забывают начинающие программисты.



  1. Языки программирования

История знает много языков программирования. Вот некоторые из наиболее известных языков: ALGOL,FORTRAN, PASCAL,BASIC, DELPHI, C (или С++), JAVA, JAVASCRIPT, PHP, PYTHON и др. Каждый из них имеет свои преимущества и достоинства, т.к. ориентирован для решения определенных задач.

Одни языки адаптированны на разработку операционных систем и использование специалистами в области компьютеров, другие на – создание пользовательских приложений, которые могут использовать специалисты чья основная деятельность лежит в других областях.

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











А программы, написанные на языках, которые ориентированы на конечных пользователей (например, BASIC), не требует такой оптимальности кода и поэтому может выполняться в режиме интерпретации каждой инструкции (строки программы) в отдельности. Поэтому здесь работает следующая схема:











Но какое свойство языка программирования можно выделить как наиболее важное? Это свойство универсальности и переносимости программ с одной компьютерной среды на другую. Иначе говоря, свойство независимости языка программирования от «компьютерного железа» и его операционной системы.

Наилучшем в этом плане сейчас считается язык C. Он и задумывался как межплатформенная языковая среда, которая делала любой компьютер понятный С-программисту. Язык С устанавливается под различными операционными системами: Windows, Linux, Unix и др.

Развитие языков программирования происходило в направление расширения не только их функциональности, но и изменение их концепции. Так от описания отдельных операций, в языках появилась возможность описания объектов с их свойствами. Это позволило перейти к, так называемой, «объектной» разработке программных приложений, что существенно повысило производительность процесса проектирования сложных программных систем, в которых задействованы огромные коллективы разработчиков.

В последние годы наиболее популярным считается язык С или его более продвинутая версия С++.

Немного истории языка С++.

Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories — Бьёрн Страуструп.Он придумал ряд усовершенствований к языку программирования C, для собственных нужд. Т. е. изначально не планировалось создания языка программирования С++. Ранние версии языка С++, известные под именем «Cи с классами», начали появляться с 1980 года. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры фирмы Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе С, языка программирования. Синтаксис C++ был основан на синтаксисе C, так как Бьёрн Страуструп стремился сохранить совместимость с языком C.hello_html_3564314f.jpg

В 1983 году произошло переименование языка из «Cи с классами» в «язык программирования C++».

В языке C++, как и в любом языке программирования можно выделить на базовом уровне следующие основные группы команд:

- команды ввода данных в компьютерную среду;

- команды обработки данных;

- команды вывода данных.

Обычно для создания программ программисты используют специальный набор инструментов, который позволяем им выполнять все необходимые операции от написания текста, его отладки и выполнения.

Однако в простейших случаях программу можно реализовать и с помощь простых инструментов типа редакторов теста. Для этого подходит либо программа Блокнот (NotePad) или аналогичная программа NotePad++ (которую можно бесплатно скачать с сайта ________ )







  1. Первые шаги программирования на языке С++



Ознакомиться с материалами сайта https://codelessons.ru/cplusplus/lessons/basics-of-cpp.html

    1. Запуск редактора программ на С++ (Dev_C++ )

Запустим программу Dev_C++ и внимательно рассмотрим строку команд

hello_html_5fd0643d.png

Создаем новый проект File-New-Project







hello_html_m415bb625.png

Выбираем режим консоли типа Hello World и нажимаем кнопку ОК

Открывается окно редактирования текста программы

hello_html_m3ad67da.png

Пояснение:

Строка 1. #include <iostream> - подгружается библиотека поточного ввода/вывода

Строка 3. int main(int argc, char** argv) { - объявляется имя процедуры main{}

Строка 4. std::cout << "Hello world!\n"; - Вывод сообщения "Hello world!\n";. Строка заканчивается точкой с запятой.

Строка 5: } - закрывает процедуру main.

Если текст программы не меняется, то можно ее откомпилировать и запустить на исполнение

    1. Компиляция программы и запуск на исполнение

Для компиляции процедуры выбираем: Execute- Compile.

hello_html_19628326.png

В окне Compile Log выдаются сообщения комментирующие процесс компиляции. Если в процессе компиляции обнаружатся ошибки то система выдает красные сообщения, на которые надо обратить внимание.

Если ошибок нет, то можно запустить процедуру на исполнение Execute- Run.

Результат исполнение в командном окне.

hello_html_m3e0fe8bd.png



  1. Примеры учебных программ на С++

4.1 Выполнение примера с использование библиотеки <stdlib.h>

Программы выводит в командном окне сообщение Enter x:

#include

#include

int main() {

printf("Enter x: ");

return 0;

}



После компиляции получим результат:

hello_html_m370cc31e.png

4.2 Пример с вводом данных с клавиатуры (библиотека <cstdlib>)

Программа линейной структуры. Программа вводит с клавиатуры значение переменных x и y и производит вычисление по формуле z= (x + y) * (x - 2*y);.

#include

#include

int main() {

using namespace std;

int x = 0, y = 0, z=0; // тип переменных целый

// input data ---

cout << "x = ";

cin >> x;

cout << "y = ";

cin >> y;

//-- calculate result

z= (x + y) * (x - 2*y);

cout << "z=(x + y) (x - 2y) = ";

//-- output result ---

cout << z << endl;

return EXIT_SUCCESS;

}



3.5 Пример с использованием математических функций (библиотека <math.h> )


#include

#include

#include

//---------------------------------------------

int main() {

using namespace std;

double x = 0, y = 0, z=0 , w=0, u=0; //.

// input data ---

cout << "x = ";

cin >> x;

cout << "y = ";

cin >> y;

//-- calculate result

z= sqrt(x + pow(abs(y), (1./4.)));

w= sqrt(exp(x - 1/sin(x)));

u= sqrt(exp(x - 1/sin(x)));

//-- output result ---

cout << "z= "; cout << z << endl;

cout << "w= "; cout << w << endl;

return EXIT_SUCCESS;

}


Результат примера

hello_html_697e1895.png



Вопросы для самопроверки:

  1. Что такое программа

  2. Какие типы структур программ вы знаете

  3. Какие языки программирования

  4. Как зовут первого программиста мира.

  5. Что такое компиляция программы

  6. Для чего нужны подпрограммы

  7. Основные особенности языка С++

  8. Напишите программу на С++ для вычисления формулы y=(a +3*b)2

(составьте схему алгоритма и запишите ее на языке С++)





Источники:

  1. http://chernykh.net/content/view/121/

11

Курс повышения квалификации
Курс профессиональной переподготовки
Учитель математики и информатики
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Проверен экспертом
Общая информация
Учебник: «Информатика (базовый и углублённый уровень)», Гейн А.Г., Сенокосов А.И.

Номер материала: ДБ-460841

Вам будут интересны эти курсы:

Курс повышения квалификации «Табличный процессор MS Excel в профессиональной деятельности учителя математики»
Курс повышения квалификации «Информационные технологии в деятельности учителя физики»
Курс повышения квалификации «Организация работы по формированию медиаграмотности и повышению уровня информационных компетенций всех участников образовательного процесса»
Курс повышения квалификации «Облачные технологии в образовании»
Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»
Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Современные тенденции цифровизации образования»
Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.