Remkomplekty.ru

IT Новости из мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Разветвляющиеся алгоритмы паскаль

Операторы условия и выбора

Тема: Разветвляющиеся алгоритмы. Оператор условия If.

До сих пор Вы использовали линейные алгоритмы, т.е. алгоритмы, в которых все этапы решения задачи выполняются строго последовательно. Сегодня Вы познакомитесь с разветвляющимися алгоритмами.

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

Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий — простые и составные.

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

— больше, чем.
= — больше, чем. или равно
<> — не равно
= — равно

Например, простыми отношениями являются следующие:

x-y>10; k 11; ‘мама’<>‘папа’.

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

    если х=25, у=3, то отношение x-y>10 будет верным, т.к. 25-3>10

если х=5, у=30, то отношение x-y>10 будет неверным, т.к. 5-30 К:=True;
Flag:=False;
Second:=a+sqr(x)>t

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

Для решения этой задачи нужны уже знакомые нам стандартные функции нахождения квадратного корня — Sqr и модуля — Abs. Поэтому Вы уже можете записать следующие операторы присваивания:

В этом случае программа будет иметь вид:

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

Поэтому наша программа имеет свою допустимую область исходных данных. Найдем эту область. Для этого запишем неравенство х-у>=0 и решив его получим х>=у. Значит, если пользователем нашей программы будут введены такие числа, что при подстановке значение этого неравенства будет равно True, то квадратный корень из выражения (х-у) извлечь можно. А если значение неравенства будет равно False, то выполнение программы закончится аварийно.

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

Каждая программа, насколько это возможно, должна осуществлять контроль за допустимостью величин, участвующих в вычислениях. Здесь мы сталкиваемся с разветвлением нашего алгоритма в зависимости от условия. Для реализации таких условных переходов в языке Паскаль используют операторы If и Else, а также оператор безусловного перехода Goto.

Рассмотрим оператор If.

Для нашей задачи нужно выполить следующий алгоритм:

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

Запишем его с помощью оператора If. Это будет выглядеть так.

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

В общем случае полная форма конструкции условного оператора имеет вид:

Условный оператор работает по следующему алгоритму.

Сначала вычисляется значение логического выражения, расположенного за служебным словом IF. Если его результат истина, выполняется , расположенный после слова THEN, а действия после ELSE пропускаются; если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется .

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

Если в качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки begin-end. Конструкция Begin . End называется составным оператором.

Определение. Составной оператор — объединение нескольких операторов в одну группу. Группа операторов внутри составного оператора заключается в операторные скобки (begin-end).

С учетом полученных знаний преобразуем нашу программу.

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

Cимвол “;” в данном случае разделяет оператор присваивания S:=0 и пустой оператор.

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

Например, составной оператор

включает лишь один пустой оператор.

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

Внимание! Перед служебным словом Else разделитель (точка с запятой) не ставится.

Отметим, что большинство операторов в программах на языке Паскаль заканчиваются точкой с запятой, но после некоторых операторов точка с запятой не ставится. Сформулируем общие правила употребления точки с запятой:

    Каждое описание переменной и определение константы заканчиваются точкой с запятой.

Каждый оператор в теле программы завершается точкой с запятой, если сразу за ним не следуют зарезервированные слова End, Else, Until.

  • После определенных зарезервированных слов, таких, как Then, Else, Var, Const, Begin, никогда не ставится точка с запятой.
  • Рассмотрим еще один пример.

    Задача. Вывести на экран большее из двух данных чисел.

    Можно также использовать и сокращенную (неполную) форму записи условного оператора. Эта форма используется тогда, когда в случае невыполнения условия ничего делать не надо.

    Неполная форма условного оператора имеет следующий вид.

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

    Задача. Составить программу, которая, если введенное число отрицательное меняет его на противоположное.

    Выберите из предложенного ниже списка задачи для самостоятельного решения.

    1. Если целое число М делится нацело на целое число N, то вывести на экран частное от деления, в противном случае вывести сообщение М на N нацело не делится.

    Запишите условный оператор, в котором значение переменной с вычисляется по формуле a+b, если а — нечетное и a*b, если а — четное.

    Вычислить значение функции:

    Написать программу для подсчета суммы только положительных из трех данных чисел.

    Даны три числа. Написать программу для подсчета количества чисел, равных нулю.

    Напишите программу, упростив следующий фрагмент программы:
    if a>b then c:=1;
    if a>b then d:=2;
    if a =1
    Y=cos(x), если x < 1

    Определить является ли введённое число чётным.

    Компьютер спрашивает: «Что сегодня нужно всем?» и если получает ответ ЭВМ, то пишет «Ну, конечно ЭВМ!», иначе «Это тоже нужно всем, но нужнее ЭВМ!»

    Написать программу, по которой компьютер приветствовал бы только своего хозяина, а при попытке ввести какое-либо другое имя спрашивал бы: «А где (например) Вася?»

    Написать программу, определяющую, есть ли в введенном числе дробная часть.

  • Написать программу, рисующую круг в случае введения пользователем числа 1 и квадрат во всех других случаях.
  • Уроки 27 — 28
    § 3.4. Программирование разветвляющихся алгоритмов

    Ключевые слова:

    • условный оператор
    • неполный условный оператор
    • составной оператор
    • вложенные ветвления

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

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

    if then else

    Для записи неполных ветвлений используется неполная форма условного оператора:

    if then

    Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.

    Перед else знак «;» не ставится.

    В качестве условий используются логические выражения:

    • простые — записанные с помощью операций отношения;
    • сложные — записанные с помощью логических операций.

    Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].

    Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.

    Читать еще:  Квадратурная формула гаусса паскаль

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

    3.4.2. Составной оператор

    В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условий требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.

    begin end называется составным оператором.

    Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.

    3.4.3. Многообразие способов записи ветвлений

    В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:

    if then

    if then

    else

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

    Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.

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

    Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.

    if then else

    Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].

    if then

    САМОЕ ГЛАВНОЕ

    При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:

    if then else

    Для записи неполных ветвлений используется неполный условный оператор:

    if then

    Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:

    begin end

    Вопросы и задания

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

    2. Как на языке Паскаль записывается полное и неполное ветвление?

    3. Является ли условным оператором следующая последовательность символов?

    а) if х =у then х:=0; у:=0 else write (z)
    в) if x b then с:=1;
    if a>b then d:=2;
    if a 5 then с: =2

    else с:=3

    Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?

    13. Напишите программу, вычисляющую значение функции:

    14. Составьте программу для решения задачи № 21 к § 2.4 (определение дня недели).

    15. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, имеют ли эти поля один цвет.

    16. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а — случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.

    Урок информатики по теме «Программирование разветвляющихся алгоритмов на языке Pascal». 9-й класс

    Класс: 9

    Тип урока: комбинированный, изучение нового материала.

    Место урока в теме: 1 урок

    Цели урока:

    • Повторить и закрепить материал по теме “Алгоритм”
    • Ввести понятие “условный оператор”
    • Познакомить со способами записи разветвляющегося алгоритма на языке Pascal
    • Применить полученные знания при решении жизненных ситуаций и различных задач

    Задачи урока:

    • Воспитательная – развитие познавательного интереса, логического мышления
    • Учебная – освоение умений составления разветвляющихся алгоритмов
    • Развивающая – развитие алгоритмического мышления, памяти, внимательности

    Материально-техническое обеспечение урока:

    • Наглядные и дидактические материалы
    • Презентация для интерактивной доски, выполненная в программе Notebook (см. )
    • Карточки с текстом задач

    Технические средства обучения

    • ПК учителя
    • Мультимедийный проектор
    • Интерактивная доска SMART Board
    • ПК учащихся

    Программные средства

    • Операционная система Windows ХР
    • Система программирования Free Pascal
    • Программное обеспечение интерактивной доски SMART Board

    Учебно-методическое обеспечение урока:

    1. Семакин И.Г., Залогова Л.А, Русаков С.В., Шестакова Л.В. Информатика и ИКТ. Базовый курс: Учебник для 9 класса. – М.: БИНОМ. Лаборатория знаний, 2011
    2. Задачник-практикум по информатике в II ч. / И. Семакин, Е. Хеннер – М.:БИНОМ. Лаборатория Базовых Знаний, 2010

    План урока

    1. Организационный момент (1 мин)
    2. Повторение (8 мин)
    3. Изучение нового материала (7 мин)
    4. Закрепление (8 мин)
    5. Практическая работа (18 мин)
    6. Подведение итогов урока и задание на дом (3 мин)

    Ход урока

    1. Организационный момент

    2. Повторение

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

    — Проверим, как вы усвоили этот материал.

    На доску проецируется слайд презентации, содержащий .

    1) Прокомментируйте каждую строку программы (см. ):

    — Перечислите целые типы Pascal;

    — Перечислите операторы ввода;

    — Для чего служит оператор присваивания;

    — Перечислите операторы вывода;

    — Какие переменные будут входными, какие выходными.

    2) Определите результат выполнения программы при следующих входных данных.

    На доску проецируется слайд презентации, содержащий .

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

    Какое алгебраическое выражение соответствует пункту а?

    Назовите математический смысл функций sqr и sqrt.

    Как записываются на Pascal арифметические операции над целыми числами и вещественными числами?

    На доску проецируется слайд презентации, содержащий .

    1) Найдите 5 ошибок в программе вычисления значения переменной y (см. ).

    2) Перечислите вещественные типы Pascal.

    Изучение нового материала

    На доску проецируется слайд презентации, содержащий .

    — У всех рассмотренных нами до сих пор программ была линейная структура

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

    — Однако не любую задачу можно решить с помощью линейного алгоритма

    — Например, значение переменной y, заданной формулой ,

    в зависимости от значения переменной x будет вычисляться либо по формуле , либо по формуле 2.

    — В данном случае мы имеем дело с другой алгоритмической структурой – разветвлением.

    — Сегодня на уроке:

    • вы узнаете, как решаются подобные задачи;
    • научитесь составлять программы разветвляющихся алгоритмов на языке Pascal

    — Запишите тему урока

    “Программирование разветвляющихся алгоритмов на языке Pascal”

    1) Какой алгоритм называется разветвляющимся?

    2) Что означает структура ветвления? (выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки условия)

    — Существуют две формы ветвления: полная и неполная ( )

    — В полной форме при истинности условия выполняется действие 1, при ложности условия – действие 2.

    (Пример – Если у меня повысилась температура, то я вызываю врача,…иду на работу)

    — В неполной форме действие выполняется только при истинности условия.

    (Пример – Если на улице дождь – то я беру с собой зонт)

    — Для реализации структуры “ветвления” на языке Pascal используется условный оператор.

    — Запись в тетрадях:

    1) Полная форма условного оператора

    IF условие THEN действие1 ELSE действие2;

    2) Неполная форма условного оператора

    IF условие THEN действие;

    — Русский перевод условного оператора: IF-если, THEN- то, ELSE – иначе.

    — Условия могут быть простыми и сложными.

    — Для составления простых условий используют операции сравнения: , =, <>, =.

    — Слева и справа от знака сравнения записывают арифметические выражения.

    — Рассмотрим примеры записи условных операторов.

    На доску проецируется слайд презентации, содержащий .

    — Дано ветвление (см. ):

    1) Назовите условие

    2) Назовите действие, которое будет выполняться в случае Истинности условия; в случае Ложности условия.

    3) Запишите условный оператор (записи ведутся на интерактивной доске и в тетрадях учащихся).

    4) При каких значениях x выполняется действие y:= x-1? (x4)

    — Условия x>4 и x4 два взаимоисключающих условия в нашем случае

    — 1 – Истинно 2 – Ложно

    1 – Ложно 2 – Истинно

    — Во второй блок-схеме в качестве условия укажем x4

    5) Заполните действия во второй блок-схеме (записи ведутся на интерактивной доске и в тетрадях учащихся).

    Читать еще:  Чтение массива из файла паскаль

    6) Заполните условный оператор для второй блок-схемы (записи ведутся на интерактивной доске и в тетрадях учащихся).

    — Получили две записи одного и того же алгоритма ветвления.

    Выполнение практического задания.

    На доску проецируется слайд презентации, содержащий

    Карточка №1

    Составьте программу вычисления значения переменной

    = ; x, y – целые числа

    Составление блок-схемы (см. )

    (записи ведутся на интерактивной доске и в тетрадях учащихся)

    Составление компьютерной модели (учащиеся работают за ПК)

    На доску проецируется слайд презентации, содержащий

    Компьютерный эксперимент (тестирование программы)(см. )

    Анализ результатов компьютерного эксперимента

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

    Составьте программу, выводящую слова на экране слова “chet” и “nechet” в зависимости от четности и нечетности вводимого целого числа.

    Краткий сборник задач (с решением) по теме «Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль»

    Транскрипт

    1 Муниципальное бюджетное общеобразовательное учреждение «Средняя общеобразовательная школа 4 «Ступени открытого непрерывного образования» Краткий сборник задач (с решением) по теме «Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль» Составитель: учитель информатики МБОУ «СОШ 4 «СОНО» Инютина Анастасия Александровна г. Новокузнецк, 2013г.

    2 Содержание Задачи на линейные алгоритмы. 3 Решение некоторых линейных задач. 5 Задачи на разветвящиеся алгоритмы. 7 Решение ветвящихся задач. 9 Задачи на циклические алгоритмы Решение циклических задач

    3 Задачи на линейные алгоритмы 1. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = abc и площадь поверхности S = 2(ab + bc + ac). 2. Найти значение переменных m и n по формуле, и получить общий ответ отношения m и n. 3. Даны два числа a, b, с. Найти их среднее арифметическое. 4. Найти произведение значений двух переменных и вывести результат на экран. 5. Найти длину окружности p заданного радиуса r. ( ). 6. Дана длина ребра куба. Найти площадь грани (S1=a 2 ), площадь полной поверхности (S2=6а 2 ) и объем куба (V=a 3 ). 7. Даны числа a, b, c. Найти 8. Мальчик купил в магазине n порций мороженного по цене 1200 руб. и k плиток шоколада по цене 3800 руб. Сколько всего потратил мальчик. 9. Составьте программу нахождения площади равнобедренной трапеции через стороны a, b, c 10. Найти радиусы внутренней и внешней окружности кольца. 11. Из поселка в город выехал мотоциклист со скоростью 60 км/ч. В то же время ему на встречу выехал велосипедист со скоростью 15 км/ч. Они встретились через 2 часа. Составьте программу, которая выводит расстояние от города до поселка. 12. Вася и Петя ловили рыбу. У Васи хорошо клевало, у Пети хуже. Сколько рыбы они вместе поймали, если Петя поймал на 18 меньше, чем они поймали вместе и у одного из них на 14 меньше, чем у другого. 13. Двое рабочих заработали вместе 900 рублей. Один работал 2 недели, а другой 4 недели. Сколько денег заработал каждый? 14. Составите программу для вычисления площади боковой поверхности цилиндра (S = 2 π R h). 15. Составите программу для вычисления площадь поверхности шара (S = π D 2 ). 16. Найти разность, сумму и произведение трёх значений переменных. 17. Даны x, y, z. Вычислить a, b, если 3

    4 Результат округлить до 2-х знаков после запятой. 18. Написать программу вычисления значений заданных арифметических выражений. Результат округлить до 2-х знаков после запятой. a lg( x e y x y z), x x b sin( где x = 1.542; y = ; z = Даны действительные числа x и y. Получить x 3 x 5, ) sin 3 ( x) sin 5 ( x) Результат округлить до 2-х знаков после запятой. 20. Даны два действительных числа. Найти среднее арифметическое этих чисел и среднее геометрическое их модулей. Результат округлить до 2-х знаков после запятой. 21. Смешано V1 литров воды температуры t1 с V2 литрами воды температуры t2. Найти объём и температуру образовавшейся смеси. 22. Найти катет прямоугольного треугольника, если известна гипотенуза и прилежащий к искомому катету угол. Результат округлить до 2-х знаков после запятой. 23. Определить время падения камня на поверхности земли с высоты h. 24. Дана сторона равностороннего треугольника. Найти площадь этого треугольника. Результат округлить до 2-х знаков после запятой. 25. Определить силу притяжения F между телами массы m1 и m2, находящимся на расстоянии r друг от друга. Результат округлить до 2-х знаков после запятой. 4

    5 Решение некоторых линейных задач 1. program parallelipiped; var a,b,c: integer; var V,S: real; a:=6; b:=3; c:=9; V:=a*b*c; S:=2*(a*b+b*c+a*c); writeln (V); writeln (S); 2. program formula; var a,b,c,d,m,n: integer; a:=9; b:=3; c:=5; d:=2; m:=a+(b*c-d); n:=d-a*2; write (m); write (n); write (m/n); 3. program srednee arefmetichescoe; var a,b,c,d: integer; a:=8; b:=3; c:=5; writeln ((a+b+c)/3); 4. Program Myl_l ; Var a, b, r : Integer; WriteLn (‘Введите два числа через пробел’); ReadLn (a, b); r:=a*b; WriteLn (‘Их произведение равно ‘, r); WriteLn (‘Нажмите ‘); 5. Program Okr; Var p, r : real; WriteLn (‘Введите радиус’); ReadLn (r); p:=2*3.14*r; Write (‘Длинна окружности = ‘, p); ReadLn 6. Program Kub; var a: integer; S1, S2, V: real; readln (a); S1:= sqr(a); S2:= 6*sqr(a); V:=sqr(a)*a; writeln (‘Площадь грани куба = ‘, S1); writeln (‘Площадь полной поверхности куба = ‘, S2); writeln (‘Объём куба = ‘, V); 7. Program formula; var a, b, c: integer; D: real; readln (a,b,c); D:=(sqr(b)+sqrt(c))/abs(a); writeln (‘Формула = ‘, D) 8. Program summa; var n, k: integer; A: real; readln (n,k); A:=(1200*n)+(3800*k); writeln (‘Мальчик потратил ‘, A) 5

    6 9. Program formula_1; var a, b, c: integer; S: real; readln (a,b,c); S:=((a+b)/2)*(sqrt(sqr(c)-sqr(a-b)/4)); writeln (‘Формула = ‘, S) 10. Program formula_1; var r, k: integer; S: real; readln (r, k); S:=3,14*(sqr(r)-sqr(k)); writeln (‘Формула = ‘, S) 6

    7 Задачи на разветвящиеся алгоритмы 1. Ввести число. Если оно неотрицательно, вычесть из него 10, в противном случае прибавить к нему Ввести два числа. Если их произведение отрицательно, умножить его на -2 и вывести на экран, в противном случае увеличить его в 3 раза и вывести на экран. 3. Ввести два числа. Если сумма этих чисел четная, найти произведение, в противном случае, найти частное этих чисел. 4. Ввести два числа. Вычесть из большего меньшее. 5. Ввести число. Если оно больше 10, разделить его на 2, если меньше или равно 10, то умножить на Ввести два числа. Если их сумма больше 100, то сумму уменьшить в 2 раза, в противном случае увеличить в 2 раза. 7. Ввести двухзначное число. Если сумма цифр числа четная, то увеличить число на 2,в противном случае уменьшить на Составить программу, которая по трем введенным вами числами определит, могут ли эти числа быть длинами сторон треугольника. 9. Дано целое число. Если оно является положительным то прибавить к нему 20, в противном случае вычесть из него 5. Вывести полученное число (Написать программу, начертить блок-схему в тетради). 10. Дано два числа. Если их сумма кратна 5, прибавить 1, иначе вычесть Ввести 2 числа. Если их произведение отрицательно, умножить его на 8 и вывести на экран, в противном случае увеличить его в 1,5 раза и вывести на экран. (Написать программу, начертить блок-схему в тетради). 12. Вести число. Если оно четное, разделить его на 4, если нечетное — умножить на 5 (Написать программу, начертить блок-схему в тетради). 13. Ввести рост человека. Вывести на экран ВЫСОКИЙ, если его рост превышает 180 см, и НЕ ОЧЕНЬ ВЫСОКИЙ в противном случае (Написать программу, начертить блок-схему в тетради). 14. Составить программу, которая запрашивает ввод температуры тела человека и определяет, здоров он или болен (Написать программу, начертить блок-схему в тетради). 15. Составить программу, которая спрашивает возраст человека и, если ему 18 лет и больше, сообщает Замечательно. Вы уже можете водить автомобиль, а в противном случае К сожалению, водить автомобиль Вам рановато (Написать программу, начертить блок-схему в тетради). 16. Составить программу, которая запрашивает ввод трех значений температуры и проверяет, есть ли среди них температура таяния льда. Если такая температура введена, вывести на экран сообщение «Введена температура таяния льда», иначе «Такой температуры нет» (Написать программу, начертить блок-схему в тетради). 7

    Читать еще:  Асус как войти в безопасный режим

    8 17. Даны три стороны одного треугольника и три стороны другого треугольника. Определить, будут ли эти треугольники равновеликими, т. е. имеют ли они равные площади. Если это не так, то вывести «Foul. » (Написать программу, начертить блок-схему в тетради). 18. Составьте программу подсчёта площади равнобедренного треугольника. Если площадь треугольника чётная, разделить её на 2, в противном случае вывести сообщение «Не могу делить на 2!» (Написать программу, начертить блок-схему в тетради). 19. Написать программу вычисления у в зависимости от значения х y = 1/x при х 0 y = x/6 при других х 21. Запросить радиус круга R и сторона квадрата А. Определить, поместится ли круг в квадрате. Круг поместится в квадрате, если диаметр круга меньше или равен стороне квадрата. 22. Составить программу, чтобы компьютер запросил имя пользователя и его год рождения, затем подсчитал возраст человека, в зависимости от года рождения. 23. Написать программу, контролирующую знание закона Ома. Обучаемый вводит формулу закона Ома в символьную переменную, которая далее сравнивается с правильным ответом, хранящимся в другой символьной переменной. Подсказка: Закон Ома вычисляется по формуле V = IR, где V напряжение, приложенное к участку цепи, I сила тока, а R электрическое сопротивление участка цепи. 24. Написать программу для определения подходящего возраста для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14. Данные для проверки работы программы задать самостоятельно. 25. Составить программу вычисления значений функции для любого х по желанию пользователя: 26. Написать программу вычисления значения функции у у = x2, если -2 0 then a:=a-10 else a:=a+10; Writeln (‘Переменная a = ‘,a); 2. Program vet2; Var a,b,d:integer; writeln (‘Введите значение переменных a и b’); Readln (a,b); d:=a*b; If d b then d:=a-b else d:=b-a; Writeln (‘Переменная d = ‘,d); 5. Program vet5; Var a:real; writeln (‘Введите значение переменной a’); Readln (a); If a 100 then S:=S/2 else S:=S*2; Writeln ((‘Переменная S = ‘,S); 7. Program vet7; Var a,b,d,s:integer; writeln (‘Введите значение переменной a’); Readln (a); b:= a div 10; d:= a mod 10; S:= b+d; If s mod 2=0 then a:=a+2 else a:=a-2; Writeln (‘Переменная d = ‘,d); 8. Program vet8; Var a,b,с:integer; writeln (‘Введите значение переменных a, b и с’); Readln (a,b,c); If a>=b+c then Writeln ( Нет ) Else if b>=a+с then Writeln ( Нет ) Else if c>=a+b then Writeln ( Нет ) Else Writeln ( Да ); 9

    10 Задачи на циклические алгоритмы Циклы с известным числом повторений 1. Вывести на экран 3 раза слово «Hello». Особенность: одинаковые действия выполняются 3 раза. 2. Напечатать ряд из повторяющихся чисел 20 в виде: Вывести столбиком следующие числа: Напечатать числа следующим образом: Напечатать числа следующим образом: Напечатать столбиком все целые числа от 20 до 35 и вычислить корни этих чисел. 7. Напечатать столбиком все целые числа от а до b (значения а и b вводятся с клавиатуры). Циклы с предусловием 8. Составить программу вывода 10 целых чисел на экран. 9. Вычислить сумму ряда S = Вычислить сумму ряда, с точностью e = 0, Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$. Циклы с постусловием 12. Написать программу ввода неопределённого ряда целых чисел до тех пор, пока не будет введён 0. После ввода 0 программа должна вывести сообщение «Программа закончена». 13. Составить программу вывода 30 целых чисел на экран. 14. Найти сумму ряда S = n. 15. Составить программу подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+. 1/N. Округлить результат до двух знаков после запятой. 10

    11 Решение циклических задач 1. Program C2; var i: integer; for i:=1 to 10 do write(20,’ ‘) 2. Program C3; var i: integer; for I:=2 to 8 do writeln(‘ ‘,I+0.8:0:1); 3. Program C4; var i: integer; for I:=10 to 25 do writeln(i,’ ‘,I+0.4:0:1); 4. Program C5; var i: integer; for I:=25 to 35 do writeln(i,’ ‘,I+0.4,’ ‘,i+0.8:0:1); 5. Program C6; var i: integer; for I:=20 to 35 do writeln(i,’ ‘,sqrt(i):0:1); 6. Program C7; var a,b,i:integer; readln(a,b); for i:=a to b do writeln(i) 9. program c2; var sum:real; n:real; BEGIN sum:=0; n:=1; while n 1000; Writeln(s:0:2); 11

    Язык программирования Паскаль. Реализация разветвляющегося алгоритма.

    Как организовать дистанционное обучение во время карантина?

    Помогает проект «Инфоурок»

    Полякова Лариса Александровна

    Государственного профессионального образовательного учреждения «Харцызский технологический техникум» Государственного образовательного учреждения высшего профессионального образования «Донецкий национальный технический университет»

    Паскаль. Разветвляющийся алгоритм.

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

    В языке Паскаль условие реализовано с помощью условного оператора if .

    Общий вид условного оператора if :

    где — любое выражение логического типа (что выдает в результате True или False);

    и — операторы языка Паскаль.

    Если выражение принимает значение True, то выполняется ; в противном случае — .

    Служебное слово else не является обязательным, допустимо использовать оператор if в следующем виде: if then ;

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

    Если необходимо выполнить более одного оператора в случае,

    когда выражение принимает значение True или False, то следует использовать составной оператор.

    оставной оператор – это несколько операторов, которые объединены с помощью операторных скобок begin – end ;

    Рассмотрим примеры реализации разветвляющихся алгоритмов.

    Пример 1. Найти значения переменной z .

    Y=

    write (‘x=’); readln (x);

    if x 0 then z:=SQRT(t) else z:=1.12;

    writeln(‘a=’, a:6:2, ‘b=’, b:6:2, ‘t=’, t:8:2, ‘z=’, z:8:2);

    Пример 3. Найти значение переменной t .

    write (‘x=’); readln(x); write(‘y=’); readln(y);

    if t 0 then z:=ln(t) else z:= 7;

    writeln(‘x=’, x:6:2, ‘y=’, y:6:2, ‘t=’, t:8:3, ‘z=’, z:8:3);

    Пример 4. Найти значения переменных х и у.

    x =

    if (a*b = 0) or (a – b = 0) then

    writeln (‘x, y no’) else begin

    Пример 5. Найти значение переменной у.

    write (‘x=’); readln (x);

    • Полякова Лариса Александровна
    • Написать
    • 871
    • 08.06.2017

    Номер материала: ДБ-541364

    Добавляйте авторские материалы и получите призы от Инфоурок

    Еженедельный призовой фонд 100 000 Р

    • 08.06.2017
    • 2563
    • 08.06.2017
    • 1113
    • 08.06.2017
    • 1371
    • 08.06.2017
    • 2904
    • 08.06.2017
    • 2832
    • 08.06.2017
    • 395
    • 08.06.2017
    • 2521

    Не нашли то что искали?

    Вам будут интересны эти курсы:

    Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

    Ссылка на основную публикацию
    Adblock
    detector