Программирование на языке Си
Методические указания
к выполнению лабораторных работ
Пенза 2012
УДК 681.3.06
Даны методические указания к проведению 12 лабораторных работ и соответствующие лабораторные задания. Работы выполняются в рамках дисциплины «Алгоритмические языки и программирование» и ориентированы на изучение представления и обработки данных на языке Си. Приведены описания общих принципов подготовки, выполнения и отладки программ в системе программирования Си/Си++.
Методические указания подготовлены на кафедре «Вычислительная техника» и предназначены для студентов специальности 220100.
Ил. 2.
Составители: И.Н. Дорошенко, Л.Г. Коннова, М.Ю. Кулагина, А.В. Никишин, Н.И. Шевченко.
Рецензент: В.В. Духовников, начальник отдела ГНПП "Рубин"
Порядок выполнения лабораторных работ
Перед выполнением каждой лабораторной работы необходимо изучить теоретический материал по теме работы. Вся подготовительная работа - выбор метода решения задачи, разработка структуры данных и структуры программы, разработка схемы и текста программы - выполняется до начала лабораторного занятия. На занятии выполняется:
- ввод текста программы в ПЭВМ;
- отладка программы;
- выполнение программы;
- печать программы и результатов ее работы.
- сдача (защита) отчета по предыдущей работе.
Отчет по текущей работе оформляются после лабораторного занятия и представляется в начале следующего занятия.
Требования к оформлению работ
По каждой лабораторной работе составляется отчет (один на бригаду), который должен содержать:
- титульный лист;
- название и цель работы;
- лабораторное задание;
- описание метода решения задачи;
- схему программы;
- распечатку программы и результатов ее выполнения;
- пояснительный текст к программе (описание структуры программы, назначения ее основных переменных, способов реализации отдельных функций и т.д.);
- выводы, которые должны доказывать или оценивать правильность составленной программы или объяснять допущенные ошибки.
Программа должна включать:
- комментарий, в котором указывается номер лабораторной работы, фамилии и учебная группа членов бригады;
- вывод исходных данных по следующей схеме:
<идентификатор переменной> = <значение переменной>;
-вывод результатов с комментариями.
Отчет оформляется на листах формата А4 (297*210).
Пример программы на Си
Представленная в примере программа (рис. 1) осуществляет вычисление функции по формуле:
.
Исходными данными для вычислений являются: значения переменных a, b, c, d и значения постоянных величин 2 и 15. Числовые значения постоянных величин задаются непосредственно в программе в виде констант, а числовые значения переменных вводятся с клавиатуры. Это позволяет вычислять значение функции при различных значениях переменных.
// Лабораторная работа 1
// Выполнили студенты группы 07ВВ-1
// Иванов И.И, Петров П.П, Сидоров С.С.
#include <stdio.h> //Указание прототи-
#include <conio.h> //пов библиотечных
#include <math.h> //функций
void main()
{
const double k1=2.0; //Объявление
const double k2=15.0; // констант
double a,b,c,d,s1,s2,s3,y; // и переменных
printf("Введите значения переменных a, b, c, d: ");
//Сообщение
// для пользователя
scanf("%lf%lf%lf%lf", &a, &b, &c, &d); //Ввод переменных
s1=pow(sin(c),3); //Промежуточные
s2=pow(cos(a),2); // вычисления
s3=pow(sin(b),d); //
у=(s1*s2)/(5*s3)+k1/k2; //Вычисление y
printf("Искомое значение y = %lf\n",y); //Вывод результата
getch(); //Задержка
} //Конец программы
Первые три строки программы представляют собой комментарий, в котором указывается номер лабораторной работы и сведения о ее исполнителях.
Затем следуют три строки, указывающие на необходимость включения в данный файл трех заголовочных файлов (*.h), находящихся в системной директории и содержащих внешние декларации (прототипы) библиотечных функций printf(), scanf(), sin(), cos(), pow(), getch(). Библиотеки, содержащие данные функции также находятся в стандартной директории.
Следующая строка является декларацией функции main() с указанием имени функции и типа возвращаемого значения (void - никакое значение функцией не возвращается). Каждая программа обязательно должна иметь одну функцию со стандартным именем main().
Далее в фигурных скобках описывается тело функции. Назначение отдельных операторов программы указывается в виде комментариев.
Диалог с пользователем ведется на зкране, который после выполнения данной программы будет содержать следующую информацию:
Введите значения переменных a, b, c, d: 9.5 1.3 6.5 6.65
Искомое значение y=0.135867
Числовые значения переменных a, b, c, d вводятся с клавиатуры после специального приглашения. Значения разных переменных отделяются между собой пробелами. После ввода всех значений нажимается клавиша Enter. После обработки введенных исходных данных на экране появляется вторая строка, содержащая результат вычислений с пояснительным текстом.
Программа завершит свою работу после нажатия на любую клавишу на клавиатуре.
Лабораторная работа № 1 ЛИНЕЙНАЯ ПРОГРАММА
Цель работы - изучение основных принципов и получение навыков написания линейной программы на языке Си.
Методические указания
При разработке линейной программы на языке Си, выполняющей расчет математической функции, необходимо воспользоваться функциями стандартной математической библиотеки. Функции описаны в заголовочном файле math.h, который подключается с помощью директивы #include <math.h>. В библиотеке реализованы такие функции как pow (возведение в степень), sqrt (корень квадратный), fabs (модуль числа), sin (синус), cos (косинус), tan (тангенс), log (логарифм) и другие функции.
Лабораторное задание
Разработать программу на языке Си с использованием операций языка Си и функций стандартной математической библиотеки. Значение переменной х вводить с клавиатуры с использованием библиотечной функции scanf (). Значение функции у выводить на экран с использованием библиотечной функции printf ().
Варианты лабораторных заданий
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)