- •Введение
- •Лабораторная работа № 1 составление линейных, разветвляющихся и циклических алгоритмов
- •Краткие теоретические сведения
- •Свойства алгоритмов
- •Способы описания алгоритмов
- •Графическое описание алгоритма
- •Типы алгоритмов
- •Пример простейшего линейного процесса
- •Пример разветвляющегося процесса
- •Пример циклического процесса
- •Порядок выполнения работы
- •Контрольные вопросы
- •Основной экран Borland c
- •Выход из системы Borland c
- •Получение помощи
- •Cоздание и сохранение файлов
- •Компилирование и запуск программы на выполнение
- •Закрытие Окна Редактирования
- •Загрузка файла в окно редактора
- •Создание нового файла
- •Методы отладки программы
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание для выполнения
- •Лабораторная работа № 3 ввод-вывод данных
- •Краткие теоретические сведения
- •Элементы языка
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип
- •Использование функций printf() и scanf() для форматного вывода и ввода информации
- •Функции для ввода и вывода символов
- •Неформатный ввод-вывод строк
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание для выполнения
- •Варианты задания
- •Лабораторная работа № 4 линейные вычислительные процессы
- •Краткие теоретические сведения Арифметические операции
- •Операция присваивания
- •Операция вычисления размера (sizeof)
- •Преобразование типов
- •( Имя-типа ) операнд
- •Математические функции (заголовочный файл math.H)
- •Побитовые операции
- •Операция следования (запятая)
- •Выражение 1, выражение 2
- •Примеры решений
- •1. Ввести сторону квадрата a. Найти периметр и площадь квадрата.
- •3. Ввести значения переменных и вычислить выражение
- •Лабораторная работа № 5 программирование типовых электротехнических расчетов
- •Краткие теоретические сведения
- •Задания для выполнения
- •Лабораторная работа № 6 программирование разветвляющихся алгоритмов
- •Краткие теоретические сведения
- •If (условие ) оператор_1; else оператор 2;
- •If (условие ) оператор_1;
- •If (условие_1) оператор_ 1;
- •Порядок выполнения работы
- •Задание для выполнения
- •Лабораторная работа № 8 инструкция множественного выбора switch/case
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задания для выполнения
- •Лабораторная работа № 9 программирование циклов с помощью оператора for
- •Краткие теоретические сведения
- •1. Ввести два числа. Посчитать сумму чисел между ними.
- •2. Ввести целое число и определить, является оно простым или нет.
- •Лабораторная работа № 10 Программирование циклов с помощью операторов while и do-while
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задания для выполнения
- •Лабораторная работа № 11 Вложенные циклы
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Формула средних
Лабораторная работа № 4 линейные вычислительные процессы
Цель работы: изучить правила составления программ на языке Си: арифметические операции, операцию присваивания, основные математические функции. Научиться программировать линейные алгоритмы.
Краткие теоретические сведения Арифметические операции
К арифметическим операциям относятся: сложение (+), вычитание (-), деление (/) , умножение (*) и остаток (%).
Все операции (за исключением остатка) определены для переменных типа int , char , float. Остаток не определен для переменных типа float.
Особенность выполнения операции деления: если делимое и делитель – целые числа, то и результат – целое число, т.е. результатом является целая часть от деления (дробная часть отбрасывается). Например, при вычислении 2/5 получится 0, а при вычислении 2./5 получится 0.400000.
Операция присваивания
Операция присваивания выполняется справа налево. Операция присваивания имеет две формы записи: полную и короткую. В одном операторе операция присваивания может встречаться несколько раз.
Полная форма записи: переменная = выражение;
Примеры присваивания полной формы:
int x; x = 25;
double y;
y = (x+2) / (3.5*x) – 5;
int x, y, z;
x = y = z = 4;
int x, y, z;
x = (y = 5) – (z = 3);
К сокращенной форме записи операции присваивания относятся +=, – =, *=, /= и %=, а также префиксные и постфиксные операции ++ и --. Все операции присваивания присваивают переменной результат вычисления выражения. Если тип левой части присваивания отличается от типа правой части, то тип правой части приводится к типу левой.
Примеры присваивания сокращенной формы:
a += b; означает a = a + b;
a – = b; означает a = a – b;
a *= b; означает a = a * b;
a /= b; означает a = a / b;
a %=b; означает a = a % b;
a /= b+4; означает a = a / (b+4);
Префиксные и постфиксные операции ++ и -- используют для увеличения (инкремент) и уменьшения (декремент) на единицу значения переменной.
Семантика указанных операций следующая:
++a увеличивает значение переменной а на единицу до использования этой переменной в выражении.
а++ увеличивает значение переменной а на единицу после использования этой переменной в выражении.
--a уменьшает значение переменной а на единицу до использования этой переменной в выражении.
a-- уменьшает значение переменной а на единицу после использования этой переменной в выражении.
Пример:
/* Арифметические операции и операции присваивания */
# include<stdio.h>
#include<conio.h>
void main( )
{
int x, y, z, v, w;
x=y=5; z=6;
clrscr();
printf("x=%d\t y=%d \t x+y=%d \t x*y=%d\n",x, y, x+y, x*y);
printf("x=%d\t z=%d \t x/z=%d \t x %% z= %d\n", x, z ,x/z ,x%z);
x=++y; z= --y; v=y++; w=y--;
printf("++y=%d \t --y=%d \t y++=%d \t y --= %d\n", x ,z, v, w);
getch();
}
Операция вычисления размера (sizeof)
Операцию sizeof (размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом.
Пример:
printf ( "\n Размер памяти под целое = %d", sizeof ( int) );
printf ( "\n Размер памяти под cимвол = %d", sizeof( сhar) );