Разделы презентаций


Примеры использования языка Си

Рис. 1. Блок-схема алгоритма

Слайды и текст этой презентации

Слайд 1ЛЕКЦИЯ №4
ЯЗЫК ПРОГРАММИРОВАНИЯ СИ
(ПРОДОЛЖЕНИЕ)


Представлен материал, который имеет отношение к основам

программирования на алгоритмическом языке СИ (алфавит, операции, операторы, комментарии и

другие элементы). Приводятся примеры программ, иллюстрирующие применение основных операторов СИ.


Примеры использования операторов языка СИ
Рассмотрим применение операторов языка СИ на конкретных примерах решения различных задач.
Задача 1. Вычислить координаты центра тяжести трех материальных точек с массами m1, m2, m3 и координатами (x1, y1), (x2, y2) и (x3, y3) по формулам: x=(x1*m1+x2*m2+x3*m3)/(m1+m2+m3); y =(y1*m1+y2*m2+y3*m3)/(m1+m2+m3) .

Алгоритм ее решения имеет линейную структуру и соответствующая блок-схема имеет вид:

ЛЕКЦИЯ №4ЯЗЫК ПРОГРАММИРОВАНИЯ СИ(ПРОДОЛЖЕНИЕ)Представлен материал, который имеет отношение к основам программирования на алгоритмическом языке СИ (алфавит, операции,

Слайд 2Рис. 1. Блок-схема алгоритма

Рис. 1. Блок-схема алгоритма

Слайд 3 Программа 1:
#include
#include
void main (void)
{
float m1,

m2, m3, m, x1, x2, x3, x, y1, y2, y3,

y;
clrsrc ();
printf ("Введите m1, m2, m3: ");
scanf ("%f %f %f",&m1,&m2,&m3);
printf ("Введите x1,y1,x2,y2,x3,y3: ");
scanf ("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3);
m = m1+m2+m3;
x = (m1*x1+m2*x2+m3*x3)/m;
y = (m1*y1+m2*y2+m3*y3)/m;
printf ("\nx = %f y = %f",x,y);
}
Программа 1:#include #include void main (void) { float m1, m2, m3, m, x1, x2, x3, x,

Слайд 4 Задача 2. Определить, попадает ли точка с

координатами (x0, y0) в круг
радиуса r. Уравнение окружности

. Вывести на печать сообщение:
точка попадает внутрь круга; точка не попадает внутрь круга.

Из анализа алгоритма решения поставленной задачи следует, что вопрос о
выводе того или иного сообщения зависит от значения логического выражения:



Блок-схема алгоритма решения сформулированной ранее задачи приведена на
рис. 2.


Задача 2. Определить, попадает ли точка с координатами (x0, y0) в круг радиуса r.

Слайд 5Рис. 2. Блок-схема алгоритма

Рис. 2. Блок-схема алгоритма

Слайд 6 Программа 2:
#include
#include
#include
void main (void)

{
float x0, y0, r;
clrsrc ();
printf ("Введите x0,y0,r:

");
scanf ("%f %f %f", &x0,&y0,&r);
if (pow(r,2) < (pow(x0,2)+pow(y0,2))
printf ("Точка попадает внутрь круга");
else
printf ("Точка не попадает внутрь круга");
}
Программа 2:#include #include #include void main (void) { float x0, y0, r; clrsrc ();

Слайд 7 Задача 3. Округлить действительное положительное число x,

меньшее 5, до
ближайшего целого числа:










Анализ алгоритма

решения задачи показывает, что необходимо использовать
вложенные операторы условия. Блок-схема алгоритма представлена на
следующем рисунке.
Задача 3. Округлить действительное положительное число x, меньшее 5, до ближайшего целого числа:

Слайд 8Рис. 3. Блок-схема

Рис. 3. Блок-схема

Слайд 9 Программа 3:
#include
#include
void main (void)
{

float x;
int nx;
clrsrc();
m1:printf ("Введите x = ");

scanf ("%f",&x);
if ((x<0)||(x>=5))
goto m1;
else
{
if (x<0.5)
{
nx=0;
goto m2;
}
else
Программа 3:#include #include void main (void) { float x; int nx;  clrsrc();m1:printf (

Слайд 10 if ((x>=0.5)&&(x

nx=1;
goto m2;
}

else
if ((x>=1.5)&&(x<2.5))
{
nx=2;
goto m2;
}
else
if ((x>=2.5)&&(x<3.5))
{
nx=3;
goto m2;
}
else
if ((x>=0.5)&&(x=1.5)&&(x=2.5)&&(x

Слайд 11 if ((x>=3.5)&&(x

{
nx=4;

goto m2;
}
else
nx=5;
m2: printf ("\nnx = &d",nx);
}
}
Задача 4. Дано действительное число x. Вычислить с точностью ε=0.000001 сумму и указать количество учтенных слагаемых:




Данная задача решается с помощью операторов цикла. Необходимо ввести
значения величины x и точности ε. Выделить переменную для вычисления суммы
и еще одну переменную для определения количество учтенных членов ряда.
Суммирование прекращается если прибавляемое слагаемое по модулю будет
меньше точности ε. Блок схема алгоритма имеет вид
if ((x>=3.5)&&(x

Слайд 12Рис. 4. Блок-схема

Рис. 4. Блок-схема

Слайд 13 Программа 4:
#include
#include
#include
void main (void)

{
int n;
float a,s,eps,s;
clrsrc ();
printf ("Введите x,eps:");

scanf ("%f %f",&x,&eps);
s = 0;
a = 1;
n = 1;
a = a*x;

Программа 4:#include #include #include void main (void) { int n; float a,s,eps,s; clrsrc ();

Слайд 14 while (fabs(a)>eps)
{
if (n%2!=0)

s -= a/n;
else
s +=

a/n;
n++;
a = a*x;
}
printf ("\nКол-во слагаемых = %d\nСумма = %f",n-1,s);
}
Задача 5. Написать программу для вычисления и печати таблицы значений
функции двух переменных



если x∈[0, 1] и меняется с шагом 0.1, а y∈[0,3] и меняется с шагом 0.3. При этом
константа a=-3.1.
while (fabs(a)>eps)  {   if (n%2!=0)   s -= a/n;  else

Слайд 15 Программа 5:
#include
#include
#include
#define PI 3.1415926535
void

main (void)
{
float a, x, y, f;
clrsrc ();

printf ("Введите a = ");
scanf ("%f",&a);
for (x=0.0; x<=1.0; x+=0.1)
for (y=0.0; y<=3.0; y+=0.3)
{
f = a*exp(2*x*y)*cos(0.5*PI+y);
printf ("\nx = %f y = %f f(x,y) = %f",x,y,f);
}
}
Программа 5:#include #include #include #define PI 3.1415926535void main (void) { float a, x, y,

Слайд 16К О Н Е Ц

К О Н Е Ц

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика