Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C#. Часть 1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Решение. Составим список идентификаторов.
Обозначение Идентификатор Тип
V
1
V1
V V Double
H
Habc Double
абс
Hц Hc Double
Структурная схема алгоритма приведена на рис. 1.2.
Н А Ч А Л О
1
H
, H c, V
абс
Double
Программа, составленная по алгоритму рис. 1.2, примет вид:
using System;
2
⎛
1
⎜
⎜
1
VV
⎝
−
HH
−=
2000
⎞
цабс
⎟
⎟ ⎠
3
V
1
К О Н Е Ц
Рис. 1.2. Структурная схема алгоритма
using System.Collections.Generic;
using System.Linq;
using System.Text;
21
namespaceLr_1
{
classProgram
{
staticvoid Main(string[] args)
{
double Habc, Hc, V, V1;
Console.WriteLine ("Введите Habc");
Habc = Convert.ToDouble (Console.ReadLine());
Console.WriteLine ("Введите Hc");
Hc = Convert.ToDouble (Console.ReadLine());
Console.WriteLine ("Введите V");
V = Convert.ToDouble (Console.ReadLine());
}
}
}
V1=V*(1-(Habc-Hc)/2000);
Console.WriteLine ("Задание №1");
Console.WriteLine ("Исходные данные");
Console.WriteLine ("Habc = {0} Hc ={1} V={2}",
Console.WriteLine ("Результат решения");
Console.WriteLine ("V1={0}",V1);
Console.ReadLine();
Листинг решения задачи приведён ниже.
Habc,Hc,V);
22
Задание № 1
Исходные данные
Habc = 2290 Hc = 1567 V = 300
Результат решения
V = 191,55.
1.9. ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления объёма пирамиды, основанием которой является
треугольник. Для вычисления площади основания использовать формулу
Герона
,
)()()( cpbpapps −−−=
где р = (а + b + с) /2. Объём пирамиды v = 1/3 s h. Известно, что h = 2,5;
a = 8,91; b = 12; c = 5,3. Вывести на печать исходные данные и полученные
результаты.
2. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления поверхности усеченного конуса s = π (R + r) l +
+ πR2 + πr2 и объёма v = 1/3 π (R2 + r2 + Rr)h, при R = 18,375;
r = 0,5;
h = 12,53. Вывести на печать исходные данные и полученные результаты.
3. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления площади треугольника по формуле Герона
)()()( cpbpapps −−−=
,
где р = (а + b + с) /2, a = 8,91; b = 12; c = 6,0. Вывести на печать исходные
данные и полученные результаты.
4. Составить список идентификаторов, структурную схему алгоритма и
программу вычисления площади, периметра и диагонали прямоугольни
Известны длины
сторон прямоугольника а = 5,71; b = 10,2. Вывести на пе-
ка.
чать исходные данные и полученные результаты
5. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления площади прямоугольного треугольника при зна-
чении одного из катетов k = 8 и гипотенузе g = 10.
6. Составить список идентификаторов, структурную схему алгоритма
и программу для вычисления А.
23
A = b – Vx cosQ – Vy sinQ,
−
μ
⋅
ϕ
где Vx = Vy cosα ⋅ cosβ, при известных Vy = 83 м/с, b = 300 м/с, α = 5 град,
β = 30 град, Q = 30 град.
На печать вывести исходные данные и результат.
7. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления выражения
−
k
1
P
P
⎞
h
⎟
,
⎟
k
⎠
=
g
θ
2
−
k
⎛ ⎜
⎜
1
⎝
−
k
ln1
ekrt
при известных k = 3; r = 12,3, t = 5,7, Ph = 10, Pk = 2; g = 9,8 – вывести на
печать исходные данные и полученные результаты.
8. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления Т
)34( xk
=
T
,
μ
)12( −= xk
, x = 0,41, μ = 0,567.
На печать вывести исходные данные и результат.
9. Составить список идентификаторов, структурную схему алгоритма и
программу для вычисления высоты треугольника, опущенной на сторону а,
по известным значениям длин его сторон a, b, c.
10. Составить список идентификаторов, структурную схему алгоритма
и программу для определения координаты середины отрезка (a, b), если
a = 0,5, b = 2.
11. Составить спис
ок идентификаторов, структурную схему алгоритма
и программу для вычисления Т.
cos
T =
R
, где R =
V
где ϕ = 0,9; V = 200; g = 9,81; H = 2.
24
V
,
12−Hg
2. РАЗВЕТВЛЯЮЩИЕСЯ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ
Вычислительный процесс называется разветвляющимся, если в за­висимости от выполнения определённых условий он реализуется по одному из нескольких, заранее предусмотренных (возможных) направлений. Каждое отдельное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется уже при выполнении программы в результате проверки некоторых условий и определяется свойствами исходных данных и промежуточных результатов. При со
все возможные ветви вычислений. Для программной реализации таких
тены
ставлении программы должны быть уч-
вычислений в языке имеются специальные операторы передачи управ­ления, которые дают возможность перейти из одного места программы в другое (передать управление) и изменить последовательный порядок выпол­нения её операторов. Если такой переход осуществляется только при выпол­нении какого-либо условия, то он называет
ся условным
, а соответствую­щий ему оператор – оператором условного перехода. Если переход осуществляется в любом случае, то он называется безусловным, а соответ­ствующий оператор оператором безусловного перехода.
2.1. УСЛОВНЫЕ ПЕРЕХОДЫ
Оператор условного перехода. Разветвляющийся вычислитель-
ный процесс, содержащий две ветви, схематично может быть изображён с помощью структуры выбора (структуры разветвления), которая содержит три элемента: логическое условие, ветвь Да и ветвь Нет. Общий вид структуры представлен на рис. 2.1 и рис. 2.2.
Структура выбора в языке С# реализуется с помощью условного опера-
тора, который позволяет выполнить один из двух входя
щих в нег
о операто­ров в зависимости от значения некоторого логического выражения. Оператор может иметь две формы записи:
для схемы алгоритма на рис. 2.1 if (логическое выражение) оператор;
25
Д
Д
1
Общий участок
вычислений 1
Нет
2
а
Условие
3
Оператор
4
Общий участок
вычислений 2
Рис. 2.1. Разветвляющийся вычислительный процесс
с одной ветвью вычислений
а
2 3
Оператор1
1
Условие
4
Нет
Оператор2
Общий участок
вычислений 2
Рис. 2.2. Разветвляющийся вычислительный процесс
с несколькими ветвями вычислений
26
для схемы алгоритма на рис. 2.2
if (логическое выражение) оператор1;
else оператор2;
где if (если), else (иначе) – служебные слова; оператор1, оператор2 – любые
операторы языка.
Оператор варианта. Оператор варианта является обобщением ус-
ловного оператора. Он даёт возможность выполнить один из нескольких опе-
раторов в зависимости от значения некоторого выражения, называемого се-
лектором.
В общем случае оператор имеет вид:
switch (селектор)
{
case список_меток_1 : оператор_1;
break;
case список_меток_2 : оператор_2;
break;
. . .
case список_меток_n : оператор_n;
break;
default: оператор;
break;
}
Сase (выбор), switch – служебные слова; селектор – выражение любого
скалярного типа, кроме вещественного; оператор – любой оператор языка, в
том числе и составной; список_меток – список разделённых запятыми значе-
ний выражения селектор или его значение, ключевое слово break
; осуществ-
ляет выход из оператора switch.
27
Константы должны иметь тот же тип, что и селектор, и называются они
метками варианта. Оператор варианта выбирает для исполнения тот опера-
тор, одна из меток которого равна текущему значению выражения селектор,
иначе будет выполнен – оператор. По окончании выполнения выбранного
оператора управление передаётся в конец оператора CASE. Секция default
может в операторе switch не указыват
ься. Он
а выполняется в том случае, ес-
ли не совпала ни одна константная инструкция из секции выбора.
Изображение оператора выбора в структурной схеме показан на
рис. 2.3.
селектор
( Список меток )
1 2 3
оператор_1
оператор_2
оператор_3
. . .
default
оператор
Рис. 2.3. Структурная схема оператора выбора
2.2. БЕЗУСЛОВНЫЕ ПЕРЕХОДЫ
Безусловный переход можно осуществить двумя способами: с помо-
щью ключевых слов: goto, break, continue, return или вызова метода. Опера-
торы первого способа будут рассмотрены ниже. При вызове метода компиля-
тор находит в проекте имя метода, приостанавливает выполнение текущего
кода программы и осуществляет выполнение метода. После выполнения ме-
тода происходит возврат в основной ко
д программы, на ту инструк
цию, ко-
торая следует за именем метода.
28
тода:
Пример, иллюстрирующий безусловный переход с использованием ме-
using System;
class Fun
{
static void Main()
{
Console.WriteLine("В методе Main вызывается метод Jum...");
Jum(); Console.WriteLine("Возвращение в метод Main.");
}
staticvoidJum()
{
Console.WriteLine("Выполняется метод Jum!");}
}
Точкой входа является метод Main(). Внутри метода операторы выпол-
няются последовательно до метода Jum(). Выполняется оператор вывода на
экран фразы «В методе Main вызывается метод Jum...». Затем вызывается ме-
тод Jum(). Происходит переход к выполнению метода Jum, выводится на эк-
ран фраза «Выполняется метод Jum!». После этого происходит возврат в ме-
тод Mainна инструкцию, следующую за оператором Jum();. Выводится фраза
«Возвращение в метод Main
.» и осуществляется выход из программы.
2.3. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Пример 1. Даны три неравных числа a, b, c. Вычислить и вывести на
экран значение z, равное квадрату большего из них.
Схема алгоритма решения задачи представлена на рис. 2.4.
29
Д
Д
Начало
1
Ввод
(a, b, c)
а
3 4
z = a z = b
2
Нет
a > b
а
5
Нет
c > z
6
z = c
7
2
z =z
8 Печать
(z)
30
Конец
Рис. 2.4. Структурная схема алгоритма
Программа, соответствующая схеме алгоритма, имеет вид:
{
Double A, B, C, Z;
A = Convert.ToDouble (Console.ReadLine ());
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]