- •Практикум по программированию на языке с
- •Порядок выполнения лабораторных работ
- •Основы программирования в среде языка си. Оператор присваивания
- •Приоритет операций в выражении
- •Задание 1 (программа 1_1)
- •Программирование разветвленных алгоритмов. Операторы передачи управления
- •Программирование циклических алгоритмов с заданным числом повторений
- •Программирование циклических алгоритмов с предусловием
- •Программирование циклических алгоритмов с постусловием
- •Модифицировать программу 3_2 для вычисления функций f1(X) и f2 (X) с применением оператора цикла с постусловием. Выполнить ее и сравнить результаты с полученными ранее.
- •Программирование алгоритмов обработки одномерных массивов
- •Задание 1
- •Обработка двумерных массивов
- •Программирование с применением функций
- •[Класс] тип имя ([список параметров])[throw (исключения)] {тело функции}
- •Return [выражение];
- •Программирование с возвратом из функций нескольких значений
- •Лабораторная работа 10 Обработка символьных и строковых данных
- •Структуры
- •Модульное программирование
- •Динамические структуры данных. Списки
- •Задание 1 (программа 14_1)
- •Графика
- •Задание к расчетно-графической работе
- •Библиографический список
- •Типы данных
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Сообщения об ошибках Сообщения об ошибках периода компиляции
- •Ошибки стадии выполнения
- •Математические ошибки
- •Функции ввода-вывода для стандартных потоков
- •Функции для работы со строками
- •Библиотека заголовочных файлов
- •Контейнерные классы
Порядок выполнения лабораторных работ
Изучить теоретические сведения по теме.
Построить схему алгоритма для решения задач в соответствии с вариантом, выданным преподавателем, для каждого задания.
Подготовить текст программы и набрать его в окне редактирования.
Откомпилировать программу (F9) и исправить синтаксические ошибки.
Выполнить программу для реальных исходных данных (Ctrl+F9).
Просмотреть результаты (Alt+F5) и записать в тетрадь.
Оформить отчет по текущей лабораторной работе, в который включить:
- номер работы (лабораторная работа № 1),
- тема работы,
- условия задач,
- схемы алгоритмов,
- тексты программ,
- результаты выполнения программ, выводы.
Защитить лабораторную работу преподавателю.
Лабораторная работа 1
Основы программирования в среде языка си. Оператор присваивания
Оператор присваивания имеет вид <идентификатор> = <выражение>;
В арифметических выражениях могут использоваться операции (приложение Б) и математические функции из библиотек <stdlib.h> и <math.h> [7].
Наиболее часто применяются функции библиотеки <math.h>:
double sin(double x) – sin x; double exp(double x) – ех ;
double cos(double x) – cos x; double log(double x) – ln х;
double tan(double x) – tg x; double log10(double x) – lg х;
double fabs(double x) – |x|; long labs(long x) – |x| для целого x;
double sqrt(double x) – ; double pow(double x, double y) – xy;
double sinh(double x) – sh x; double cosh(double x) – сh x;
double tanh(double x) – th x; double atan(double x) – arctan х;
double acos(double x) – arccos x; double asin(double x) – arcsin x;
double ceil(double x) – ближайшее целое, не меньшее, чем х;
double floor(double x) – ближайшее целое, не превышающее х;
double fmod(double x, double y) – остаток от деления нацело x на y;
double modf(double x, double *ptr) - расчленение числа с плавающей точкой на целую и дробную части. Дробная часть возвращается функцией. Целая часть записывается в область памяти, на которую указывает ptr.
Приоритет операций в выражении
Ранг |
Операции |
Ассоциативность |
1 |
( ) [ ] -> :: . |
→ (слева – направо) |
2 |
! ~ + - ++ -- & * |
← (справа - налево) |
3 |
.* ->* |
→ |
4 |
* / % |
→ |
5 |
+ - |
→ |
6 |
<< >> |
→ |
7 |
< <= >= > |
→ |
8 |
== != |
→ |
9 |
& |
→ |
10 |
^ |
→ |
11 |
| |
→ |
12 |
&& |
→ |
13 |
| | |
→ |
14 |
?: |
← |
15 |
= *= /= %= += -= &= ^ = |= <<= >>= |
← |
16 |
, |
→ |
Таблица типов данных С/С++ приведена в приложении В.
Пример 1. Вычислить площадь прямоугольника по длинам его сторон А и В. Обозначим площадь переменной S, необходимо найти S=A*B.
Программа набирается в окне редактора С++ и компилируется (F9).
Сначала подключаются библиотеки
#include <stdio.h> // для ввода/вывода
#include <conio.h> // для функций работы с экраном
void main () // Заголовок главной программы
{
int A=2, B=3, S; // объявление переменных целого типа
clrscr(); // вызов функции очистки экрана из библиотеки <conio.h>
S=A*B ; // оператор «выражение»
printf ("\n Площадь прямоугольника = %d\n", S); // вывод
getch(); // вызов функции задержки работы до нажатия любой клавиши
}
В результате выполнения программы (Ctrl+F9) на экран выводится сообщение:
Площадь прямоугольника = 6.
Пример 2. Найти площадь равностороннего треугольника. Если стороны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2. Схема алгоритма (СА) для этой задачи (рис.1) выполнена по ГОСТ 19.701-90 (прил. Г [2]).
Текст программы:
#include <math.h>
#include <stdio.h>
#include <conio.h>
#define PI 3.1413 //директива постановки
void main()
{
float A,S; //объявление переменных плавающего типа
clrscr(); //очистка экрана
printf ( " Введите А");
scanf ("%f",&A); // ввод
S=A*A*sin(PI/3)/2;
printf (" Результат : S=%6.2f для A=%f\n", S, A);
getch(); // из библиотеки <conio.h>
}
После выполнения программы на экран выводится:
Результат: S = 10.83 для А = 5.
Предварительно рассчитанный при подготовке к лабораторной работе на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает верность программы.