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

Основы алгоритмизации и программирования. Часть 1. Задачи и упражнения. Практикум. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
543 Кб
Скачать

Министерство образования и науки российской Федерации

уральский Федеральный университет иМени первого президента россии б. н. ельцина

а. Ю. коврижных е. а. конончук г. е. лузина

основы алгоритМизации и програММирования

практикум в двух частях

Часть 1. задачи и упражнения

рекомендовано методическим советом урФу в качестве учебно-методического пособия для студентов,

обучающихся по программам бакалавриата и специалитета по направлениям подготовки 04.03.01 «Химия», 04.05.01 «Фундаментальная и прикладная химия»

екатеринбург издательство уральского университета

2016

удк 004.4(075.5) к568

рецензенты:

и. н. кандоба, кандидат физико-математических наук, старший научный сотрудник отдела прикладных проблем управления (институт математики и механики им. н. н. красовского уро ран);

г. б. захарова, кандидат технических наук, доцент, заведующий кафедрой прикладной информатики

(уральский государственный архитектурно-художественный университет)

Коврижных, А. Ю.

к568 основы алгоритмизации и программирования : практикум : [учеб.-метод. пособие]. в 2 ч. Ч. 1. задачи и упражнения / а. Ю. коврижных, е. а. конончук, г. е. лузина ; М-во образования и науки рос. Федерации, урал. федер. ун-т. — екатеринбург : изд-во урал. ун-та, 2016. — 52 с.

ISBN 978-5-7996-1888-9

ISBN 978-5-7996-1886-5 (часть 1)

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

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

адресовано студентам, обучающимся по направлениям подготовки «Химия» и «Фундаментальная и прикладная химия».

удк 004.4(075.5)

ISBN 978-5-7996-1888-9

 

ISBN 978-5-7996-1886-5 (часть 1)

© уральский федеральный университет, 2016

От АвтОрОв

цель данного практикума – оказать помощь студентам в организации самостоятельной работы при освоении разделов образовательной программы по информатике, посвященных основам алгоритмизации и программирования, и дать преподавателю необходимый минимум материала для проведения лабораторных

ипрактических занятий.

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

несмотря на то, что сегодня существует большое количество литературы, содержащей задачи по алгоритмизации и программированию, авторы пособия, основываясь на собственном опыте проведения занятий по курсу «информатика» для студентов, приобретающих специальности естественно-научных направлений, сформировали перечень задач и упражнений, а также набор алгоритмов для расчетно-графических работ, которые необходимы именно этой целевой группе. Часть приведенных задач и примеров заимствована из хорошо зарекомендовавших себя источников (задачи по программированию / с. а. абрамов [и др.]. М. : наука, 1998; пильщиков в. н. сборник упражнений по языку паскаль : учеб. пособие для вузов. М. : наука, 1989).

практикум состоит из двух частей.

первая часть содержит задачи по основным темам курса «информатика», читаемому студентам направлений подготовки «Химия» и «Фундаментальная и прикладная химия», – по программированию линейных, разветвляющихся, циклических процессов, алгоритмов с использованием массивов. каждая тема начинается с разбора типовой задачи, примера построения алго-

3

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

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

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

введение

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

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

на практических занятиях обсуждаются основные этапы решения на компьютере любой задачи. Этими этапами являются:

1)постановка задачи;

2)математическая формализация;

3)построение алгоритма;

4)составление программы на языке программирования;

5)отладка и тестирование программы.

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

на втором этапе дается математическое описание задачи. строится математическая модель – система математических соотношений (формул, уравнений, неравенств и т. д.), связывающих результаты с исходными данными.

на третьем этапе осуществляется построение алгоритма – четкой инструкции, задающей необходимую последовательность

5

действий, которая определяет процесс преобразования исходных данных в результаты решения задачи. алгоритм чаще всего представляется в форме блок-схемы ввиду ее наглядности и универсальности.

первые три этапа реализуются без использования компьютера. дальше следует четвертый этап, собственно программирование – на определенном языке в определенной системе. программирование включает в себя следующие составляющие: выбор языка; уточнение способов организации данных; запись алгоритма на выбранном языке программирования.

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

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

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

только после удачного тестирования и проверки правильности работы программы последнюю можно сдавать в эксплуатацию (в нашем случае – на проверку преподавателю).

1. ПрОгрАммирОвАние линейных АлгОритмОв

линейный алгоритм — это описание действий, которые выполняются однократно в заданном порядке.

Пример типовой задачи

для заданных a и b вычислить:

z = x3 + y3 +10,

y =sin(b)cos(a + x),

x = a +1.

Блок-схема алгоритма

приведена на рис. 1.

Начало a, b

x = a +1

y =sin (b) cos(a + x)

z = x3 + y3 +10

x, y, z

Конец

рис. 1. блок-схема линейного алгоритма

7

текст программы на языке Паскаль

program prim1;

var a, b, x, y, z: real; begin

write('введите a='); readln(a); write('введите b='); readln(b);

x := sqrt(abs(a + 1));

y := sin(b) – cos(a + x);

z := sqr(x)*x + sqr(y)*y + 10; writeln('x=', x:6:2); writeln('y=', y:6:2); writeln('z=', z:6:2)

end.

текст программы на языке С#

using System;

namespace ConsoleApplication18

{

class Program

{

static void Main(string[] args)

{

Console.Write("введите a=");

double a = double.Parse(Console.ReadLine()); Console.Write("введите b=");

double b = double.Parse(Console.ReadLine()); double x = Math.Sqrt(Math.Abs(a + 1)); double y = Math.Sin(b) Math.Cos(a + x);

double z = Math.Pow(x,3) + Math.Pow(y,3) + 10; Console.WriteLine("x=" + x.ToString("E")); Console.WriteLine("y=" + y.ToString("E")); Console.WriteLine("z=" + z.ToString("E")); Console.ReadLine();

}

}

}

8

Задачи

1.известны первый и пятый члены арифметической прогрессии. найти величину члена прогрессии с номером N и сумму N членов.

2.известны члены арифметической прогрессии с номерами N

иM. найти сумму членов с номерами от M до N (считать M < N).

3.заданы первый член и знаменатель геометрической прогрессии. найти сумму членов с номерами от заданного номера K до заданного номера P (считать K < P).

4.повесть рэя брэдбери называется «451 градус по Фаренгейту». напечатать название повести в градусной мере по цельсию. Формула перевода:

tC = 95 (tF 32).

5.в классе N учеников. после контрольной работы было получено: А – пятерок, В – четверок, С – двоек, остальные тройки. найти процент троек.

6.для заданных значений вычислить результат:

1) 1003 922 +k;

2)

 

1cos(x)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln (x2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)

 

sin2 (x)+cos2

(

y3

)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

3)

5/4x +ex/2 ;

 

 

 

 

 

 

 

 

 

 

 

 

5)

 

 

 

 

 

 

 

 

 

 

 

6)

e1/2(x −α);

 

 

 

 

 

x + x2 +4y2 ;

 

 

 

 

 

ctg(x)sin (

 

 

);

8)

 

0,25(a b)

 

.

 

 

 

 

 

1

 

 

 

 

b

 

 

 

 

 

7)

x2 +1

 

 

 

 

 

 

 

 

8

 

n+3

 

 

lg(b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

7. заданы x, y, z. вычислить a, b, если:

1) a =

 

 

 

x 1

3

y

,

 

 

 

 

 

 

 

 

 

 

 

(x+3)

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+

 

x

 

 

+

y

 

 

 

 

 

b = x arctg (z)+e

 

 

 

 

 

 

 

 

 

 

2

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

a =

 

 

 

 

 

 

3+ey1

 

 

,

b =1+

 

y x

 

+

(y x)2

+

 

y x

 

3

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+ x2

 

y tg(z)

 

 

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2cos

 

 

π

 

 

 

 

 

 

z

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

6

 

 

 

b =1+

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

3)

a =

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

2

 

 

 

 

 

 

 

 

 

 

1

+sin2

(y)

 

 

 

 

3+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. для x

=

 

 

 

вычислить

значение

 

многочлена

 

по

схеме

 

 

 

 

 

горнера:

z=5x3 +70x2 +14x =[(5x +70)x +14]x.

9.заданы три числа a, b, c. вычислить их среднее арифметическое:

p = a +3b +c

и среднее геометрическое:

q= 3abc.

10.заданы R, r, h – измерения усеченного конуса. вычислить площадь поверхности и объем усеченного конуса по формулам:

S = π(R +r)l R2 r2 ;

V = 13 π(R2 +r2 + Rr)h;

l = h2 +(R r)2 .

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]