- •051001 Профессиональное обучение (по отраслям)
- •230115 Программирование в компьютерных системах
- •1 Общие положения
- •2 Технология выполнения и отчетность по самостоятельной работе
- •Содержание
- •Тема № 2 Программы разветвленной структуры……..……………………………..…….….…8 Тема № 3 Программы разветвленной структуры……..………………………………….….…10
- •Тема №1 Программирование линейной структуры
- •Тема №2 Условный оператор if
- •Тема №3 Множественный выбор
- •Тема №4 Программы циклической структуры
- •4.1. Операторы циклов
- •4.2 Цикл с параметром
- •4.3 Циклы с неизвестным количеством повторений
- •Тема №5 Обработка одномерных массивов
- •Тема №6 Работа с символьными данными
- •Тема № 7 Функции
- •Тема № 8 Структуры
- •Тема № 9 Программные средства для работы с файлами
Содержание
Введение ………………………………………………………………………………..………. 3
Тема №1. Программирование линейной структуры……………………………………..…….. 5
Тема № 2 Программы разветвленной структуры……..……………………………..…….….…8 Тема № 3 Программы разветвленной структуры……..………………………………….….…10
Тема № 4 Программы циклической структуры……….……………………………………… 13
Тема № 5 Обработка статических массивов…………………………………………………...18
Тема № 6 Работа с символьными данными …………………………………………………….22
Тема № 7 Функции ……………………………………………………………………………...25
Тема № 8 Структуры….……………………………………………….......................….....…......29
Тема № 9 Программные средства для работы с файлами…………………………………...…33
Тема №1 Программирование линейной структуры
ОСНОВНЫЕ СВЕДЕНИЯ
Чаще всего линейные алгоритмы используются для программирования вычислений по формулам. В этом случае удобно использовать набор стандартных функций Си, содержащихся в заголовочном файле math.h :
Sin (x) - sin x; cos (x) – cos x ; tan(x) - tg х ; log (x) - ln x; log10(x) – lg x; exp(x) - показательная функция ex ; sqrt (x)- корень квадратный от х; роw(x, y) – x в степени y; abs(x)- модуль x.; acos(x) – arccos x; asin(x) – arcsin x; atan(x)- arctg x; sinh(x)- sh x; cosh (x) – ch x; tanh(x)-th x.
Для тригонометрических функций аргумент х измеряется в радианах и имеет тип double, как и значения функций.
Пример программы линейной структуры:
Вычислить площадь и стороны прямоугольного треугольника, если известны гипотенуза c и угол x. Для вычислений воспользуемся формулами :
a=csin
x; b=ccos
x; S=ab
;
Программа вычислений имеет вид:
// вычисление высот и площади треугольника
#include <stdio.h> //заголовочный файл для организации ввода-вывода
#include <math.h> //заголовочный файл математических функций
main() //главная функция
{ float a,b,c,x, S; //описание переменных вещественного типа
printf (“\n Введите гипотенузу и угол треугольника ”);
scanf (“%f%f “,&c,&x); // ввод значений вещественного типа
a=c*sin(x);
b=c*cos(x);
S=a*b;
printf (“\n Результаты: a=%7.2f b=%7.2f S=%7.2f “,a, b, S);
return 0;
}
Комментарий в программе не влияет на компиляцию программы, а служит для разъяснения действий основных блоков текста и программы в целом. Однострочный комментарий действует от двух символов // до конца строки. Многострочный комментарий заключается в пары символов /* и */.
Вторая строка программы #include <stdio.h> является директивой компилятора для включения заголовочного файла stdio.h , в котором содержатся средства ввода-вывода (связи с внешними устройствами), отсутствующие в самом языке Си. Третья строка - #include<math.h> является директивой компилятора для включения заголовочного файла math.h, обеспечивающего выполнение математических функций.
Программа на языке Си состоит из ряда функций, из которых функция main (главная) является обязательной и служит точкой входа в программу. В круглые скобки заключаются параметры функции, причем наличие круглых скобок обязательно, если даже список параметров пуст. В фигурные скобки заключаются составной оператор (несколько операторов). Для придания тексту программы наглядности открывающая и соответствующая ей закрывающая фигурные скобки печатаются на одном уровне, а заключенный между ними текст, сдвигается на 1-2 символа вправо, вложенный блок также сдвигается вправо и т.д. Образуется иерархия вложенных блоков, придающая программе на Си характерный вид.
В программе описаны переменные a, b, c, х, S вещественного типа (float). В отличие от других языков в Си учитывается регистр при определении имени переменной, т.е. s и S – разные переменные. Функции printf и scanf содержатся в заголовочном файле stdio.h и служат для вывода на экран и ввода с клавиатуры соответственно. Управляющие символы \n в функции printf служат для перевода на новую строку. Символ & в функции scanf указывает на адрес вводимой переменной. Ввод и вывод переменных вещественного типа производится в формате f. Признаком форматного вывода в функции printf является %. При выводе между знаком процента и форматной переменной f можно включить общую ширину поля вывода и число позиций после десятичной точки. Оператор return 0; служит для выхода из функции main в Интегрированную Среду, 0 является признаком успешного окончания программы. Завершает текст программы закрывающая фигурная скобка, означающая конец функции main.
СПИСОК ЗАДАЧ
Даны два ненулевых числа. Найти их сумму, разность, произведение и частное.
Даны стороны прямоугольника a и b. Найти его площадь S = a-b и периметр P = 2(a + b).
Дан диаметр окружности d. Найти ее длину L = П*d. В качестве значения П использовать 3.14.
Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a-b-c и площадь поверхности S = 2-(a-b + b-c + a-c).
Найти длину окружности L и площадь круга S заданного радиуса R:
L = 2* П *R, S = П*R2. В качестве значения П использовать 3.14.
Даны катеты прямоугольного треугольника a и b. Найти его гипотенузу c и периметр P: c = √a2 + b2, P = a + b + c.
Найти среднее арифметическое и среднее геометрическое трёх заданных чисел.
Даны два круга с общим центром и радиусами R1 и R2 (R1 > R2). Найти площади этих кругов S1 и S2, а также площадь S3 кольца, внешний радиус которого равен R1, а внутренний радиус равен R2: S1=П(R1 )2, S2 = П(R2)2, S3 = S 1 - S2. В качестве значения П использовать 3.14.
9. Найти расстояние между двумя точками с заданными координатами (x 1 y1) и (x2, y2) на плоскости. Расстояние вычисляется по формуле √(x2-x1)2 + (y2-y1)2.
10. Найти значение функции y = Зх6 - 6х2 - 7 при данном значении х.
11. Дано значение температуры Т в градусах Фаренгейта. Определить значение этой же температуры в градусах Цельсия. Температура по Цельсию Тс и температура по Фаренгейту Тf связаны следующим соотношением: Тс = (Тf – 32)*5/9.
12. Даны два действительных числа a и b. Получить их сумму, разность и произведение.
13. Дано значение температуры Т в градусах Цельсия. Определить зна¬чение этой же температуры в градусах Фаренгейта. Температура по Цель¬сию Тс и температура по Фаренгейту Тf связаны следующим соотноше¬нием:
Тс = (Тf – 32)*5/9.
14. Даны два действительных положительных числа. Найти среднеарифметическое и среднегеометрическое этих чисел (или их модулей).
15. Известно, что X кг конфет стоит А рублей. Определить, сколько стоит 1 кг и Y кг этих же конфет.
16. Смешано V1 литров воды температуры t1 и V2 литров воды температуры t2. Найти объём и температуру образовавшейся смеси.
17. Известно, что X кг шоколадных конфет стоит А рублей, а Y кг ирисок стоит В рублей. Определить, сколько стоит 1 кг шоколадных конфет, 1 кг ирисок, а также во сколько раз шоколадные конфеты дороже ирисок.
18. Найти корни квадратного уравнения A*x2 + B-x + C = 0, задан¬ного своими коэффициентами A, B, C (коэффициент A не равен 0), ес¬ли известно, что дискриминант уравнения положителен. Вывести внача¬ле меньший, а затем больший из найденных корней. Корни квадратного уравнения находятся по формуле Х1,2 = (-B ± √D)/(2*A), где D - дискриминант, равный B2 - 4AC.
19. Найти решение системы линейных уравнений вида
A1 *x + B1* y = C1
A2 * x + B 2 * y = C2,
заданной своими коэффициентами A1 B1 C1 A2, B2, C2, если известно, что данная система имеет единственное решение. Воспользоваться формулами
x = (C1B2 - C2B1)/D, y = (A1C2 - A2C1)/D, где D = A1B2 -A2*B1.
20. Найти сумму членов арифметической прогрессии по данным значениям: a, d, n.
21. Дано трехзначное число. Вывести число, полученное при перестановке цифр сотен и десятков исходного числа (например, 123 перейдет в 213).
22. Даны целые числа k, m, действительные числа x, y, z. При k<m2 или заменить модулем соответственно значения x, y или z, а два других уменьшить на 0.5.
23. Дано трехзначное число. Вывести число, полученное при переста¬новке цифр десятков и единиц исходного числа (например, 123 перейдет в 132).
24. Дано действительное число х. Получить целую часть х; затем число х, округлённое до ближайшего целого; затем число без дробных цифр.
25. Дано целое четырехзначное число. Используя операции div и mod, найти произведение его цифр.
