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

Задача 3.1 Тема 3 (циклические алгоритмы)

Условие: Дано натуральное число N и вещественное число x. Вычислить

Дано:

N, x | переменные | тип float

Результат:

Вывод на экран значения выражения.

Б Параллелограмм 161

c*= -1

Группа 183 Ромб 184 Ромб 186 Группа 197

s+=c*cos(k+x)

Группа 202 Группа 198 Группа 203 локсхема:

+

+

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

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main(void) {

float x,k,s,N,c=1;

scanf("%f%f",&N,&x);

for (int k=1; k<=N;k++)

{

for (int f=1; f<k;f++)

{

c*=-1;

}

s+=c*cos(k+x);

}

printf("%f",s);

return 0;

}

Скриншот результата:

Тестовые примеры:

Исходные данные

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

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

3, 10

-1.746875

-1.746875

15, 1

2.025970

2.025970

4, 4

-1.575910

-1.575910

45, 10

0.029474

0.029474

Задача 3.2 Тема 3 (циклические алгоритмы)

Условие: Целое положительное десятичное число m записать в двоичной системе счисления.

Дано:

m | переменная | тип int

Результат:

Вывод на экран числа m в двоичной системе счисления.

Б локсхема:

Параллелограмм 237 Группа 225 Ромб 239 Группа 241

i--

Группа 246

+

Ромб 233

mas[i]=m%2 m=m/2; i++;

+

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

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main ()

{

int m,mas[100],i=0;

scanf("%d",&m);//Ввод числа

while (m>0) //Цикл записывающий остаток при делении числа на 2 в массив

{

mas[i]=m%2;

m=m/2;

i++;

}

while (i>0)//Вывод массива в обратном порядке

{ i--;

printf("%d", mas[i]);

}

return 0;

}

Скриншот результата:

Тестовые примеры:

Исходные данные

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

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

13

1101

1101

196

11000100

11000100

228

11100100

11100100

512

1000000000

1000000000

Задача 4 Тема 4 (одномерные массивы)

Условие: В целочисленном массиве подсчитать количество элементов, значения которых больше значения предыдущего элемента.

Дано:

mas | массив | тип int

Результат:

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

Блоксхема:

Ромб 282

Параллелограмм 264

+

mas[i]=случайное число от 0 до 10, i++;

Группа 276

+

Группа 298

Группа 268

Ромб 294

Группа 272

X++

Прямая со стрелкой 295

+

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

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

int main(void) {

srand(time(NULL));

int n=10+rand()%12,x;

int mas[n];

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

{

mas[i]=0+rand()%10;

printf("%d ",mas[i]);

}

printf("\n ");

for (int i=1;i<n;i++)

{

if(mas[i]>mas[i-1])

{

x++;

}

}

printf("Количество элементов больше чем предыдущий: %d",x);

return 0;

Скриншот результата:

Тестовые примеры:

Исходные данные

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

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

8 4 6 6 1 6 1 8 4 2 6 3

4

4

6 9 8 9 7 1 4 8 1 9

5

5

1 2 9 1 1 9 7 4 7 2 6 8 9 0 0 7 9 7 5

9

9

5 4 3 3 0 3 8 2 4 9 7 9 9 8

5

5