![](/user_photo/2706_HbeT2.jpg)
- •Программирование
- •2. Начало работы в среде
- •2.1. Вызов Borland c
- •2.2. Использование меню
- •2.3. Работа с окнами. Использование мыши
- •2.4. Первая программа
- •2.5. Работа с файлами
- •2.6. Основные приемы работы с текстовым редактором
- •2.7. Меню Edit
- •3. В конце работы Вы должны уметь
- •1.2. Структура программы на языке Borland c
- •1.3.1. Константы и переменные
- •1.3.2. Типы данных в с
- •II. Экспериментальный раздел работы
- •III. Дополнительный материал
- •IV. Раздел заданий для самостоятельной работы
- •Работа 3 Операции языка Си, оператор присваивания
- •I.Теоретический раздел работы
- •1.1. Знаки операций в Си
- •1.2.Выражения
- •2. Оператор присваивания
- •3. Алгебраические выражения
- •4. Описание пользовательских подпрограмм-функций
- •II. Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы
- •Работа 4 Числовые типы данных
- •I.Теоретический раздел работы
- •1.1. Целые типы данных
- •1.1.1. Операции над целыми типами данных
- •1.1.2. Представление целых чисел в компьютере
- •1.1.3. Некоторые стандартные подпрограммы для работы с целыми числами
- •1.2. Представление вещественных чисел в эвм
- •II.Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы.
- •Работа 5 Операторы отношений и логические операторы
- •I.Теоретический раздел работы
- •1.1. Некоторые сведения о логическом типе данных
- •1.2. Оператор условного перехода if...Else
- •1.3. Условный оператор switch
- •II. Экспериментальный раздел работы
- •Работа 6 Инструкции управления. Операторы Си, реализующие повторения
- •I. Теоретический раздел работы
- •1.1. Оператор цикла с предусловием
- •1.2. Оператор цикла с постусловием
- •1.3. Оператор цикла со счётчиком
- •1.4. Операторы завершения цикла
- •II.Экспериментальный раздел работы
- •Список литературы
II.Экспериментальный раздел работы
Пример 1.Рассмотрим одну из характерных ситуаций, которая возникает при работе с целыми типами данных.
#include <iostream.h>
#include <conio.h>
void main (void)
{
short n;
cout<<"Введите целое числоn=?";
cin>>n; //Ввод данных
cout<<"n="<<n; //Вывод результата
getch();
}
Для выбранного типа целых чисел shortintвведите ряд чисел, превышающих границу допустимых значений, например, 32769, 32770, 32771, 32772. Выходная информация будет не соответствовать входной. Чтобы лучше понять данную ситуацию, необходимо разобраться, как представлены целые числа в компьютере.
Для целых чисел других типов проведите аналогичные численные опыты. Обратите внимание на то, что компилятор в рассмотренных случаях не выдает диагностики.
Пример 2.Составим программу, позволяющую выделить цифры трехзначного числа.
Запишем натуральное число n в виде n = akak-1...a0, где ak- цифры, составляющие его в десятичной системе счисления, которые необходимо выделить. Итак,
n = akak-1...a0 = a0100 + a1101 + ... + ak10k
Значение a0находится как остаток от деления числаnна 10. Разделивnна 10, и найдя снова остаток, получим цифру а1, и так далее. Приведем текст программы
#include <iostream.h>
#include <conio.h>
void main (void)
{
int n,m,res;
short a0,a1,a2;
//Ввод данных
cout<<"Введите значение натурального трехзначного числаn=?"<<endl;
cin>>n;
//Расчет
m=n;
a0=m % 10;
cout<<a0<<endl;
m=m/10;
a1=m % 10;
cout<<a1<<endl;
a2=m /10;
cout<<a2<<endl;
res=a0+10*(a1+10*a2);
//Вывод результата
cout<<"n="<<n<<" test="<<res<<endl;
getch();
}
Отладить программу, до тонкостей разобравшись с её алгоритмом. Составить программу, позволяющую выделить цифры четырехзначного числа.
Пример
3. Решим
простую задачу финансовых операций со
сложными процентами. Пусть вкладчик
внес в банк единовременный вклад в
размере
.
Ответ на вопрос, сколько лет понадобиться
ждать, чтобы этот начальный вклад
увеличился до желаемой суммыS
при P%
годовых начислений, сводится к вычислению
по следующей формуле:
.
Напишем
программу:
#include <conio.h>
#include <math.h>
double S0,S,P;
/*Функция, которая вычисляет, сколько лет понадобиться ждать,
чтобы этот начальный вклад увеличился до желаемой суммы */
double Lg(double s,double s0,double p)
{
return log10(s/s0)/log10(1+0.01*p);
}
void main(void)
{
//Ввод данных
cout<<"Введите значение единовременного денежного вклада S0= \?"<<endl;
cin>>S0;
cout<<"Введите значение ожидаемой суммы S=? "<<endl;
cin>>S;
cout<<"Введите значение годового процента начислений P=\? "<<endl;
cin>>P;
//Вывод данных
cout<<" Вам необходимо ждать "<<Lg(S0,S,P)<<" лет";
getch();
}
Разберитесь с текстом программы. Проведите отладку и тестирование. Как получить вывод в виде целого числа?
Пример 4. Рассмотрим пример, связанный с тем, что компьютеры не могут обеспечить неограниченную точность при хранении чисел.
#include <iostream.h>
#include <conio.h>
void main(void)
{
float y=0.9999999;
double x=0.9999999;
cout<<"Значение типа float 0.9999999 равно "<<x<<endl;
cout<<"Значение типа double 0.4999999 равно "<<y<<endl;
getch();
}
Пример 5.Составить программу, вычисляющую значение следующего выражения:
,
где a=0.721; b=0.324; x=0.976.
Если в выражении некоторая конструкция повторяется, то удобно ввести новую переменную:
и сделать следующие преобразования
где
.
Эти преобразования позволяют упростить
выражения и избавиться от операции
возведения в степень. Запишем
программу:
#include <iostream.h>
#include <conio.h>
#include <math.h>
//Программа вычисляет значение выражения
void main(void)
{
//Объявление переменных и ввод исходной информации
double x=0.976,a=0.721,b=0.324,y,u,z;
//Расчет
z=a/(2*x+b);
u=z*z;
y=z*(1+u*(1/3.0+u*(1/5.0+u/7.0)));
//Вывод результатов}
cout<<"y="<<y;
getch();
}
Проведите отладку и тестирование программы.