Программа разветвленной структуры это

Язык Си является универсальным языком программирования. Первоначально он появился в операционной системе UNIX, и развивался как основной язык систем, совместимых с ОС UNIX. Сам язык, однако, не связан с какой-либо одной операционной системой или машиной; и хотя его называют языком системного программирования, так как он удобен для написания операционных систем, он может использоваться для написания любых больших вычислительных программ, программ для обработки текстов и баз данных.

Лабораторная работа №1

Работа в интегрированной среде Borland С на примере программ линейной структуры

1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков работы в интегрированной среде Borland C, изучение структуры программы на языке С.

ОСНОВНЫЕ СВЕДЕНИЯ

Чаще всего линейные алгоритмы используются для программирования вычислений по формулам. В этом случае удобно использовать набор стандартных функций Си, содержащихся в заголовочном файле math.h :

Sin (x) — sin x; cos (x) – cos x ; tan(x) — tg х ; log (x) — ln x; log10(x) – lg x; exp(x) — показательная функция e x ; 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=c×sin x; b=c×cos x; S=ab ;

Программа вычислений имеет вид:

//lab1_1 вычисление высот и площади треугольника

#include //заголовочный файл для организации ввода-вывода

#include //заголовочный файл математических функций

main() //главная функция

printf (“n Введите гипотенузу и угол треугольника ”);

scanf (“%f%f “,x); // ввод значений вещественного типа

printf (“n Результаты: a=%7.2f b=%7.2f S=%7.2f “,a, b, S);

Комментарий в программе не влияет на компиляцию программы, а служит для разъяснения действий основных блоков текста и программы в целом. Однострочный комментарий действует от двух символов // до конца строки. Многострочный комментарий заключается в пары символов /* и */.

Вторая строка программы #include является директивой компилятора для включения заголовочного файла stdio.h , в котором содержатся средства ввода-вывода (связи с внешними устройствами), отсутствующие в самом языке Си. Третья строка — #include является директивой компилятора для включения заголовочного файла math.h, обеспечивающего выполнение математических функций.

Программа на языке Си состоит из ряда функций, из которых функция main (главная) является обязательной и служит точкой входа в программу. В круглые скобки заключаются параметры функции, причем наличие круглых скобок обязательно, если даже список параметров пуст. В фигурные скобки заключаются составной оператор (несколько операторов). Для придания тексту программы наглядности открывающая и соответствующая ей закрывающая фигурные скобки печатаются на одном уровне, а заключенный между ними текст, сдвигается на 1-2 символа вправо, вложенный блок также сдвигается вправо и т.д. Образуется иерархия вложенных блоков, придающая программе на Си характерный вид.

СОЗДАНИЕ ПСЕВДОКОДА И ПРОГРАММЫ НА ЯЗЫКЕ PASCAL ЦИКЛИЧЕСКОЙ СТРУКТУРЫ C ПАРАМЕТРОМ

В программе описаны переменные a, b, c, х, S вещественного типа (float). В отличие от других языков в Си учитывается регистр при определении имени переменной, т.е. s и S – разные переменные. Функции printf и scanf содержатся в заголовочном файле stdio.h и служат для вывода на экран и ввода с клавиатуры соответственно. Управляющие символы n в функции printf служат для перевода на новую строку.

Читайте также:
К какой группе преступлений относится создание использование и распространение вредоносных программ

Символ служит для выхода из функции main в Интегрированную Среду, 0 является признаком успешного окончания программы. Завершает текст программы закрывающая фигурная скобка, означающая конец функции main.

ВЫПОЛНЕНИЕ РАБОТЫ

3.1. Наберите и выполните приведенную выше программу вычисления высот треугольника по заданным сторонам.

3.2. Составьте и выполните программу линейной структуры согласно вариантам заданий.

Варианты заданий

Вычислить значение функции переменных при заданных значениях параметров:

1. x=4y 2 /(4z-2t 3 ) при t=1 ; z=3; y=sin t.

2 x=4y 3 -z/t при t=2; z=3; y=cos(t+z).

3. x=6t 2 -(z+1)/y 2 при y=2; z=4; t=sin(2+z).

4. x=(8z 2 +1)/(y+t 2 ) при z=1; t=2; y=t+z.

5 x=8z / (e t +2)-y 2 при t=3; z=ctg t +2; y=4.

6. x=8z/(e t +2)-y 2 при t=1; z=t+2; y=4.

7. x=2y+3 sh t- z при y=2; t=5 / (1+y 2 ); z=4

8. x=3 y 2 / (4 tg z-2t 2 ) при t=0.5; z=6; y=t+2 ctg z.

9. x=4y 2 /( 4y e z — 2t 3 ) при t=1 ; z=3; y=sin t.

10. x=4 ln y 3 -z / t при t=2; z=3; y=cos(t+z).

11. x=6 t 2 — (ctg z+1)/ y 2 при y=2; z=4; t=sin(2+z).

12. x=(8z 2 +1)/( y e t +t 2 ) при z=1; t=2; y=tg t+z.

КОНТРОЛЬНЫЕ ВОПРОСЫ

4.1. Что такое алгоритм линейной структуры, программа линейной структуры?

4.2. Для чего используются заголовочные файлы?

4.3. Структура программы на языке Си.

Лабораторная работа №2

Программы разветвлённой структуры

1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении алгоритмов и программ разветвленной структуры.

ОСНОВНЫЕ СВЕДЕНИЯ

Алгоритм разветвленной структуры — это алгоритм, в котором вычислительный процесс осуществляется по одной из ветвей. Если количество ветвей две – то используется условный блок, если больше – то множественный выбор. В программах используют соответственно условный оператор IF или оператор SWITCH для реализации разветвленного алгоритма.

Условный оператор IF

Условный оператор в языке Си имеет формат:

(полная форма) или

if (условие) оператор1; (сокращенная форма).

Если оператор1 и оператор2 состоят из одного оператора, то в фигурные скобки они не заключаются. Если оператор1 и/или оператор2 являются составным оператором (несколько операторов), то он заключается в фигурные скобки. Условие всегда заключается в круглые скобки.

В качестве примера приведем программу вычисления наибольшего из значений функции y1=x²+1, y2=7-x² , y3=x+1 для любого х.

printf(«Введите xn»); scanf(“%f “,

y1=x*x+1; y2=7-x*x; y3=x+1;

printf (“x=%8.2f y1=%8.2f y2=%8.2f y3=%8.2f max=%8.2fn”,x,y1,y2,y3,max);

Прокрутить вверх

Предыдущая 1 234567Следующая

Не нашли, что искали? Воспользуйтесь поиском по сайту:

Источник: stydopedia.ru

ЛАБОРАТОРНАЯ РАБОТА №2. Разработка программ разветвленной структуры

Цель работы приобретение практических навыков составления программ разветвленной структуры, изучение базовых алгоритмов разветвляющихся структур.

Краткие теоретические сведения

Разветвляющимися алгоритмическими структурами называются такие структуры, в которых порядок выполнения блоков операторов определяется значениями логических выражений. Разветвляющийся алгоритм может состоять из нескольких ветвей, каждая из которых может содержать любую, сколь угодно сложную, алгоритмическую структуру. В процессе работы разветвляющегося алгоритма в первую очередь вычисляютсялогические выражения(частнымслучаем логического выражения является логическая переменная или константа). Если результат вычисления логического выражения принимает значение True (Истина), то выполняется часть алгоритма, расположенная по ветви «Да», если значение – False (Ложь), то – по ветви «Нет».

Наиболее часто используются три типа разветвлений. Стандартное разветвлениесодержит функциональные блоки как в ветви «Да», так и в ветви «Нет». Усеченное разветвлениесодержит функциональные блоки только в ветви «Да» или только в ветви «Нет». Вложенное разветвлениевключает одно или несколько разветвлений.

Читайте также:
Программы адоб не устанавливаются

Логические выражения, в отличие от арифметических, содержат операции отношения (=, , =, <>), а также еще пять логических операций, записанных далее в порядке убывания приоритета: отрицание — NOT, логическое умножение (логическое “И”) — AND, логическое сложение (логическое “ИЛИ”) — OR, исключающее “ИЛИ” — XOR, эквивалентность — EQV.

Логическое выражениеможет содержать либо простое, либо сложное условие. Простое условие – это два арифметических или строковых выражения, соединенных операцией отношения.

Операции отношения Значение
= Равно
Меньше чем
> Больше чем
Меньше или равно
>= Больше или равно
<> Не равно

Сложное условие, в отличие от простого условия, содержит логические операции — NOT, AND, OR, XOR и др.:

· AND(и) – возвращает значение Истина, если все участвующие в операции выражения имеют значение Истина;

· OR(или) – возвращает значение Истина, если хотя бы одно из участвующих в операции выражений имеет значение Истина;

· XOR(исключающее или) – возвращает значение Истина, если только одно из выражений Истина;

· NOT(операция отрицания) – возвращает обратное для значения выражения значение, то есть если выражение TRUE, вернет FALSE и наоборот.

Ниже представлена таблица истинности основных логических операций.

Значения операндов NOT x x AND y x OR y x XOR y х EQV y
X Y
T T F T T F T
T F F F T T F
F T T F T T F
F F T F F F T

Рассмотрим примеры простых условий:

Логическое выражение Результат
5 < 10 True, так как 5 меньше 10
5 > 10 False,так как5 не больше 10
7 <> 3 True, так как 7 не равно 3
X > 45 True,если X больше 45; в противном случае False
5-1 > 1+2 True,вначале вычисляется разность 5-1 (4),
затем вычисляется сумма 1+2 (3) и наконец, проверяется условие 4 > 3, т.е. 4 больше 3

Порядок выполнения конструкции следующий: если значение логического выражения LравноTrue, то выполняется оператор (или операторы), стоящий после Then, в противном случае выполняются операторы, стоящие после Else. Конструкция Else может отсутствовать (в формате она взята в квадратные скобки) – случай усеченного разветвления.

If Then [Else ]

Примеры: If x mod 3=0 Then TextBox4.Text= “Число кратное 3”

If x<>0 Then K=K+1: S=S+X

Ifx > 0Theny=SQR(x)Elsey=1

If Then

[ Else

End If

Блочный оператор IF …END IF

Оператор IF блочной структуры имеет следующую конструкцию:

If Then

[ ElseIf Then

ElseIf Then

ElseIf Then

Else

End If

Последовательно выполняется проверка истинности выражений. Если истинно, выполняется блок и переход к оператору, следующему за END IF, иначе выполняется проверка истинности и т.д. Если ни одно из выражений не соответствует требованиям истинности, выполняется блок операторов ELSE, если он имеется, иначе — оператор, следующий за END IF.

TextBox2.Text =“x принадлежит интервалу [a,b]”

Конструкция Select Case позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций IF…Then…End IF. Эта конструкция состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения. В первую очередь вычисляется значение заданного выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Case. Если найдено искомое значение, выполняются операторы, приписанные данному оператору Case. Если искомое значение не найдено, выполняются операторы за ключевым словом Case Else:

Select Case

Case

[Case

Case

Case Else

End Select

Примеры оформления условий в операторе Select :

Case Is >100 ‘ проверка на превышение значения 100; Case x^2 ‘ проверка на равенство значению выражения; Case -10 To 10 ‘ проверка на принадлежность отрезку [-10,10]; Case 0 To 5, 12 To 19, 7, -2.5, Is > Sred
Читайте также:
Пример программы пусконаладочных работ по вентиляции

Ключевое слово Is говорит компилятору о том, что требуется сравнить переменную с выражением, указанным после ключевого слова Is. Ключевое слово То определяет диапазон значений. Запятая в списке условий обозначает логическое OR.

2.2.1. Задание на разработку проекта и вариант задания ИДЗ №1 (индивидуальное задание №1)

Написать программный код для вычисления выражения Y:

Источник: megaobuchalka.ru

Программирование алгоритмов разветвленной структуры

Цель работы – ознакомление с особенностями программирования алгоритмов разветвленной структуры, а также использования различных операторов перехода.

2.1 Алгоритмы разветвленной структуры. Операторы перехода и выбора

Ветвящимся (разветвленным) называется алгоритм, в котором в зависимости от исходных данных или промежуточных результатов вычисления реализуется по одному из нескольких заранее предусмотренных (возможных) направлений, называемых ветвями вычислений.

Оператор условного перехода реализует разветвление алгоритма и применяется, когда в зависимости от условия необходимо выполнить либо одно, либо другое действие. В качестве условий используются логические отношения. Логические отношения представляют собой записи равенств и неравенств: , =, =,<> (не равно), AND (логическое «и»), OR (логическое «или»). В Паскале оператор условного перехода имеет две конструкции (таблица D1).

В Паскале принят порядок выполнения операторов согласно их следованию в программе. Если необходимо обойти какую-то группу операторов, то используется оператор безусловного перехода, который в блок-схеме отображается в виде стрелки, а не отдельного блока (таблица D1). Метка, используемая в операторе, показывает, что дальнейшая работа должна проводиться в другой части программы, с той строки, на которую она указывает и должна быть предварительно описана в разделе Label (например, Goto NM;). Этот оператор используется только в исключительных ситуациях, поскольку такие переходы разрушают связи между структурой программы и структурой вычислений, что приводит к потере ясности программы и затрудняет задачу верификации (доказательства правильности составления программы).

Кроме оператора безусловного перехода, в Турбо Паскале 7.0 иногда используются четыре безусловные функции:

— Break – позволяет досрочно закончить цикл;

— Continue – позволяет начать новую итерацию цикла, не дожидаясь окончания предыдущей итерации;

— Exit – позволяет завершить работу текущего программного блока (программу, процедуру);

— Halt(n) – позволяет завершить работу программы с кодом завершения n.

К операторам разветвляющейся структуры относится также оператор выбора (варианта), позволяющий программировать сложные ветвления, когда имеется несколько (обычно равновероятных) вариантов действия (таблица D1).

2.2 Примеры решений задач разветвленной структуры

2.2.1 Вычислить
Program primer2_1; Label m1; Var i, n:integer; x, y:real; Begin Write(‘Введи N’); Read(n); i:=1; m1: Write(‘Введи x’); Read(x); If x=0)and(x <=1) then y:=0 else y:=sin (x); write (‘Y=’,y:10:3); i:=i+1; if i<=n then goto m1 end.

Рисунок 2.1 — Блок-схема алгоритма и программа разветвленной структуры

2.2.2 В старояпонском календаре принят 60-летний цикл, состоящий из пяти 12-летних малых циклов. Малые циклы обозначаются названиями цвета. Внутри каждого малого цикла годы носят названия животных. Определить название заданного года нашей эры по японскому календарю. Так как в данном случае блок-схема получается достаточно громоздкой, ниже приведена только программа решения задачи.

Var year, i, k: integer;

Write (‘Введите год’); Read (year); Write (‘- the year of the ‘);

i:= (year-3) mod 12; k:= (3010 – year) mod 60 div 12;

Источник: studopedia.info

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru