рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ - раздел Программирование, Основные Алгоритмические Ст...

ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

Алгоритмическая структура ВЕТВЛЕНИЕ

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

Логические величины и выражения

Найдите ответ на вопрос, с чем связано название логического типа – Boolean. Допустимые операции для логического типа данных: операции сравнения… Арифметические выражения можно сравнивать между собой с помощью операций сравнения. Эти операции известны Вам из курса…

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

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

При решении задач в системе ИнтАл Вы использовали две формы записи команды ветвления: сокращенную и полную. Аналогично обстоит дело в Паскале:

Неполная команда ветвления Полная команда ветвления
IF P THEN S ; IF P THEN S1 ELSE S2 ;
    Рис.3.4.  

Здесь P – условие разветвления (логическое выражение или выражение отношения), S, S1, S2 – выполняемые операторы.

* Условие Р бывает простым (если оно содержит единственное выражение сравнения) и составным (если оно составлено из нескольких выражений сравнения, соединенных логическими операциями). В составных условиях выражения сравнения заключаются в круглые скобки. Примеры простых выражений: a>b, 5+x=3, sqrt (x)<=25. Примеры сложных выражений:

(x+y=5) and (2*x*sin(x)<5.5) à

(x<y) or not (y<z) à

Порядок выполнения операторов приводится на рис. 3.4. Так, в неполной конструкции, если условие Р истинно, выполняется оператор S, а затем – оператор, следующий за оператором if.

Если по одной из ветвей после служебных слов THEN и(ли) ELSE требуется выполнение более одного оператора, их ограничивают операторными скобками BEGIN … END и рассматривают как составной оператор.

Примеры:

Запись на ИнтАле Запись на Паскале
Если a>b То x:=a Иначе x:=b Конец_Если IF a>b THEN x:=a ELSE x:=b ;
Если a>b То x:=a k:=1 Иначе x:=b k:=2 Конец_Если IF a>b THEN BEGIN x:=a ; k:=1 END ELSE BEGIN x:=b ; k:=2 END ;
Если a>b То Если a>c То x:=a Конец_Если Конец_Если IF a>b THEN IF a>c THEN x:=a ;  
* IF (a>b) and (a>c) THEN x:=a ;

Примеры решения задач:

Пример 1. Моделирование работы пожарного датчика в помещении: программа должна выводить сообщение «Пожароопасная ситуация», если температура в комнате превысит 60° C; если температура не более 60° C, датчик «молчит». Program OGON; Var T: Real; Begin Write ('T='); Readln (T); If T>60 then Writeln ('Пожароопасная ситуация') End.
Пример 2. Реализуем на Паскале полностью алгоритм решения задачи 1 (§ 9): «Определить, на какой высоте и на каком расстоянии от места броска окажется через время t (с) мяч, брошенный под углом α к горизонту с начальной скоростью υ0 (м/с)» (с учетом проверки корректности исходных данных). Напомним, что математическая постановка задачи и описание алгоритма ее решения приводятся в § 9, линейная часть алгоритма реализована на Паскале в § 15. Будем использовать неполную команду ветвления: если требуемые условия не выполняются, программа не совершает никаких действий. Можно предусмотреть вывод сообщения о некорректных данных: If (alfa>0) and (…) … then Begin … End Else Writeln ('Некорректные данные'); Program BROSOK ; Const g = 9.8 ; Var V0, t, alfa, x, y : Real ; Begin Write ('введите скорость ') ; Readln (V0) ; Write ('введите время ') ; Readln (t) ; Write ('введите угол ') ; Readln (alfa) ; alfa:=alfa*pi/180; If (alfa>0) and (alfa<=pi/2) and (V0>0) and (V0<=20) and (t>0) Then Begin x:=V0*cos(alfa)*t ; y:=V0*sin(alfa)*t-g*t*t/2 ; Writeln ('x=',x) ; Writeln (' y=',y) End ; End .
Пример 3. Требуется определить, является ли человек, возраст которого x задан, школьником. Задача сводится к проверке условия: 6 ≤ х ≤19 (сравните с решением примера 4 п. 19.1) Program School_1; Var X : Byte ; Begin Write ('Возраст='); Readln (X) ; If X>=6 then if X<=19 then Writeln ('школьник') End . Program School_2; Var X : Byte ; Begin Write ('Возраст='); Readln (X) ; If (X>=6) and (X<=19) then Writeln ('школьник') End .
       

* Пример 4. Требуется написать программу для решения неравенства ax > b (a, b – действительные числа).

Возможны следующие варианты ответа: 1) x>b/a (при a > 0); 2) x<b/a (при a < 0); 3) нет решений (при a = 0, b ≥ 0); 4) x – любое число (при a=0, b<0). Program Neravenstvo ; Var a, b : Real ; Begin Write ('a=') ; Readln (a) ; Write ('b=') ; Readln (b) ; If a>0 Then Writeln ('x>',b/a) Else If a<0 Then Writeln ('x<',b/a) Else If b>=0 Then Writeln ('нет решений') Else Writeln ('x-любое число') End .   If a >0 Then Writeln ('x>',b/a) ; If a <0 Then Writeln ('x<',b/a) ; If a=0 then If b>=0 Then Writeln ('нет решений') Else Writeln ('x-любое число')

* В случае вложенных ветвлений каждое новое ключевое слово Else следует считать относящимся к ближайшему неиспользованному If. Например,

  If x>-5 Then If x<=6 Then y:=x*x Else y:=x*x*x Else y:=x ; Этот фрагмент позволяет вычислить значение y по формуле:

1. Какие значения могут принимать переменные типа Boolean?

2. Какие операции сравнения и логические операции допустимы в языке Паскаль?

3. Что может быть операндом выражений сравнения? логических выражений?

4. Что такое «условный оператор» и когда он применяется?

5. Что может использоваться в качестве условия в условном операторе?

1. Определите, какие значения будут принимать переменные Х и Y после выполнения следующих операторов при:

1) A=5, B=3; 2) A=7, B=7; 3) A=-3, B=-10; 4) A=3, B=0; 5) A=5, B=2:

а) if A=B then X := A+1; Y:=B+1 ; б) if A>B then X:=B+1 else Y:=A+1; X:=0;
в) if A=B then Begin X := A+1 ; Y := B+1 End ; г) if A>B then Y:=A-1 else Begin X:=B-2; Y:=0 End ;
* д) if (A>B) and (A*B>0) then Begin X:=SQRT (A*B); Y:=100 End Else Begin X:=B-A; Y:=A*B End ;

2. Определите, какие значения будут иметь переменные a и b после выполнения условного оператора if a>=b then a:=b else b:=a;

если: 1) a=0.9; b=0.7; 2) a=-7.3; b=7.3; 3) b=17; a=17; 4) a=5; b=5;

* 3. Определите, какие из следующих операторов задают вычисления по формуле:

4. Напишите программы решения задач:

1) Найти лучший результат в забеге на 100 м трех спортсменов.

2) Участники забега на 100 м имеют номера 1, 2, 3. Найти номер победителя, если результаты забега известны.

3) Определить длительность звучания музыкальной композиции, если известно время начала и окончания звучания. На экран компьютера требуется вывести только значения времени (часов, минут, секунд), отличные от нуля (например, если время начала – 16 ч 57 м 30 с, а время окончания – 17 ч 14 м 30 с, то длительность звучания составит 17 м ).

4) Определить по номеру года, является ли он високосным (год високосный, если его номер делится на 4, кроме тех, которые делятся на 100 и не делятся на 400). Например, 1900 год – не високосный, 2000 год – високосный.

5) Для старшеклассника определены нормальные значения границ кровяного давления: верхняя – не более 100, нижняя – не менее 60 и разница верхней и нижней границ – не менее 30. Определить, является ли давление старшеклассника нормальным, если заданы значения нижней и верхней границ кровяного давления.

* 6) Используя метод Ленуара, определить название дня недели для некоторой даты, которая задается номерами года (g), месяца (m), дня (d):

вначале следует вычислить значение С = [365,25g] + [30,56m] + d +N, где N=1, если месяц – январь или февраль високосного года, N=2, если месяц – январь или февраль невисокосного года, N=0 для остальных месяцев;

затем нужно найти остаток от деления С на 7; если он равен 0, то в качестве ответа выведите «среда», 1 – «четверг», …, 6 – «вторник».

* 7) В финале конкурса «Лучший по профессии» приняли участие два конкурсанта: Петров и Сидоров. Финал предусматривает проведение трех конкурсов, по каждому из которых выставляется число баллов каждому участнику. Победитель должен быть определен по сумме баллов. С клавиатуры вводятся количество баллов, которое набрал каждый участник в каждом конкурсе. Требуется вывести наибольшую сумму баллов и фамилию победителя.

8) Найти решение уравнения ax=b.

9) Решить квадратное уравнение ax2 +bx + c =0 (а ≠ 0).

* 10) Решить уравнение ax2 +bx + c =0.

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

* 12) Получить решение системы уравнений:

* 13) На экскурсию в крепость-герой Брест отправляется N человек. Для их перевозки выделены автобусы вместимостью K и M человек. Определить, сколько необходимо автобусов для перевозки всех экскурсантов (не забудьте, что одно место в каждом автобусе занято гидом). Попытайтесь определить вариант с минимальным количеством автобусов.

* 14) При исследовании поверхности планеты Зета обнаружена популяция, развитие которой с момента ее возникновения подчиняется закону, описываемому следующим образом:

где k = 1, 2, 3, … (аi – численность популяции в i-м году). По заданному номеру nгода найти численное значение популяции.

Оператор выбора CASE

Оператор CASE представляет собой частный случай структуры ВЕТВЛЕНИЕ, когда возникает необходимость выбора одного из нескольких возможных вариантов вычислений в зависимости от значений некоторого выражения (ключа, селектора).

Порядок выполнения оператора Case следующий: вычисляется значение выражения K; полученное значение сравнивается с K1, K2, …, KN; если оно совпадает с одним из этих значений, то управление передается соответствующему оператору и выполнение оператора CASE завершается. Если значение выражения K не совпадает ни с одним из возможных значений, далее все зависит от типа оператора CASE: если он полный (в нем присутствует служебное слово ELSE), то управление передается команде S; в противном случае выполнение оператора завершается.

Конструкция ИнтАл Паскаль
Выбрать_По K K1: S1 K2: S2 . . . KN: SN Иначе S Конец_Выбора   K – переменная целого типа; K1, K2, …, KN – возможные значения переменной К; S1, S2, …, SN, S – выполняемые команды CASE K OF K1 : S1 ; K2 : S2 ; . . . KN : SN ELSE S END ;   K – выражение, определяющее значение ключа; K1, K2, …, KN – возможные значения ключа; S1, S2, …, SN, S – выполняемые операторы (простые или составные)

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

Селектор K представляет собой выражение порядкового типа. К порядковому типу относятся целочисленные типы, логический тип и символьный, с которым Вы познакомитесь в разделе 4.

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

Пример 1. По номеру дня недели требуется определить его название.

Program Day ;

Var Num : Byte ;

Begin

Writeln ('Введите номер дня недели') ;

If Num = 1 then Writeln ('Понедельник') Else if Num=2 then Writeln ('Вторник') Else if Num=3 then Writeln ('Среда') Else if Num=4 then Writeln ('Четверг') Else if Num=5 then Writeln ('Пятница') Else if Num=6 then Writeln ('Суббота') Else if Num=7 then Writeln ('Воскресенье') Else Writeln ('Это не номер дня …') ;
Readln (Num);

Case Num of

1: Writeln ('Понедельник') ;

2: Writeln ('Вторник') ;

3: Writeln ('Среда') ;

4: Writeln ('Четверг') ;

5: Writeln ('Пятница') ;

6: Writeln ('Суббота') ;

7: Writeln ('Воскресенье')

Else

Writeln ('Это не номер дня недели')

End;

End.

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

Дано: month, year – номера месяца и года.

Найти: kol_days – количество дней в этом месяце.

Связь:

year – високосный, если year делится без остатка на 4, кроме тех, которые делятся на 100 и не делятся на 400. Например, 1900 год – не високосный, 2000 год – високосный.

Будем считать, что данные корректны.

Program Days ;

Var Year : Integer ;

month, kol_days : Byte ;

Sto : Boolean;

Begin

Write ('Введите номер месяца ') ;

Readln (month) ;

Case month of

1, 3, 5, 7, 8, 10, 12 : kol_days := 31 ;

4, 6, 9, 11 : kol_days := 30 ;

2 : Begin {февраль}

Write ('Введите номер года ') ;

Readln (Year) ;

Sto:=(Year mod 100)=0;

if ((Sto=True) and (Year mod 400 =0)) or

((Sto=False) and (Year mod 4=0)) Then

kol_days := 29

Else kol_days := 28

End;

End ;

Writeln (kol_days);

End .

Пример 3. Составить программу проверки, делится ли заданное натуральное число на 7.

Пусть х – заданное натуральное число. Составим выражение сравнения: x mod 7 =0. Используем это выражение в качестве селектора; его возможные значения: True, False. Ниже приводятся два варианта использования оператора выбора (в полной и неполной формах):

Program PRIM_3 ; Var x : LongInt ; Begin Write ('Введите натуральное число ') ; Readln (x) ;
Case x mod 7 = 0 of True : Writeln ('делится на 7') ; False : Writeln ('не делится на 7') Case x mod 7 = 0 of True : Writeln ('делится на 7') Else Writeln ('не делится на 7')
End ; End .

1. Какова структура условного оператора? * оператора выбора?

2. Каков порядок выполнения условного оператора? * оператора выбора?

1. Напишите программы решения следующих задач:

1) На экран компьютера выводится текст:

 

 

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

2) По номеру класса, в котором учится школьник, требуется определить, в школе какого типа он обучается (подготовительная, начальная, базовая, средняя).

3) На экран компьютера выводится текст:

 

 

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

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

Сумма очков, набранных за неделю Степень физической подготовленности
Юноша Девушка
Не менее 75 Не менее 65 Превосходно
51-74 41-64 Отлично
32-50 27-40 Хорошо
21-31 16-26 Удовлетворительно
10-20 8-15 Плохо
Меньшее 10 Меньше 8 Очень плохо

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

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

6) В пятиэтажном доме на каждом этаже по 4 квартиры. Программа должна предложить ввести номер этажа и вывести номера квартир на этом этаже.

7) Программа предлагает ввести число k полных лет человека (от 1 до 120) и вывести фразу: «Вам k лет». Например, при k=3 – «Вам три года», k=18 – «Вам 18 лет», k=101 – «Вам 101 год».

8) Определить наиболее подходящий возраст партнера для вступления в брак. Программа должна запросить данные пользователя: возраст, признак пола (из выведенного на экран меню: 1 – юноша, 2 – девушка) и вывести подходящий возраст партнера, который вычисляется так: возраст девушки равен увеличенной на 7 половине возраста юноши, возраст юноши определяется как удвоенный возраст девушки минус 14.

9) Вывести в римской системе нумерации век, к которому относится заданный год (номер года вводится с клавиатуры).

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

11) Программа должна предложить ввести текущее время и вывести период суток (день, ночь, утро, вечер, обед).


Алгоритмическая структура ПОВТОРЕНИЕ

20.1. ПОКА – цикл с предусловием (WHILE)      

Смешанные алгоритмы

       

Алгоритмические структуры и графические построения

Графические построения

Рассматривая некоторое изображение в виде совокупности одноименных объектов (точек, отрезков и т.д.), можно прийти к пониманию возможности… Примеры программ: Пример 1. Получение изображения отрезка прямой. … Возможность выбора построения того или иного изображения, представленная в алгоритме (и соответственно, в программе) в…

Программирование движущихся объектов

1. «Нарисуй – сотри – и нарисуй в новом месте». Этот способ реализовать легко: нужно организовать цикл, задав координаты для перемещения объекта в… 2. «Нарисуй – закрась цветом фона – и нарисуй в новом месте». Здесь объект… Примеры: Пример 1. Перемещение красного объекта квадратной формы вдоль черного экрана слева направо. …

– Конец работы –

Используемые теги: основные, алгоритмические, структуры0.055

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Бальзак: структура и основные идеи "Человеческой комедии"
Он дал драматическую картину человеческих страстей,порожденных богатством и бедностью, жаждой власти и полным бесправием… Подчиненнаяединой сверхзадаче - всесторонне охватить жизнь общества… К ним относится основнаячасть написанных Бальзаком романов, причем он ввел для него шесть тематическихразделов…

Структура и основные проблемы книги Самуэльсона "Экономикс"
И не менее захватывающим переживанием было писать о том, что мы, экономисты, знаем об экономике. Я могу лишь надеяться, что это хоть частично… В начале 50-х годов он выступил с обоснованием необходимости объединения… Особое место идея о неоклассическом синтезе заняла в третьем издании учебника П. Самуэльсона 1955 г где он выражал…

Структура и основные проблемы книги Самуэльсона "Экономикс"
И не менее захватывающим переживанием было писать о том, что мы, экономисты, знаем об экономике. Я могу лишь надеяться, что это хоть частично… В начале 50-х годов он выступил с обоснованием необходимости объединения… Особое место идея о неоклассическом синтезе заняла в третьем издании учебника П. Самуэльсона 1955 г где он выражал…

Основные принципы философской мысли Древней Индии, ее основные школы и направления
Однако этапесчинка, ее внутреннее я , ее духовная субстанция очищенная от вульгарнойтелесной оболочки столь же вечна, как и весь мир. И не только… Центр тяжести их религиозной активности приходится на ритуалыжертвоприношений… В брахманах-коментариях делалсяакцент на существование прямой связи между долголетием и бесмертием, с однойстороны, и…

Основные средства, их классификация, оценка, учет и выбытие основных средств. Документация ее роль и значение в бухучете
Оглавление 1. Основные средства, их классификация, оценка - 2 стр. 2. Учет поступления основных средств - 3 стр. 3. Учет выбытия основных средств -… В зависимости от назначения, с учетом натурально-вещественных признаков… Основные средства подразделяются на - активные которые непосредственно участвуют в процессе производства - станки,…

Структура науки и основные этапы развития метанауки
Но следует стремиться к постижению именно познания 176, с. 128. Далее рекомендуется стремиться к познанию истины, мысли, веры и т.д. Для нас… Так, он рассуждает о знании знания 12. В произведениях Ф. Бэкона термины наука… Немецкие философы были далеки от мысли создать науку о науке в понимании Ф. Бэкона. Стремясь изучить науку, подвести…

Политология - реферат - Основные составные понятия политической структуры
Важнейшими из этих определений являются 1. Бихевиористское. Его сторонники рассматривают власть как особый тип поведения, при котором одни люди… Политическая власть складывается из столкновения многообразных воль к власти… Сторонники этого направления трактуют власть достаточно широко, распространяя ее не только на отношения между людьми,…

Бальзак: структура и основные идеи "Человеческой комедии"
Он дал драматическую картину человеческих страстей,порожденных богатством и бедностью, жаждой власти и полным бесправием… Подчиненнаяединой сверхзадаче - всесторонне охватить жизнь общества… К ним относится основнаячасть написанных Бальзаком романов, причем он ввел для него шесть тематическихразделов…

Маркетинговые ислндования,2. Сущность и значение основных средств (фондов),3. Структура себестоимости и факторы, ее определяющие.
Она изучает деятельность предприятий, фирм и отраслей народного хозяйства. Деление экономики на макро- и микроэкономику чисто условное, так как… Именно на предприятиях создаются продукция и услуги, необходимые для … Задачей этой контрольной работы понять такие вещи как: маркетинговые исследования, сущность и значение фондов, а так…

0.041
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам