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

  • Практическая работа №1

  • Входные данные Ожидаемый результат

  • Входные данные Ожидаемый результат Результат работы программы

  • практика работа 1. Структура программы, основные типы данных, вводвывод


    Скачать 15.27 Kb.
    НазваниеСтруктура программы, основные типы данных, вводвывод
    Дата21.01.2022
    Размер15.27 Kb.
    Формат файлаodt
    Имя файлапрактика работа 1.odt
    ТипПрактическая работа
    #337843

    Балтийский государственный технический университет
    «ВОЕНМЕХ» им. Д. Ф. Устинова

    Кафедра И5 «Информационные системы и программная инженерия»

    Практическая работа №1
    по дисциплине «Информатика: Основы программирования»
    на тему «Структура программы, основные типы данных, ввод/вывод»

    Выполнил:
    Студент Шабалова А. А.
    Группа И502Б

    Преподаватель:
    Палехова О. А.

    Санкт-Петербург
    2020 г.

    Задание 1.

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

    Входные данные: слагаемые, два целых числа. Обозначим их a и b, тип int.

    Выходные данные: сумма, целое число. Обозначим как s, тип int.

    Таблица тестирования:

    Входные данные

    Ожидаемый результат

    Результат работы программы

    а = 2, b = 2

    4

    4

    а = 2000, b = -2000

    0

    0

    а = 2000000000, b = 2000000000

    4000000000

    -294967296

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

    #include

    #include
    int main()

    {

    int a, b, s; /* объявление переменных */

    printf ("a = "); /* печать сообщения */

    scanf ("%d", &a); /* ввод с клавиатуры целого числа и запись его в переменную a */

    printf ("b = "); /* печать следующего сообщения */

    scanf ("%d", &b); /* ввод с клавиатуры целого числа и запись его в переменную b */

    s = a + b; /* вычисление суммы и запись ее в переменную s */

    printf ("%d + %d = %d\n", a, b, s); /* вывод результата в формате число + число = число */

    return 0;

    }

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

    Задание 2.

    Написать программу деления одного целого числа на другое.

    Входные данные: делимое и делитель, два целых числа. Обозначим их a и b, тип int.

    Выходные данные: частное, целое число. Обозначим как s, тип int.

    Таблица тестирования:

    Входные данные

    Ожидаемый результат

    Результат работы программы

    а = 10, b = 5

    2

    2

    а = 3, b = -2

    -1,5

    -1

    а = 6, b = 12

    0,5

    0

    а = 14, b = 0

    ошибка

    ошибка

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

    #include

    #include
    int main()

    {

    int a, b, s; /* объявление переменных */

    printf ("a = "); /* печать сообщения */

    scanf ("%d", &a); /* ввод с клавиатуры целого числа и запись его в переменную a */

    printf ("b = "); /* печать следующего сообщения */

    scanf ("%d", &b); /* ввод с клавиатуры целого числа и запись его в переменную b */

    s = a / b; /* вычисление частного и запись ее в переменную s */

    printf ("%d + %d = %d\n", a, b, s); /* вывод результата в формате число / число = число */

    return 0;

    }

    Выводы: При выполнении работы было выявлено, что при делении одного целого числа на другое, результат всегда будет являться числом целым.

    Задание 3.

    Изменить тип переменных в предыдущей программе на double(стандартный вещественный тип). В функциях scanf() и printf() поменять спецификаторы формата на %lf.

    Входные и выходные данные те же, что и в задании 2, обозначения переменных те же, тип всех переменных double.

    Таблица тестирования:

    Входные данные

    Ожидаемый результат

    Результат работы программы

    а = 10, b = 5

    2

    2.000000

    а = 3, b = -2

    -1,5

    -1.500000

    а = 6, b = 12

    0,5

    0.500000

    а = 14, b = 0

    ошибка

    ошибка

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

    #include

    #include
    int main()

    {

    double a, b, s; /* объявление переменных вещественного типа*/

    printf ("a = "); /* печать сообщения */

    scanf ("%lf", &a); /* ввод с клавиатуры целого числа и запись его в переменную a */

    printf ("b = "); /* печать следующего сообщения */

    scanf ("%lf", &b); /* ввод с клавиатуры целого числа и запись его в переменную b */

    s = a / b; /* вычисление частного и запись ее в переменную s */

    printf ("%lf + %lf = %lf\n", a, b, s); /* вывод результата в формате вещественное число / вещественное число = вещественное число (1 знак после запятой)*/

    return 0;

    }

    Выводы: Результаты численно соответствуют ожидаемым.

    При изменении формата вывода на %1lf выводимое значение стало таким: округленное до одного знака после запятой.

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

    Выводы: Заменив формат вывода, можно подстроить выводимое значение под удобный формат.

    Задание 4.

    В предыдущей программе изменить тип делимого и делителя обратно на int, результат оставить типа double.

    Входные данные: делимое и делитель, два целых числа. Обозначим их a и b, тип int.

    Выходные данные: частное, вещественное число. Обозначим как s, тип double.

    Таблица тестирования:

    Входные данные

    Ожидаемый результат

    Результат работы программы

    а = 10, b = 5

    2

    2.000000

    а = 3, b = -2

    -1,5

    -1.000000

    а = 6, b = 12

    0,5

    0.000000

    а = 14, b = 0

    ошибка

    ошибка

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

    #include

    #include
    int main()

    {

    int a, b; /* объявление переменных целого типа */

    double s; /* объявление переменной вещественного типа*/

    printf ("a = "); /* печать сообщения */

    scanf ("%d", &a); /* ввод с клавиатуры целого числа и запись его в переменную a */

    printf ("b = "); /* печать следующего сообщения */

    scanf ("%d", &b); /* ввод с клавиатуры целого числа и запись его в переменную b */

    s = a / b; /* вычисление частного и запись ее в переменную s */

    printf ("%d + %d = %lf\n", a, b, s); /* вывод результата в формате целое число / целое число = вещественное число */

    return 0;

    }

    Выводы: При изменении формата переменной вывода на вещественный тип, оставив изначальные переменные целыми, на выход выводится только целая часть от деления.



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