Программирование линейных и разветвляющихся

Вычислительных процессов

 

Справочная информация

 

При программировании вычислительных процессов используются математические функции библиотеки компилятора. Для обеспечения возможности обращения к ним в программе должна указываться директива препроцессора #include <math.h>. Все математические функции результатом своей работы имеют вещественные числа типа double. Описание некоторых функций дано в таблице.

функция назначение функции значения аргументов
sin(x) вычисляет синус угла x вещественное число
cos(x) вычисляет косинус угла x в диапазоне
tan(x) вычисляет тангенс угла x от -2p до 2p
asin(x) вычисляет арксинус величны x вещественное число
acos(x) вычисляет арккосинус величны x в диапазоне
atan(x) вычисляет арктангенс величны x от -1 до 1
sqrt(x) вычисляет корень квадратный из x  
exp(x) вычисляет значение e в степени x  
log(x) вычисляет натуральный логорифм от x любое
log10(x) вычисляет десятичный логорифм от x вещественное
ceil(x) округляет число х путем отбрасывания дробной части число
floor(x) округляет число х до наибольшего целого, не превышающего х  
pow(x,y) вычисляет значение x в степени y любые
fmod(x,y) вычисляет остаток от деления x на y вещественные числа

Для организации разветвляющихся процессов используются условный оператор if и оператор-переключатель switch

 

Формат записи оператора if :

if(<условное выражение>) <оператор1>

[else <оператор2>]

 

Формат записи оператора switch:

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

{

case<константа1>: <оператор1>

[break;]

case<константа2>: <оператор2>

[break;]

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

default : <оператор>

}

 

Пример программы

 

#include <stdio.h>

#include <math.h>

void main(void)

{ int war;

float x,y,z;

 

printf("\nПpогpамма счета зависимостей:"

"\n1. z=3.55-(sin(x)+4.5)*y "

"\n2. z=(3.4*ln(x)+8.6)/2.3*y (переменная y больше нуля) ");

printf("\nЗадайте вид зависимости\n");

ab: scanf("%d",&war);

switch(war)

{ case 1: printf("\nЗадайте значения пеpеменных х и y\n");

scanf("%g,%g",&x,&y);

z=3.55-(sin(x)+4.5)*y;

printf("\nz=%f",z);

break;

case 2: printf("\nЗадайте значения пеpеменных х и y\n");

scanf("%g,%g",&x,&y);

if(y>0)

{

z=(3.4*log(x)+8.6)/2.3*y;

printf("\nz=%f",z);

}

else

printf("\nHевеpно заданo значение пеpеменной z!!!");

“\nОно должно быть больше нуля”);

break;

default: printf("\nHевеpно задан вид зависимости!!!"

"\nЗадайте вид зависимости заново");

goto ab;

}

}

 

Задание

 

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


 

Лабораторная работа №7

 

Программирование циклических вычислительных процессов

 

Справочная информация

При усложнении решаемых задач ход выполнения программ становится более запутанным. Чтобы иметь возможность управлять процессом выполнения программ его организацией используются такие структуры как циклы. Циклы необходимы. Когда надо повторить некоторые действия несколько раз, как правило, пока выполняется некоторое условие. В языке С известно три вида оператора цикла: for, while и do-while.

 

Цикл for

Основная форма цикла for имеет следующий вид:

 

For (инициализация ; проверка условия ; изменение ) оператор ; где

 

Инициализация – это присвоение начального значения параметру цикла и счетчику.

Проверка условия – условное выражение, которое определяет, когда цикл должен

быть завершен.

Изменение – это приращение параметра цикла каждый раз при повторение цикла.

Выполнение цикла происходит до тех пор, пока условное выражение истинно. Как условие становится ложным. Начинает выполняться следующий за циклом for оператор.

 

Цикл while

Основная форма оператора while имеет вид:

 

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

 

Где оператор может быть простым, составным или пустым оператором. «Условие», как и в других операторах, является просто выражением. Цикл выполняется до тех пор, пока условие принимает значение “истинно”. Когда же условие “ложно”. Программа передает управление следующему оператору программы. В цикле while сначала проверяется условие, а затем выполняется оператор. Этот цикл называют циклом с предусловием.

 

Цикл do-while

В отличие от предыдущих циклов в цикле do-while условие проверяется в конце оператора цикла. Основная форма оператора do-while следующая:

 

Do {