Два управляющих предложения

Лекция3-курс-«Языки программирования»

СОДЕРЖАНИЕ

 

Обзор среды программирования Visual Studio 2010. 2

Общие положения. 2

Структура программы в VC++. 3

Создание консольного приложения. 4

Два управляющих предложения. 7

Использование программных блоков. 9

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

 



Обзор среды программирования Visual Studio 2010

Общие положения

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

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

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

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

Компиляторы переводят весь текст программы в систему команд компьютера, создавая при этом объектный код программы, не являющейся выполняемым кодом. Таким образом, компилирование - это первый этап создания машинной программы. Для реализации машинного алгоритма требуется подключение неких стандартных библиотек, содержащих стандартные программы, которые разрабатываются один раз, а используются во многих алгоритмах. Ряд стандартных программ, необходимых при разработки программного обеспечения содержит сама среда программирования, такая как,например VisualStudio 2010 (её английская аббревиатура – IDE: IntegratedDevelopmentEnvironment). В свою очередь опытный программист может самостоятельно создавать такие библиотеки и включать их в общий перечень библиотек среды программирования.

Компилятор, просматривая программу, переводит её в машинные коды, формируя всё это множество в виде отдельных (объектных) модулей. В каждом таком модуле создаётся своя таблица имён со ссылками на их месторасположение. Таким образом, компилятор создаёт не исполняемый код, а так называемый объектный, содержащий неконкретные (как говорят «неразрешённые», т.е. неопределённые) ссылки. На этом его работа завершается.

Чтобы получить исполняемый модуль надо «разрешить» (т.е. конкретизировать) ссылки, сформированные компилятором с учётом конкретного размещения данного кода в выделенной для него памяти компьютера. Эту работу выполняет специальная программа, которая называется по-разному: редактор связей, компоновщик, линковщик, построитель. После работы этой программы получается набор машинных команд, готовых к исполнению на компьютере – загрузочный модуль.

Таким образом, для создания программы готовой к исполнению требуется иметь средства компиляции и компоновки, которые существуют в определённых средах программирования, например в таких как - MSVisualC++ 2010.

Структура программы в VC++

Программа в VC++ называется приложением. Приложения строятся средой в виде специальных конструкций – проектов, которые выглядят для пользователя как совокупность нескольких файлов. Программа на языке С – это совокупность функций, т.е. специальных программных образований, отвечающих определённым требованиям. Причём приложение – это главная функция, внутри которой помещаются операторы, реализующие алгоритм приложения. Запуск любой программы начинается с запуска главной функции, содержащей в себе всю остальную часть программы.

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

Консольные (опорные, базовые) приложения – это приложения без графического интерфейса, которые взаимодействуют с пользователем через специальную командную строку или (в среде IDE) запускаются специальной командой из главного меню среды. Такие приложения создаются с помощью специального шаблона, доступного из диалогового окна, открывающегося после выполнения команды File|New|Project (Файл – Создать-Проект).

Шаблон консольного приложения добавляет в консольное приложение необходимые элементы (создаётся заготовка будущего приложения), после чего разработчик вставляет в этот шаблон свои операторы на языке С++. Затем приложение компилируется в автономный исполняемый файл и может быть запущено на выполнение.

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

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

Изучение С++ мы станем осуществлять на примерах: будем создавать программы, разбирать как они работают с параллельным изучением их структуры. Консольные приложения, которые мы начнём создавать имеют шаблон вида CRLConsoleApplication (консольное приложение CRL).

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

Создание консольного приложения

Для создания консольного приложения мы будем пользоваться шаблоном CRL - приложения. Для этого следует выполнить шаги:

1. Загрузить среду VC++.

2. Выполнить команду главного меню File|New|Project (Файл – Создать-Проект).

3. В появившемся окне выбрать опцию CRLConsoleApplication (Консольное приложение CRL).

4. Задать имя проекта.

5. Выбрать папку для хранения проекта, нажать ОК.

6. Ввести текст программы.

7. Откомпилировать программу. В случае обнаружения ошибок, исправить ошибочную ситуацию.

8. Запустить программу на выполнение и проанализировать результат.

Задание 1

// Это простая С++ программа

// Назовите этот файл Sample.cpp

           #include “stdafx.h”

#include<iostream>

           usingnamespacestd;

// C++ программа начинает своё выполнение с функции main()

           intmain()

           {

                      setlocale (LC_ALL,”Russian”);

                      cout << "C++ является мощным программным средством";

                      cin.get();

           }

Задание 1.cpp: определяет точку входа для консольного приложения.

//

 

// Это простая С++ программа

// Назовите этот файл Sample.cpp

#include"stdafx.h"

#include<iostream>

usingnamespace std;

// C++ программа начинает своё выполнение с функции main()

int main()

{

  setlocale(LC_ALL, "Russian");

  cout <<"C++ является мощным программным средством";

  cin.get();

}

 

 

Примечания

· Комментарии в программе – строки, начинающиеся с символов // или в операторе (предложении) символика следующая за символами //.

· Заголовки – язык С++ определяет несколько заголовков, которые содержат информацию либо необходимую либо полезную для программы. Так заголовок < iostream > поддерживает систему ввода–вывода и поставляется вместе с компилятором. Заголовки включаются в программу директивой #include

· Строка usingnamespacestd - указывает компилятору, что он должен использовать пространство имён std, где объявлена вся библиотека стандартного С++ (создаёт декларативный район, в который помещаются различные элементы программы).

· Предложение setlocale (LC_ALL,”Russian”); даётвозможность использовать при выводе русские буквы;

· Предопределённый идентификатор cout –по умолчанию связан с консольным (на экран) выводом;

· Функция main() – это место в программе, где начинается и где (чаще всего) заканчивается её выполнение

· { - начало кода

· } -  конец программы

· Последняя строка программы cin.get() необходима чтобы избежать «убегания» консоли (экрана ввода-вывода).

 

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

Переменная представляет собой именованную ячейку памяти, которой может быть присвоено определённое значение. Однако значение переменной не фиксировано, а поддаётся изменениям. Имя переменной (идентификатор) в С++ начинается с буквы или с символа подчёркивания и не может совпадать с ключевыми словами языка. Символы верхнего и нижнего регистра различны.

Задание 2

// Использование переменой

// Назовите этот файл VarDemo.cpp

           #include “stdafx.h”

#include <iostream>

           using namespace std;

           int main()

           {

           setlocale (LC_ALL,”Russian”);

                      intlength;                                      // объявлениепеременной

                      length = 7;                                    // присвоение конкретного значения

                      cout<< “Длина равна ”;         // Вывод текста

                      cout<<length;                             // Вывод конкретного значения

                          cin.get();

           }

 

Задание 2

// Использование переменой

// Назовите этот файл VarDemo.cpp

#include"stdafx.h"

#include<iostream>

usingnamespace std;

int main()

{

  setlocale(LC_ALL, "Russian");

  int length;           // объявлениепеременной

  length = 7;           // присвоение конкретного значения

  cout <<"Длина равна"; // Вывод текста

  cout << length;              // Вывод конкретного значения

  return 0;

  cin.get();

}

Задание 2

// Использование переменой

// Назовите этот файл VarDemo.cpp

#include"stdafx.h"

#include<iostream>

usingnamespace std;

int main()

{

  setlocale(LC_ALL, "Russian");

  int length;           // объявлениепеременной

  length = 7;           // присвоение конкретного значения

  cout <<"Длина равна"; // Вывод текста

  cout << length<<"\n\n";            // Вывод конкретного значения

  return 0;

  cin.get();

}

Примечания

· Предложение intlength; - объявлениецелочисленной переменной (от -32768 до32767);

· Предопределённый идентификатор cin –по умолчанию связан с клавиатурой;

 

Как и большинство других компьютерных языков, С++ поддерживает весь диапазон арифметических операторов, которые позволяют манипулировать числовыми значениями, используемыми в программе. К арифметическим операторам относятся:


+       Сложение;

-         Вычитание;

*       Умножение:

/        Деление


Эти операторы используются в С++ также как и в обычной алгебре.


 

Задание 3

//Интерактивная программа, вычисляющая площадь треугольника

// Назовитеэтотфайл Area.cpp

           #include"stdafx.h”

#include <iostream>

#include <conio.h>

           using namespacestd;

           int main()

           {

           setlocale (LC_ALL,”Russian”);

                      intlength, width;                                  // объявлениепеременных

                      cout<< “Введите длину (length): ”; // Вывод текста

cin>>length;                                                // ввод конкретного значения для длины

                      //

cout<< “Введите ширину (width): ”; // Вывод текста

cin>>width;                                                 // ввод конкретного значения для ширины

                      //

cout<< “Площадь равна:”;              // Вывод текста

cout<<length* width;                         // Вывод вычисленного значения

                      _getch();                                                // задержка экрана

           }

Примечания.

® Добавлена директива #include<conio.h> - для работы функции _getch() –обеспечивающей задержку консоли при работе программы.

® Используются предложения cin>> - ввод конкретных значений длины и ширины с клавиатуры.

® Предложения вывода можно объединить в одно:
cout << “Площадь равна:” << length* width;

® Для вывода информации с новой строки можно использовать код “\n”, который может быть помещён в любое место выводимой строки, не обязательно в её концеили использоваться в качестве отдельной строки cout>>“\n”.

Задание 4

В программа на языке С++ объявление переменных до их использования является обязательным условием. В предыдущем задании была использована целочисленная переменная (int). Для тех чисел, которые имеют дробную часть, в С++ два типа данных с плавающей точкой: float и double, представляющие значения с одинарной и двойной точностью соответственно. Из двух типов double используется чаще.

 

/* Проект1-1

Программа преобразования футов в метры (1 метр = 3,28 фута)

Назовитеэтотфайл FtoM.cpp

*/

           #include “stdafx.h”

#include <iostream>

#include <conio.h>

           using namespace std;

           int main()

           {

           setlocale (LC_ALL,”Russian”);

                          doublef;                                                   // длинавфутах

                          doublem;                                                 // результат в метрах

                          cout<< “Введите длину в футах: ”; // Вывод текста

cin>>f;                                                           // Ввод значения

                          //

                          m = f / 3.28;                                                 // Преобразование в метры

cout<<f<<” футов составляет ”<<m<<” метров ”;   // Вывод

                      _getch();

           }

 

int main()

{

return 0;

}

/* Проект1-1

Программа преобразования футов в метры (1 метр = 3,28 фута)

Назовите этот файл FtoM.cpp

*/

#include"stdafx.h"

#include<iostream>

#include<conio.h>

usingnamespace std;

int main()

{

  setlocale(LC_ALL, "Russian");

  double f;                    // длина в футах

  double m;                    // результат в метрах

  cout <<"Введите длину в футах: "; // Вывод текста

  cin >> f;                    // Ввод значения

                                     //

  m = f / 3.28;                // Преобразование в метры

  cout << f <<" футов составляет "<< f / 3.28 <<" метров \n "; // Вывод

  _getch();

  return 0;

}

 





Примечания

· Предложения doublef; doublem; объявляютпеременныес плавающей точкой двойной точности;

Два управляющих предложения

ПРЕДЛОЖЕНИЕ if

С помощью. Условного выражения if можно выборочно выполнять определённый участок программы. Предложение языка С++ действует также, как и в любом другом алгоритмическом языке. Его простейшая форма выглядит следующим образом:

if (условие) предложение;

Здесь условие представляет собой выражение, результат которого воспринимается либо как истина, либо как ложь. В С++ истина соответствует ненулевому значению, а ложь – нулевому. Если условие истинно, предложение будет выполняться. Если условие ложно, предложение не выполняется.

If(10<11) cout<<”10 меньше11”

If(10>11) cout<<”эта строка не выводится”

В С++ определён полный набор операторов отношения, которые используются в условных выражениях. Эти операторы перечислены в таблице 1.

Таблица1

Оператор Значение
< Меньше чем
<= Меньше чем или равно
> Больше чем
>= Больше чем или равно
== Равно
!= Не равно

Далее приводится пример программы иллюстрирующий использование предложения If

Задание 5

// Демонстрация использования If

// Назовите файл EX_IF.cpp

//

           #include “stdafx.h”

#include <iostream>

#include <conio.h>

           using namespace std;

           int main()

           {

           setlocale (LC_ALL,”Russian”);

                          inta, b, c;

                          a = 2;

                          b = 3;

                          if (a<b) cout<< “aменьшечемb \n”;

// следующее предложение ничего не выведет на экран

                          if (a == b) cout<< “это вы не увидете \n”;

                          cout<< “\n”;

                          c = a-b;                                           // c – содержит -1

cout<<“c – содержит -1 - \n”;

                          if (c>= 0) cout<< “c - неотрицательно \n”;

                          if (c< 0) cout<< “c - отрицательно \n”;

                          cout<< “\n”;

                          c = b-a;                                           // c–теперь содержит1

                          if (c>= 0) cout<< “c - неотрицательно \n”;

                          if (c< 0) cout<< “c - отрицательно \n”;

                          _getch();

           }

 

Распишите вручную сообщения выдаваемые программой на экран монитора.

Проверьте правильность ваших предположений, выполнив программу на компьютере

#include “stdafx.h”

#include <iostream>

#include <conio.h>

           using namespace std;

 

int main()

{

  setlocale(LC_ALL, "Russian");

  int a, b, c;

  a = 2;

  b = 3;

  cout <<"a="<< a <<" b= "<< b <<"\n";

  if (a < b) cout <<"a меньшечем b \n";

  // следующее предложение ничего не выведет на экран

  if (a == b) cout <<"это вы не увидете \n";

  cout <<"\n";

  c = a - b;                   // c – содержит -1

  cout <<" c= "<< c <<"\n"

  cout <<" c – содержит - 1 - \n";

  if (c >= 0) cout <<"c - неотрицательно \n";

  if (c < 0) cout <<"c - отрицательно \n";

  cout << “\n”;

  cout <<" c= "<< c <<"\n"

  c = b - a;                   // c – теперь содержит 1

  cout <<" c= "<< c <<"\n"

if (c >= 0) cout <<"c - неотрицательно \n";

  if (c < 0) cout <<"c - отрицательно \n";

  return 0;

  _getch();

}

ЦИКЛ for

С помощью конструкции цикла можно повторно выполнятьнекоторую последовательность кодов. В С++ предусмотрен богатый ассортимент конструкций циклов. Сейчас рассмотрим один из них: цикл for. Простейшая форма этого цикла следующая:

for (инициализация; условие; приращение) предложение;

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

Приводимая ниже программа демонстрирует простой цикл for, используемый для вывода на экран чисел от 1 до 20.

Задание 6

// Использование цикла for

// Назовите этот файл EX_FOR.cpp

           #include “stdafx.h”

#include <iostream>

           using namespace std;

           int main()

           {

                      intcount;                                       // объявлениепеременной

                          for (count = 1; count <=20; count = count +1)

                          cout << count << “ “;

                          cin.get();

           }

Примечания.

· В программе переменная count инициализируется числом 1 и в каждом шаге цикла проверяется условие count <=20

· В профессионально написанной программе вместо выражения count = count +1 используется более компактная запись count++ аналогичного действия.В С++ запись ++ (два последовательных знака плюс) называется инкрементным оператором, указывается справа от идентификатора переменной и увеличивает значение переменной на 1. Таким образом используемый в программе оператор forлучше записать так:

for (count = 1; count <=20; count ++)

cout << count << “ “;

В С++ имеется декрементный оператор, который записывается--(два последовательных знака минус).  Он уменьшает операнд на 1.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: