Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка С++.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
750 Кб
Скачать
☆

Целочисленная арифметика

1.3.Примеры алгоритмов

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

Пример 1

Дано число N. Проверить, делится ли оно нацело на число M.

//---------------------------------------------------------------------------

#include <vcl.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

printf ("Vvedite delimoe : \n");

int n = 0 ;

scanf ("%d",&n);

printf ("Vvedite delitel' : \n");

int m = 0;

scanf ("%d", &m);

if (n % m == 0)

{

printf ("Delitsia");

}

else printf ("Nedelitsia");

getch();

return 0;

}

//---------------------------------------------------------------------------

Пример 2

Дано двузначное число N. Найти сумму его цифр.

//---------------------------------------------------------------------------

#include <vcl.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

printf ("Vvtdite chislo [10-99] :\n");

int n =0;

scanf ("%d", &n);

int a=0, b=0;

a = n / 10;

b = n % 10;

int summa = a+b;

printf ("Summa = %d\n", summa);

getch();

return 0;

}

//---------------------------------------------------------------------------

Результат :

Практические задания Задание 1: сумма цифр трехзначного числа

Цель задания

Приобретение навыков работы с данными целого типа, использование стандартных функций div = / и mod = %.

Постановка задачи

Дано трехзначное число. Найти сумму его цифр.

Методические указания

1. Организовать ввод значения числа с клавиатуры.

2. Для отладки программы использовать окно Watch.

3. Вывод результата оформить понятным заголовком.

Задание 2: перевод копеек в рубли

Цель задания

Закрепление навыков работы с данными целого типа, использование стандартных функций div = / и mod = %.

Постановка задачи

Дана цена товара в копейках. Найти, сколько рублей стоит данный товар.

Методические указания

1. Организовать ввод значения числа с клавиатуры.

2. Для отладки программы использовать окно Watch.

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

Задание 3: счастливый билет

Цель задания

Проверка приобретенных навыков работы с данными целого типа, использование стандартных функций div = / и mod =%.

Постановка задачи

На билете располагается шестизначное число. Проверить, не является ли билет «счастливым»?

Методические указания

1. Организовать ввод номера билета с клавиатуры.

2. Для отладки программы использовать окно Watch.

3. Вывод оформить с понятным заголовком.

Программирование циклических алгоритмов Пример составления программы с циклом

Постановка задачи. Протабулировать функцию на отрезке (-;) для 20 значений аргумента.

Решение. Для решения задачи потребуются переменные:

- х – под значения аргумента;

- y – под значения функции;

- h – под значение шага изменения аргумента;

- n – количество точек на отрезке;

- i – параметр цикла

Для автоматического задания изменения значений аргумента используем цикл For-to.

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

//---------------------------------------------------------------------------

#include <vcl.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

long double pi = double (M_PI);

const float a = -pi, b = pi;

printf("Vvedite kolichestvo tochek\n");

int n = 0;

scanf ("%d", &n);

float h = (b - a) * n / (n-1);

float x = a;

for (int i = 0; i != n; i++)

{

x = a + (i - 1) * h;

float f = sin (x) + cos (x);

printf ("x = %10.3f f = %10.3f\n", x,f);

}

getch();

return 0;

}

//---------------------------------------------------------------------------

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