Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Информатика. Основы программирования на С++. Учебное пособие.doc
Скачиваний:
142
Добавлен:
08.06.2015
Размер:
2.15 Mб
Скачать

Листинг 2.1. Lin_prog.Cpp

#include <iostream.h> // деректива подключения средств

//ввода-вывода:cin, cout

#include <math.h> // деректива подключения математических функций

void main() //заголовок главной функции

{

double a,b,x1,x2,x3,x,y1,y2,y,z1,z2,z3,z; //объявление переменных

// вывод сообщения-подсказки на экран

cout<<" Введите исходные данные"<<endl; // endl- манипулятор

// перевода строки

cout<<"a=";cin>>a; //ввод переменной a

cout<<"b=";cin>>b; //ввод переменной b

const int m=2;const double k=0.3; //объявление констант k,m

//программирование выражений словесно-формульного алгоритма

x1=atan(a*b+k);

x2=log(x1)-5;

x3=pow(cos(a+b),4)+sqrt(m);

x=x2/x3;

y1=log10(a*pow(x,2)+b*x+m);

y2=pow(2,k*x-1)+0.125;

y=y1/y2;

z1=log(fabs(pow(y,3)-0.5));

z2=exp(-m)*sin(m+z1);

z3=sqrt(k*pow(x,2)+7.75);

z=z3-z2;

// вывод сообщения-подсказки на экран

cout<<"\n Значения вспомогательных переменных x,y\

и конечного результата z равны:"; //Символ \ - перенос

// литерной константы

//вывод полученных результатов и исходных данных

cout<<"\n x="<<x; // \n - символ перевода строки

cout<<", y="<<y;

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

cout<<" при a="<<a<<", b="<<b<<endl;

}

!! Проанализируйте программу, сопоставьте ее со словесным представлением и блок-схемой алгоритма. Создав новый файл проекта с именем lin_prog.ide, наберите в нем текст данной программы, откомпилируйте и произведите запуск программы на выполнение.

Результат выполнения программы

Введите исходные данные

a=1

b=1

Значения вспомогательных переменных x,y и конечного результата z равны:

x=-3.52355, y=2.839, z=3.51229

при a=1, b=1

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

Упражнения

Вычислить значения функций x, yиz, зависящих от переменныхаиbи константk, m. Составить словесно-формульный алгоритм, затем записать его на языке программирования С++. Данные приведены в табл. 2.3.

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

Таблица 2.3

Варианты заданий

1

, ,

при a=1, b=-1, k=0.5, m=3.14.

2

z=e(x+ky) + m4, ,

при a=-0.3, b=2.5, k=1, m=2.1.

3

,

при a=0.75, b=6.3, k=2, m=4.6.

4

,

при a=2, b=3.7, k=-1, m=1.8.

5

,

при a=-1.1, b=-3, k=0.1, m=2.

6

,

при a=-2.7, b=1, k=3.14, m=-0.5.

7

,

при a=0,6, b=-1,3, k=-1, m=15.

8

,

при a=-3.6, b=0.4, k=1, m=2.4.

Контрольные вопросы

  1. В чем достоинство интегрированных сред программирования?

  2. Поясните процедуру создания нового проекта?

  3. Как осуществить компиляцию программы?

  4. Как открывается созданный ранее проект?

  5. В чем заключается отличие логических ошибок от синтаксических? Как их обнаружить?

  6. В чем заключается сущность словесно-формульного способа описания алгоритма?

  7. Почему на начальном этапе изучения программирования рекомендуется составлять блок-схемы алгоритмов?

  8. Перечислите основные этапы составления программы?

  9. Чем характеризуется линейная структура алгоритма?

  10. Приведите примеры операций присваивания.

  11. Для чего в программе используют комментарии?

  12. Каким образом можно организовать в программе поточный ввод и вывод данных?

  13. Каким образом можно организовать в программе ввод и вывод данных с помощью операторов printfиscanf?

  14. Как организовать в программе комментарии?

  15. Каким образом подсоединяются к программе файлы ввода-вывода?

3.ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ В ПРОГРАММАХ

Базовая алгоритмическая структура ветвление обеспечивает в зависимости от результата проверки условия (истина -trueилиложь-false) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу.

Программы с разветвляющейся структурой являются реализацией одноименных алгоритмов. Последние из-за их сложности целесообразно представлять в виде блок-схем.

3.1. Организация разветвляющихся алгоритмов

Для организации ветвлений в программах применяются два оператора: условный оператор (if) и переключатель (switch).

  1. Условный операторимеет два вида:

а) полная форма

if (условие) оператор1;elseоператор2;

б) сокращенная форма

if (условие) оператор1;

где оператор1, оператор2- любые операторы, включая условные и составные;

условие– в общем случае логическое выражение.

Например:

if (x<y) min=x; else min=y;

Если оператор1иоператор2представляют собой короткие выражения, то вместо условного оператора можно использовать условную операцию? :, в частности, для выше рассмотренного примера имеем:

min = (x<y) ? x : y;

Блок-схемы условного оператора для обеих форм приведены на рис.3.1.

а) б)

Рис. 3.1. Блок-схемы условного оператора:

а – полная форма, б – сокращенная форма

  1. Оператор выбора(переключатель) имеет следующий вид:

switch(выражение)

{ case константа1: оператор1 break;

..........................................

caseконстантаN: операторNbreak;

default: оператор //эта строка может отсутствовать

}

Здесь выражение- целочисленная переменная или соотношение;константа№ – метка в виде константы или константного выражения;defaultметка на оператор, который выполняется в том случае, если выражение не совпадает ни с одной константной меткой;break– оператор выхода из переключателя.

Блок – схема оператора выбора представлена на рис. 3.2.

Рис. 3.2. Блок-схема оператора выбора

Пример:

switch (rez)

{ case 5: cout <<"Отлично"; break;

case 4: cout <<"Хорошо"; break;

case 3: cout <<"Удовлетворительно"; break;

case 2: cout<<"Неудовлетворительно";break;

default: cout<<"Неверное значениеrez";

}