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

отчёт

.doc
Скачиваний:
28
Добавлен:
15.04.2015
Размер:
736.77 Кб
Скачать

Министерство Образования Республики Беларусь

Учреждение образования

«Гомельский государственный технический университет

имени П.О.Сухого»

Кафедра: « Информационные технологии»

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

по дисциплине: «Основы алгоритмизации и программирования»

Тема лабораторной работы

Программирование разветвляющихся алгоритмов

Выполнил студент

группы ПЭ-12

Михайловская Ирина Михайловна

Проверил преподаватель

Титова Л.К.

Гомель 2012

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

Программирование разветвляющихся алгоритмов

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

Задание.

Разработать алгоритмы, написать на языке Си программы в соответствиями с заданиями (4.1-4.10), подготовить тексты для отладки программ.

Задания, которые необходимо выполнить, задает преподаватель.

Подготовить отчет, который должен содержать:

  1. Титульный лист.

  2. Цель работы.

  3. Для каждой задачи:

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

  • Графическую схему алгоритма.

  • Таблицу соответствия переменных.

  • Текст программы на языке Си.

  • Тесты.

  • Листинг с текстом программы

  • Выводы по работе.

    Условия задач

    Задание 4.1.

    Составить графическую схему алгоритма и написать программу вычисления функции y=f(x) в соответствии с видом функции, приведенном в табл.2.1. В программе предусмотреть вывод

    • значения аргумента функции x;

    • вычисленного значения функции y;

    • номер формулы, по которой производилось вычисление функции (1, 2 или 3).

    Результаты и исходные данные вывести:

    а) в окно сообщений;

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

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

    Таблица 2.1

    Вариант

    Вид функции

    14

    Графическая схема линейного алгоритма

    Да Нет

    Да Нет

    n=1

    n=2

    n=3

    Таблица соответствия переменных

    Переменная в задачи

    Имя на языке программы си

    тип

    комментарий

    x

    x

    float

    Исх.данные

    y

    y

    float

    Результат

    n

    n

    int

    Номер формулы

    Листинг

    /*программу выполнила студентка гр. ПЭ 12 Михайловская Ирина Михайловна*/

    #include <stdio.h> // Директивы подключения

    #include <conio.h>

    #include<math.h> // файлов

    #include <windows.h>

    char bufRus[256];

    char* Rus(const char*text)

    {

    CharToOem(text, bufRus);

    return bufRus;

    }

    main()

    {

    float x,y;

    int n;

    char *z;

    puts(Rus("введите x\n"));

    scanf("%f",&x);

    if(x==0 && x<=-1)

    {

    y=fabs(x*x*x+4);

    n=1;

    z="fabs(x*x*x+4)";

    }

    else

    if(x>=8)

    {

    y=sqrt(x/2);

    n=2;

    z="y=sqrt(x/2)";

    }

    else

    {

    y=x*x*x;

    n=3;

    z="y=x*x*x";

    }

    printf(Rus("при x=%.2f y=%.2f %d %s/n"),x,y,n,z);

    fflush(stdin);

    getchar();

    return(0);

    }

    Тесты

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

    Тест

    1.

    х=0

    2.

    х=8

    3.

    х=6

    Результаты выполнения программы

    1.

    .

    2.

    3.

    Задание 4.2.

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

    Таблица 2.2

    Вариант

    Задание

    14

    Даны числа a, b, c. Вычислить max (a+b+c, abc)*min (a, b, c)

    Графическая схема линейного алгоритма

    Да нет да нет

    min=a

    Да нет

    max=a*b*c

    max=a+b+c

    z=max*min

    \

    Таблица соответствия переменных

    Переменные в задаче

    Имя на языке Си

    Тип

    Комментарий

    a

    a

    float

    исх. данное

    b

    b

    float

    исх. данное

    c

    c

    float

    исх. данное

    max

    float

    пром. данное

    min

    float

    пром. данное

    z

    float

    результат

    Листинг

    /*программу выполнила студентка гр. ПЭ 12 Михайловская Ирина Михайловна*/

    #include <stdio.h>

    #include <math.h>

    #include <conio.h>

    #include <windows.h>

    char bufRus[256];

    char* Rus(const char*text)

    {

    CharToOem(text, bufRus);

    return bufRus;

    }

    main()

    {

    float a,b,c,max,min,z;

    puts(Rus("Введите a,b,c"));

    scanf("%f%f%f",&a,&b,&c);

    if(a+b+c<a*b*c)

    max=a*b*c;

    else

    max=a+b+c;

    if(a<b && a<c)

    min=a;

    else

    if(b<a && b<c)

    min=b;

    else min=c;

    z=min*max;

    printf(Rus("Произведение max(a+b+c,abc)*min(a,b,c)=%5.3f"),z);

    fflush(stdin);

    getchar();

    return(0);

    }

    Тесты

    Тест

    a=2.0, b=5.0, c=9.0

    max(a+b+c,abc)*min(a,b,c)=180.0

    Результаты выполнения программы

    Вывод: Изучила операции отношения, логические операции, правила записи логических отношений, правили записи и использования операторов if; научиться составлять разветвляющиеся алгоритмы и оформлять их в виде графической схемы, составлять, тестировать и отлаживать в среде IDE разветвляющиеся программы.