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

Лабораторная работа № 3
Разработка и отладка циклических алгоритмов и программ

 

Вы не можете скачивать файлы с нашего сервера

Цель: приобрести навыки программирования циклических алгоритмов

Оснащение: IBM PC, среда программирования Borland C++ 5.0, инструкция

Методические рекомендации

Цикл – многократное повторение последовательности действий по некоторому условию. Известны три типа циклических алгоритмических структур: цикл с параметром, цикл с предусловием и цикл с постусловием.

Цикл с параметром имеет следующую форму записи:

for(<выражение 1>;<условие>;<выражение 2>) <тело цикла>;

Выражение 1 вычисляется один раз до начала выполнения цикла. Далее проверяется условие, если оно истинно, то выполняется тело цикла, а затем вычисляется выражение 2.

П р и м е р 3.1. Вычислить сумму чисел от 1 до заданного числа n.
#include<stdio.h>
void main()
{
int i,n,s;
printf("Введите n");
scanf("%d",&n);
s=0;
for(i=1;i<=n;i=i+1) s=s+i; или for(i=1;i<=n;s+=i++);
printf("Сумма равна %d",s);
}
В качестве тела цикла может быть использован другой цикл (вложенный).
П р и м е р 3.2. Вывести на экран таблицу умножения.
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
printf("\n");
for(j=1;j<=9;j++) printf(" %d",i*j);
}
}

Цикл с предусловием имеет следующий формат:

while(<условие>) <тело цикла>;

Вычисляется условие. Если оно истинно, то выполняется тело цикла и осуществляется переход в начало цикла для очередной проверки условия.
П р и м е р 3.3. Вычислить сумму чисел от 1 до заданного числа n.
#include<stdio.h>
void main()
{
int a,s;
printf("Введите n");
scanf("%d",&n);
s=0;
a=1;
while(a<=n)
{
s=s+a;
a=a+1;
}
printf("Сумма равна %d",s);
}

Цикл с постусловием имеет следующий формат:

do <тело цикла> while(<условие>);

Выполняется тело цикла и вычисляется условие. Если оно истинно, то осуществляется переход на начало цикла, а если нет, то выполняются последующие за циклом операторы.
П р и м е р . Вычислить сумму чисел от 1 до заданного числа n.
#include<stdio.h>
void main()
{
int a,s;
printf("Введите n");
scanf("%d",&n);
s=0;
a=1;
do
{
s=s+a;
a=a+1;
} while(a<=n);
printf("Сумма равна %d",s);
}
Внутри цикла может использоваться оператор continue, который вызывает пропуск всех операторов до конца цикла с последующим продолжением цикла.

Задание

1. Дано действительное число x . Вычислить:
 
2. Даны действительное число a , натуральное число n . Вычислить:
 
3. Дано действительное x . Вычислить:
 
4. Дан числовой ряд и малая величина ε . Найти сумму ряда с точностью ε , общий член которого задан формулой:
 
5. Найти наименьший номер последовательности, для которого выполняется условие an − an−1 < ε . Вывести на экран
этот номер и все элементы ai , где i = 1, 2, …, n , если ε = 0,001 и
 
6. Найти наименьший номер элемента последовательности, для которого выполняется условие M . Вывести на экран
этот номер и все элементы ai , где i = 1, 2, …, n :
 
7. Задание п. 6: 
 
8. Составить программу вычисления значений функции F(x) на отрезке [a; b] с шагом h . Результат представить в виде таблицы, первый столбец которой – значения аргумента, второй – соответствующие значения функции:
F(x) = sin2 x − cos 2 x .
9. Задание п. 7: F(x) = 2sin2 x +1.
10. Дано натуральное число n . Найти сумму первой и последней цифры этого числа.
11. Среди всех п-значных чисел указать те, сумма цифр которых равна данному числу k .
12. Дано натуральное число n . Переставить местами первую и последнюю цифры этого числа.
13. Для записи римскими цифрами используются символы I, V, X, L, C, D, M, обозначающие соответственно числа 1, 5, 10, 50, 100, 500, 1000. Составить программу, которая запись любого данного числа n ( n ≤ 3999 ) арабскими цифрами переводила бы в запись римскими цифрами.
14. Даны действительное число a , натуральное число n . Вычислить:
 
15. Числа Фибоначчи ( fn ) определяются формулами
  f0 = f1 = 1, fn = fn−1 + fn−2 при n = 2, 3, … . Определить f40 .
16. Дано натуральное число n . Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
17. Дано натуральное число N . Вычислить произведение первых N сомножителей:
 
18. Составить программу, которая печатает таблицу умножения.
19. Покупатель должен заплатить в кассу S р. У него имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных?
20. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, …, 24 часа.
21. Составить программу, которая запрашивает пароль (четырехзначное число) до тех пор, пока количество неверных ответов не превысит три.
22. Найти все двузначные числа, сумма квадратов цифр которых кратна M .
23. Составить программу перевода данного натурального числа из десятичной системы счисления в двоичную.
24. Найти сумму всех п-значных чисел (1 ≤ n ≤ 4 ).

Контрольные вопросы
1. Использование цикла с параметром.
2. Программирование вложенных циклов.
3. Использование цикла с предусловием.
4. Использование цикла с постусловием.
5. Использование оператора continue.



Обсудить на форуме

Комментарии к статье:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Регистрация

Реклама

Последние комментарии