Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Порядок выполнения лабораторной работы
1) Запустить программу Dev-C++. 2) Выполнить настройку программы: поддержку русской консоли и настройка режима отладки. 3) Создать исходный файл *.c и сохранить его на диске. 4) Подключить заголовочные файлы <stdio.h>, <windows.h>, <conio.h>, <math.h>. 5) Составить линейный алгоритм и программу определения значения функции в соответствие с индивидуальным заданием, для чего: а) описать используемые константы; б) в теле главной функции main описать используемые переменные; в) выполнить чтение переменных, вводимые пользователем; г) выполнить требуемые арифметические вычисления; д) провести пошаговую отладку программы (Debug) с использованием слежения за переменными (Add Watch); е) вывести результат функции на экран в требуемом виде. 6) Выполнить отчет по лабораторной работе. Индивидуальные задания
Контрольные вопросы 1. Какие настройки Dev-Cpp необходимо выполнить перед началом работы? 2. Как выполнять отладку программы в Dev-Cpp? 3. Какие типы переменных применяются в языке С? 4. Перечислите основные отличия функций printf() и scanf().
ЛАБОРАТОРНАЯ РАБОТА № 2 Тема: «Программирование алгоритмов с ветвлениями» Цель работы – изучить операции сравнения, логические операции, операторы передачи управления if и switch. Теоретические сведения 2.1. Оператор условной передачи управления if Для выбора одной из ветвей вычислений применяется оператор условного перехода: if (выражение) оператор 1; else оператор 2; вычисляется выражение, и если его значение не равно 0 (истинно), то выполняется оператор 1, иначе – оператор 2, например: if (x>y) max = x; else max = y; Если операторы 1, 2 содержат более одного оператора, то они заключаются в фигурные скобки { }, т.е. применяется блок. Конструкция else… может отсутствовать и такую форму называют сокращенной, тогда в случае ложности условия управление передается на следующий за if оператор. Если операторы 1, 2 в свою очередь являются операторами if, то такой оператор называют вложенным, при этом ключевое слово else принадлежит ближайшему предшествующему if. Пример 2.1. Найти наибольшее значение из трех чисел x,y,z: if (x>y) if (x>z) max=x; else max=z; else if(y>z) max=y; else max=z; 2.2. Операции сравнения Операции сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), != (не равно), = = (равно). Операции сравнения бинарные, их общий вид: Операнд 1 <знак операции> Операнд 2 Операндами операций сравнения могут быть данные любых базовых типов, значения которых перед сравнением преобразуются к одному типу. Логические операции используются в качестве условий при составлении более сложных выражений. Приведем их перечень в порядке убывания приоритета: ! (отрицание или логическое НЕ – унарная операция), && (конъюнкция или логическое И), || (дизъюнкция или логическое ИЛИ). Пример 2.2. (0<x)&&(x<=100) ((!x)&&(y>0)||((z==1)&&(k>0)). Выражения вычисляются слева направо, причем их вычисление прекращается, как только результат становится известен. 1.3. Тернарная операция Тернарная (условная) операция ?: Ее общая форма: Операнд 1 ? Операнд 2 : Операнд 3 Если значение операнда 1 истинно (не равно 0), то результатом операции является операнд 2, иначе – операнд 3. Пример 2.3. Найти наибольшее из двух чисел: 1.4. Оператор выбора switch Общая форма оператора выбора (переключателя): switch(выражение) { case const_1: операторы; break; … case const_N: операторы; break; default: операторы; } Вычисляется выражение и проверяется, совпадает ли его результат со значением одной из констант. При совпадении выполняются операторы этого case. Значе-ниями const_1,…, const_N могут быть только целые или символьные константы. Конструкция default выполняется, если результат выражения не совпал ни с одной из констант, и может отсутствовать. Оператор break выполняет досрочный выход из switch (после выполнения ветви case все остальные будут опущены). Если опе-ратор break в case не записан, то будут выполняться операторы следующих ветвей case до появления оператора break, либо до завершения оператора switch. Пример 2.4. switсh(i) { case 1: f=pow(x,2); break; case 2: f=fabs(x); break; case 3: f=sqrt(x); break; default: printf(“Ошибка!”); exit(1); } f=f+5; Пример 2.5. Ввести значения исходных данных x, y и z. Вычислить значение функции. Текст программы может иметь следующий вид: #include <conio.h> #include <stdio.h> #include <math.h> int main() { double x, y, z, u; puts("Input x, y, z"); scanf("%lf%lf%lf",&x, &y, &z); if (x*y > z){ u = x*sin(y); puts(" x*y > z"); } else { u = y*cos(x); puts(" x*y <= z"); } printf("\n\t Rezult U = %8.6lf", u); puts("\nPress any key ... "); getch();} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 182. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |