Главная страница
Навигация по странице:

  • Цель работы

  • Задание к работе

  • Содержание отчёта

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

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

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

  • Оператор безусловного перехода

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

  • Контрольные вопросы

  • Практическая работа_ Реализация алгоритма линейной струкруры на. Практическая работа Реализация алгоритма линейной структуры


    Скачать 195.04 Kb.
    НазваниеПрактическая работа Реализация алгоритма линейной структуры
    Дата21.02.2023
    Размер195.04 Kb.
    Формат файлаdocx
    Имя файлаПрактическая работа_ Реализация алгоритма линейной струкруры на .docx
    ТипПрактическая работа
    #949517
    страница2 из 4
    1   2   3   4




















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

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



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

    1. Изучить логический тип.

    2. Изучить операторы языка Турбо Паскаль для организации ветвлений.

    3. Разработать алгоритм для решения задачи соответствующего варианта.

    4. Подобрать тестовые данные.


    Задание к работе

    Написать программу, отладить её, протестировать. Распечатать текст программы и результаты её работы на тестовых данных.
    Содержание отчёта

    1. Условие задачи.

    2. Описание алгоритма.

    3. Набор текстовых данных с обоснованием их выбора.

    4. Текст программы.

    5. Описание и анализ ошибок, выявленных при отладке программы.


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

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

    • Условный оператор (оператор условного перехода).

    • Оператор выбора (оператор варианта)

    • Оператор безусловного перехода.


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

    Структура условного оператора:

    IF <условие> THEN <оператор1> ELSE <оператор2>;

    Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение. Если его результат есть TRUE (истина), то выполняется оператор1, а оператор2 пропускается; если результат есть FALSE (ложь), то наоборот, пропускается оператор1, а выполняется оператор2. Например:

    var

    a, b, c:Integer;

    begin

    ……………………..

    if a >c

    then b :=c

    else b:=a;

    При выполнении этого фрагмента переменная b получит значение переменной а, если только это значение не превышает с, в противном случае b станет равно с.

    Часть ELSE условного оператора может быть опущена. Тогда при значении TRUE ycловного выражения выполняется оператор1. В противном случае этот оператор пропускается.
    Пример: Написать программу расчета функции



    Блок-схема


    program wetw;

    var y,x:real;

    begin

    writeln(‘x=’);

    readln(x);{ввод х}

    if (x>0) and (x<2) then y:=sqr(cos(x)) else y:=1-sin(sqr(x));{вычисление значения у}

    writeln(‘y(‘,x:8:2,’)=’,y:8:2);{вывод значения y на экран}

    readln;{пауза}

    end.
    Оператор выбора позволяет выбрать одно из нескольких возможных предложений программы. Параметром, по которому осуществляется выбор, служит ключ выбора - выражение любого порядкового типа (любого из рассмотренных, кроме типов REAL и STRING.

    Структура оператора выбора такова:

    CASE <целочисленное_выражение> OF

    константа1:список_операторов1;

    константа2:список_операторов2;

    константа3:список_операторов3;

    [ЕLSE< операторы>] END;

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

    Ниже приведен пример программы, вводящей числа и печатающей сообщения: "Четная цифра" (для цифр 0,2,4,6,8), "Нечетная цифра" (для цифр 1,3,5,7,9), "Число больше 10 "-для всех остальных

    Var

    I:Integer;

    Begin

    Repeat

    Readln(I);

    Case I of

    0,2,4,6,8:Writeln ('Четная цифра');

    1,3,5,7,9:Writeln ('Нечетная цифра');

    Else Writeln ('Число больше 10');

    End.
    Оператор безусловного перехода имеет вид записи GOTO n; где n-метка. Метки представляют собой целые числа без знака, состоящие не более чем из четырёх цифр, и описываются в разделе описания меток. С помощью оператора перехода управление передаётся оператору n. Далее выполняются операторы, стоящие за ним.

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

    Label

    Loop, lb1,lb2;

    Begin

    …………………

    goto lb1;

    ………………

    loop:…………..

    …………….….

    lb1:lb2: ………….

    ………..

    gotolb2;

    ………………

    Действие оператора goto состоит в передаче управления соответствующему меченному оператору.



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

    1/21. Даны действительные числа а,b,c,d. Если они упорядочены по убыванию, то каждое число заменить наибольшим из них. Если они упорядочены по возрастанию, то числа заменить их квадратами в противном случае все числа оставить без изменения.

    2/22. Даны действительные числа x,y,z.Выяснить существует ли треугольник с длинами сторон x,y,z.Если да то то является ли он остроугольным.

    3/23. Определить, находится ли точка с координатами (x,y) в I или III четверти и внутри круга даннного радиуса r с центром в начале координат.

    4/24. Определить, найдутся ли среди трех натуральных чисел полные квадраты. (Например 25 это полный квадрат )

    5/25. Даны координаты вершин четырехугольника. Определить является ли данный четырехугольник ромбом.

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

    7/27. Даны 3 вещественных числа. Если из них можно составить возростающую геометрическую прогрессию, то вывести эту прогрессию. В противном случае вывести сообщение, что последовательность чисел прогрессией не является.

    8/28. Даны действительные числа x,y. Если x и y отрицательны, то каждое значение заменить его модулем, если отрицательно только одно из них, то оба числа увеличить на 0,5; если оба не отрицательны,то оба значения уменьшить в 10 раз.

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

    10/30. Решить ситему

    11/31. Если сумма трех различных чисел меньше 1, то наименьшее из них заменить полусуммой двух других , а наибальшее – полуразностью двух других.

    1 2/32. Даны действительные числа x и y. Определить, принадлежит ли точка с координаткми x, y заштрихованной части плоскости.
    13/33. Даны челые числа K и L. Если числа не равны, то заменить каждое из них одним и тем же числом, равное большему из исходных, а если равны, то заменить числа пулями.

    14/34. Дано натуральное число n (n≤99). Выяснить, верно ли , что n2 равно кубу суммы цифр числа n . Например: n=25; 252=(2+5)3.

    15/35. Определить верно ли, что при делении неотрицательного целого цисла а на положительное число b получится остаток, равный одному из двух заданных чисел R или S.

    16/36. Составить программу, осуществляющую перевод величин из радианной меры в градусную и наоборот. Программа должна запрашивать, какой перевод нужно осуществить, и выполнять указанное действие.

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

    18/38. Составить программу, определяющую, пройдет ли график функции y=ax2+bx+c через заданную точку с координатами (m, n).

    19/39. Даны вещественные числа x, y. Вычислить



    20/40. Даны вещественные числа x, y. Вычислить





    Контрольные вопросы

    1. Дайте характеристику логического типа?

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

    3. Какое выражение называется отношением?

    4. В каком порядке выполняются операции в логических выражениях?

    5. Как организовать бинарное ветвление?

    6. Как организовать множественное ветвление?

    7. Какие наборы тестовых данных необходимы для тестирования программ с ветвлением?

    8. Раскажите о каждом из структурированных опараторов Паскаля, реализующих ветвление.

    9. Дайте новичку несколько полезных советов о программировании вложенных условных операторов.

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

    1   2   3   4


    написать администратору сайта