Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические / Пр №1.Линейные программы

.odt
Скачиваний:
6
Добавлен:
17.04.2015
Размер:
23.87 Кб
Скачать

Написать программу вычисления длины окружности,площади круга, площади сферы,

объем шара радиуса r.

1. входные данные - r.

2. выходные данные - d- длина окружности;

s- площадь круга;

ss-площадь сферы;

v- объем шара .

#include <stdio.h>

#include <stdlib.h> Директивы препроцессора

# define pi 3.1415 Определение константы пи

int main() имя заголовка главной функции вход в программу

{ начало тела программы

float r; определения входной величины радиуса

float d,s,ss,v; определение выходных величин

printf(" Добро пожаловать! Введите радиус r=\n"); печать величины которую надо ввести

scanf("%f",&r); ввод радиуса

d= 2*pi*r; вычисление длины окружности

printf("Длина окружности радиуса r = %f \n",d);печать длины окружности

s=pi*r*r; вычисление площади круга

printf(" Площадь круга радиуса r= %f \n",s);печать площади круга

ss=4*s; вычисление площади сферы

printf(" Площадь сферы радиуса r= %f \n",ss);печать площади сферы

v= ss*r/3; вычисление объема шара

printf(" Объeм шара радиуса r=%f \n",v);печать объема шара

system ("pause"); остановить машину и посмотреть результаты расчетов

return(0); выход из программы

} конец тела программы

Результаты работы программы

Добро пожаловать! Введите радиус r=

1

Длина окружности радиуса r = 6.283

Площадь круга радиуса r= 3.14

Площадь сферы радиуса r= 12.566

Объем шара радиуса r= 4.158

Таким образом, линейная программа представляет собой точку входа в программу

задания констант, описания данных, ввода данных, последовательности операторов,

выполняемых один раз, вывода результатов и выхода из программы.

Написать программу вычисления площади S треугольника по его сторонам a,b,c.

#include <stdio.h> подключение библиотеки ввода вывода

#include <stdlib.h> подключение библиотеки общих программ

#include <math.h> подключение математических программ

int main() заголовок программы

{ начало тела программы

float a,b,c,p,s; описание данных

printf("Ввести длины сторон треугольника a,b,c\n"); приглашение к вводу данных

scanf("%f %f %f\n", &a,&b,&c); ввод данных

p=(a+b+c)/2; вычисление полупериметра

s=sqrt(p*(p-a)*(p-b)*(p-c)); вычисление площади треугольника

printf("S= %f \n",s); вывод результата

system("pause"); остановка машины

return 0; выход из программы

} конец программы

Таким образом структура простейшей линейной программы имеет следующий вид:

Директивы препроцессора # include <>

Заголовок главной программы int main()

Начало тела программы {

Описание данных int a,b,c;

Ввод данных scanf(" % ",a,b,c);

* s=a;

* a=b;

Операторы b=a;

*

Вывод данных printf(" %i % i %i ",a,b,c)

Остановка машины system ("pause");

Выход из программы return 0;

Конец тела программы }

/ Структуру простейшей программы рассмотрим на примере диалога машины со студентом

#include <stdio.h>

#include <stdlib.h> // директивы препроцессора

int main() //заголовок главной программы

{ //начало главной программы

int k, str[4]; // описание переменной

printf(" KAK WAS ZOVUT? \n");// вывод на экран вопроса

scanf("%s",str); // ввод имени

printf(" ZDRAVSTVUY, %s \n",str); // вывод на экран приветствия

printf("SKOLKO TEBE LET?\n"); // ввывод на экран вопроса о вашем возросте

scanf("%i",&k); // ввод вашего возраста

printf("TY STUDENT KAKOGO KURSA?\n" ); //вывод на экран вопроса о курсе

scanf("%i",&k); // ввод курса

printf("KAKAY U TEBA OZENKA PO PROGRAMMIROVANIY ?\n");// выводна экран оценку по прогр.

scanf("%i",&k); // ввод оценки

printf("Молодец!\n");

printf("Так держать!\n");

printf("Россия вперед!\n");

system("pause"); //Останов машины

return(0); //выход из программы

} //конец программы

//Как Вас зовут?

// Вася

// 1

//Здравствуй, Вася!

//Сколько тебе лет?

// 17

//Ты студент какого курса?

// 1

//Какая у тебя оценка по программированию?

// 5

//Молодец!

//Так держать!

//Россия вперед!

// Для продолжения нажмите 0

// Написать самостоятельно программу диалога машины с пользователем

// Введите пароль - год Вашего рождения

// Пароль неверен повторите !

//Дана длина окружности с

//Вычислить площадь круга этой окружности

// РЕШЕНИЕ

//радиус равен r=c/pi/2;

// площадь равна s=pi*r*r;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float c,r,s;

const float pi=3.1415;

printf("Vvesti dlinu okrugnosti\n");

scanf("%f",&c);

r=c/2/pi;

s= pi*pow(r,2);

printf("R=%f C=%f S=%f \n",r,c,s);

system("pause");

return 0;

}

// Вводим c=50

//r=7,95 c= 50 s=198,95

//Написать программу вычисления длин концентрических окруж-

//ностей. Задана площадь большого круга, а малого в 4 раза меньше.

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main()

{

float c,s,r,c1,s1,r1,t;

const float pi=3.1415;

printf("Vvesti ploshad kruga");

scanf("%f",&s);

r=sqrt(s/pi);

s1=s/4;

r1=sqrt(s1/pi);

c=2.*pi*r;

c1=2.*pi*r1;

printf("R=%f C=%f S=%f\n",r,c,s);

printf("R1=%f C1=%f S1=%f\n",r1,c1,s1);

system("pause");

return 0;

}

// r=5,64 c= 35,45 s=100

// r=2.82 c= 17,72 s=25

// Дана длина окружности наибольшего сечения с

//Вычислить площадь наибольшего сечения, площадь сферы, объем шара.

// РЕШЕНИЕ

// r=c/2/pi s=pi*r^2 ss= 4*s v 4*pi*r^3/3

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#define pi 3.1415

int main()

{

float c,r,s,ss,v;

printf("Vvesti dlinu okrugnosti \n");

scanf("%f", &c);

r=c/pi/2;

s=pi*r*r;

ss=4*s;

v=ss*r/3;

printf("R= %f S= %f SS= %f V= %f \n",r,s,ss,v);

system("pause");

return 0;

}

// 6.28

// R= 0.999 s= 3.1485 SS=12.554 V=4.18

//Вычислить площадь четырехугольника по координатам вершин углов

// A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4);

// РЕШЕНИЕ

// a= V (x3-x2)^2+ (y3-y2)^2

// b= V (x2-x1)^2+ (y2-y1)^2

// c= V (x3-x1)^2+ (y3-y1)^2

// p=(a+b+c)/2 s= V p*(p-a)*p-b)*(p-c)

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float x1,y1,x2,y2,x3,y3,x4,y4;

float a,b,c,d,e;

float p,s,s1 ;

printf("Vvesti kopdinaty wershin treugolnika \n");

scanf("%f%f%f%f%f%f%f%f", &x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);

a=sqrt(pow(x3-x2,2)+pow(y3-y2,2));

b=sqrt(pow(x2-x1,2)+pow(y2-y1,2));

c=sqrt(pow(x3-x1,2)+pow(y3-y1,2));

d=sqrt(pow(x2-x4,2)+pow(y2-y4,2));

e=sqrt(pow(x3-x3,2)+pow(y4-y3,2));

p=(a+b+c)/2;

s= sqrt(p*(p-a)*(p-b)*(p-c));

printf("S= %f \n",s);

p=(a+d+e)/2;

s1= sqrt(p*(p-a)*(p-d)*(p-e));

printf("S1= %f \n",s1);

printf("S+S1= %f \n",s+s1);

system("pause");

return 0;

}

// 0 0 0 3 4 0

// s=6

Вычислить площадь четырехугольника по координатам вершин углов

// A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4);

// РЕШЕНИЕ

// a= V (x3-x2)^2+ (y3-y2)^2

// b= V (x2-x1)^2+ (y2-y1)^2

// c= V (x3-x1)^2+ (y3-y1)^2

// p=(a+b+c)/2 s= V p*(p-a)*p-b)*(p-c)

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float x1,y1,x2,y2,x3,y3,x4,y4;

float a,b,c,d,e;

float p,s,s1 ;

printf("Vvesti kopdinaty wershin treugolnika \n");

scanf("%f%f%f%f%f%f%f%f", &x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);

a=sqrt(pow(x3-x2,2)+pow(y3-y2,2));

b=sqrt(pow(x2-x1,2)+pow(y2-y1,2));

c=sqrt(pow(x3-x1,2)+pow(y3-y1,2));

d=sqrt(pow(x2-x4,2)+pow(y2-y4,2));

e=sqrt(pow(x3-x3,2)+pow(y4-y3,2));

p=(a+b+c)/2;

s= sqrt(p*(p-a)*(p-b)*(p-c));

printf("S= %f \n",s);

p=(a+d+e)/2;

s1= sqrt(p*(p-a)*(p-d)*(p-e));

printf("S1= %f \n",s1);

printf("S+S1= %f \n",s+s1);

system("pause");

return 0;

}

// 0 0 0 3 4 0

// s=6

//Написать программу вычисления корней квадратного уравнения.

// a*x^2 + b*x + c=0

//x1=-b/2/a+ V b^2-4*a*c /2/a

//x2=-b/2/a- V b^2-4*a*c /2/a

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main()

{

float a,b,c,x1,x2,r,s;

printf("Vvesti koefizienti yravneniya");

scanf("%f%f%f",&a,&b,&c);

r=-b/a/2;

s=sqrt(b*b-4*a*c)/a/2 ;

x1=r+s;

x2=r-s;

printf("X1= %f X2 = %f \n",x1,x2);

system("pause");

return 0;

}

// 1 -7 10

// x1= 5 x2=2

//Написать программу вычисления суммы членов арифметической прогрессии.

// 0 2 4 6 8 10 12 14 16 18 20

// РЕШЕНИЕ

// S=(2*a1+ (n-1)*d)*n/2

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main()

{

float a,d,s;

int n;

printf("Vvesti a d n ");

scanf("%f%f%i",&a,&d,&n);

s=(2*a+(n-1)*d)*n/2;

printf("S= %f \n",s);

system("pause");

return 0;

}

// 0 2 11

// S=110

//Написать программу вычисления суммы членов геометрической прогрессии.

// 2 4 8 16 32 64

// РЕШЕНИЕ

// S=a*(q^n-1)/(q-1)

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main()

{

float a,q,s;

int n;

printf("Vvesti a q n \n");

scanf("%f%f%i",&a,&q,&n);

s= a*(pow(q,n)-1)/(q-1);

printf("S= %f \n",s);

system("pause");

return 0;

}

// 1 2 110

// S=1023

// Дан цилиндр с радиусом основания r и высотой 2r.

//Написать программу вычисления объема вписанного,описанного шаров

//и вписанного конуса

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main()

{

float r,h,vo,vv,vk,vz;

const float pi=3.1415;

printf("Vvesti radius zilindra");

scanf("%f",&r);

float r3;

r3=pow(r,3);

vz= 2*pi*r3;

vk=vz/3;

vv=4*r3/3;

vo=pi*sqrt(3)/2*r3;

printf("R=%f Vzil= %f Vkon=%f Vvpis=%f Vopis=%f \n",r,vz,vk,vv,vo);

system("pause");

return 0;

}

// r=1

// r=1 vz= 6,28 vk= 2.09 vvp= 1.33 vop=2.72

Домашнее задание.

1. Написать программу вычисления площади четырехугольники по координатам вершин

А(х1,у1), В(х2,у2), С(х3,у3),D(x4,Y4).

2. Дома написать программу диалога машины со студентом

Какой был у Вас общий бал по ЕГЭ?

Какой был проходной бал?

Какую школу вы закончили? номер школы.