СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Задачи для языка программирования си

Категория: Информатика

Нажмите, чтобы узнать подробности

Представлен материал, который имеет отношение к основам программирования на алгоритмическом языке СИ (алфавит, операции, операторы, комментарии и другие элементы). Приводятся примеры программ, иллюстрирующие применение основных операторов СИ.

Просмотр содержимого документа
«Задачи для языка программирования си»

1 ЯЗЫК ПРОГРАММИРОВАНИЯ СИ  Представлен материал, который имеет отношение к основам программирования на алгоритмическом языке СИ (алфавит, операции, операторы, комментарии и другие элементы). Приводятся примеры программ, иллюстрирующие применение основных операторов СИ.  Примеры использования операторов языка СИ   Рассмотрим применение операторов языка СИ на конкретных примерах решения различных задач.  Задача 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) .   Алгоритм ее решения имеет линейную структуру и соответствующая блок-схема имеет вид:

1

ЯЗЫК ПРОГРАММИРОВАНИЯ СИ

Представлен материал, который имеет отношение к основам программирования на алгоритмическом языке СИ (алфавит, операции, операторы, комментарии и другие элементы). Приводятся примеры программ, иллюстрирующие применение основных операторов СИ.

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

Рассмотрим применение операторов языка СИ на конкретных примерах решения различных задач.

Задача 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) .

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

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

2

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

3   Программа 1: #include  #include  void main (void)  {  float m1, m2, m3, m, x1, x2, x3, x, y1, y2, y3, y;  clrsrc ();  printf (

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);

}

4  Задача 2. Определить, попадает ли точка с координатами (x0, y0) в круг радиуса r. Уравнение окружности . Вывести на печать сообщение: точка попадает внутрь круга; точка не попадает внутрь круга.   Из анализа алгоритма решения поставленной задачи следует, что вопрос о выводе того или иного сообщения зависит от значения логического выражения:     Блок-схема алгоритма решения сформулированной ранее задачи приведена на рис. 2.

4

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

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

точка попадает внутрь круга; точка не попадает внутрь круга.

Из анализа алгоритма решения поставленной задачи следует, что вопрос о

выводе того или иного сообщения зависит от значения логического выражения:

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

рис. 2.

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

5

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

6  Программа 2: #include  #include  #include  void main (void)  {  float x0, y0, r;  clrsrc ();  printf (

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)

printf ("Точка попадает внутрь круга");

else

printf ("Точка не попадает внутрь круга");

}

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

7

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

ближайшего целого числа:

Анализ алгоритма решения задачи показывает, что необходимо использовать

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

следующем рисунке.

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

8

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

9  Программа 3: #include  #include  void main (void)  {  float x;  int nx;  clrsrc(); m1:printf (

9

Программа 3:

#include

#include

void main (void)

{

float x;

int nx;

clrsrc();

m1:printf ("Введите x = ");

scanf ("%f",&x);

if ((x=5))

goto m1;

else

{

if (x

{

nx=0;

goto m2;

}

else

=0.5)&&(x { nx=1; goto m2; } else if ((x=1.5)&&(x { nx=2; goto m2; } else if ((x=2.5)&&(x { nx=3; goto m2; } else " width="640"

10

if ((x=0.5)&&(x

{

nx=1;

goto m2;

}

else

if ((x=1.5)&&(x

{

nx=2;

goto m2;

}

else

if ((x=2.5)&&(x

{

nx=3;

goto m2;

}

else

=3.5)&&(x { nx=4; goto m2; } else nx=5; m2: printf ("\nnx = &d",nx); } } Задача 4. Дано действительное число x. Вычислить с точностью  =0.000001 сумму и указать количество учтенных слагаемых: Данная задача решается с помощью операторов цикла. Необходимо ввести значения величины x и точности  . Выделить переменную для вычисления суммы и еще одну переменную для определения количество учтенных членов ряда. Суммирование прекращается если прибавляемое слагаемое по модулю будет меньше точности  . Блок схема алгоритма имеет вид " width="640"

11

if ((x=3.5)&&(x

{

nx=4;

goto m2;

}

else

nx=5;

m2: printf ("\nnx = &d",nx);

}

}

Задача 4. Дано действительное число x. Вычислить с точностью =0.000001 сумму и указать количество учтенных слагаемых:

Данная задача решается с помощью операторов цикла. Необходимо ввести

значения величины x и точности . Выделить переменную для вычисления суммы

и еще одну переменную для определения количество учтенных членов ряда.

Суммирование прекращается если прибавляемое слагаемое по модулю будет

меньше точности . Блок схема алгоритма имеет вид

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

12

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

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

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;

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. " width="640"

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.

15  Программа 5: #include  #include  #include  #define PI 3.1415926535 void main (void)  {  float a, x, y, f;  clrsrc ();  printf (

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

for (y=0.0; y

{

f = a*exp(2*x*y)*cos(0.5*PI+y);

printf ("\nx = %f y = %f f(x,y) = %f",x,y,f);

}

}


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!