
- •Информатика основы
- •Предисловие
- •Введение
- •Программы
- •1.1. Элементы языка
- •Список основных ключевых слов
- •Типы числовых данных
- •Разделители
- •Основные бинарные операции
- •Математические функции
- •1.2. Структура программы
- •1.3. Выполнение программы
- •Контрольные вопросы
- •2.1. Загрузка и настройка системы программирования
- •2.2. Создание и работа с проектом
- •Условные графические обозначения основных блоков схем алгоритмов
- •Словесно-формульный алгоритм
- •Листинг 2.1. Lin_prog.Cpp
- •Результат выполнения программы
- •3.2. Логический тип данных и базовые логические операции
- •Операции сравнения
- •Логические операции
- •При решении задач с множеством логических условий программа существенно упрощается, если эти условия удается объединить с помощью операций и, или, не в более крупные выражения.
- •Словесно-формульный алгоритм
- •Результат выполнения программы
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Области определения функции z (X,y)
- •Контрольные вопросы
- •4. Организация циклов
- •4.1. Организация программ с циклами
- •For (инициализация; условие; модификация) операторы
- •4.2. Инкремент, декремент и составные операции
- •Составные операции присваивания
- •Результат выполнения программы
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •5.Составление программ с массивами
- •5.1. Организация программ с массивами
- •Тип имя_массива [n];
- •Имя_массива [индекс]
- •Тип имя_массива [размер_1] [размер_2]
- •5.2. Манипуляторы и форматирование ввода-вывода
- •Манипуляторы
- •Результат выполнения программы
- •Результат выполнения программы
- •Контрольные вопросы
- •Дайте определение массива.
- •6. Составление программ с использованием функций
- •6.1. Описание, объявление и вызов функций
- •Механизм возврата из функции реализуется оператором
- •Тип имя_функции (тип размерность, тип имя_массива[ ]) ,
- •6.2. Глобальные и локальные переменные
- •Результат выполнения программы
- •6.3. Перегруженные функции
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •7. Программирование с использованием указателей
- •7.1. Общие сведения об указателях
- •7.2. Динамические массивы
- •Результат выполнения программы
- •Результат выполнения программы
- •7.3. Указатели и функции
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •8. Программирование с использованием структур
- •8.1. Определение структур
- •8.2. Организация программ с использованием структур
- •Имя_структуры . Имя_элемента_структуры
- •Список товаров
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •Библиографический список
- •Основные бинарные операции
- •Операции сравнения
- •Составные операции присваивания
- •Логические операции
- •Типы числовых данных
- •Константы, используемые в математических выражениях
- •Математические функции
- •Типовые сообщения об ошибках
- •Оглавление
Листинг 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. |
Контрольные вопросы
В чем достоинство интегрированных сред программирования?
Поясните процедуру создания нового проекта?
Как осуществить компиляцию программы?
Как открывается созданный ранее проект?
В чем заключается отличие логических ошибок от синтаксических? Как их обнаружить?
В чем заключается сущность словесно-формульного способа описания алгоритма?
Почему на начальном этапе изучения программирования рекомендуется составлять блок-схемы алгоритмов?
Перечислите основные этапы составления программы?
Чем характеризуется линейная структура алгоритма?
Приведите примеры операций присваивания.
Для чего в программе используют комментарии?
Каким образом можно организовать в программе поточный ввод и вывод данных?
Каким образом можно организовать в программе ввод и вывод данных с помощью операторов printfиscanf?
Как организовать в программе комментарии?
Каким образом подсоединяются к программе файлы ввода-вывода?
3.ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ В ПРОГРАММАХ
Базовая алгоритмическая структура ветвление обеспечивает в зависимости от результата проверки условия (истина -trueилиложь-false) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу.
Программы с разветвляющейся структурой являются реализацией одноименных алгоритмов. Последние из-за их сложности целесообразно представлять в виде блок-схем.
3.1. Организация разветвляющихся алгоритмов
Для организации ветвлений в программах применяются два оператора: условный оператор (if) и переключатель (switch).
Условный операторимеет два вида:
а) полная форма
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. Блок-схемы условного оператора:
а – полная форма, б – сокращенная форма
Оператор выбора(переключатель) имеет следующий вид:
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";
}