Пример 3: Ввести N чисел и найти количество положительных и сумму отрицательных (оператор цикла do ..while).

Лабораторная работа№3 (4)

Программирование циклов

Пример 1: Найти сумму N целых чисел (оператор цикла for).

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.Write("Введите последную цифру: ");

string s = Console.ReadLine();

int N = Convert.ToInt16(s);

double Sum = 0.0;

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

{

Sum += i;

}

Console.WriteLine("Сумма " + N + " чисел = " + Sum);

Console.ReadKey();

}

}

}

Пример 2: Найти сумму N целых четных чисел (оператор цикла while).

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.Write("Введите последную цифру: ");

string s = Console.ReadLine();

int N = Convert.ToInt16(s);

double Sum = 0.0;int i = 2;

 

while (i<= N)

{

Sum += i;

i += 2;

}

 

Console.WriteLine("Сумма " + N + " четных чисел = " + Sum);

Console.ReadKey();

}

}

}

Пример 3: Ввести N чисел и найти количество положительных и сумму отрицательных (оператор цикла do ..while).

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.Write("Введите количество цифр: ");

string s = Console.ReadLine();

int N = Convert.ToInt16(s);

double Sum = 0.0;

int i = 1,k=0,a;

do

{

Console.Write("Введите" + i + "число - ");

a = Convert.ToInt16(Console.ReadLine());

if (a > 0)

k++;

if (a < 0)

Sum += a;

++i;

}

while (i <= N);

Console.WriteLine("Сумма отрицательных чисел = " + Sum);

Console.WriteLine("Количество положительных чисел = " + k);

Console.ReadKey();

}

}

}

Begin1. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.

Begin2. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.

Begin3. Дано вещественное число A и целое число N (> 0). Вывести A в степени N: AN = A·A·...·A (числа A перемножаются N раз).

Begin4. Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N.

Begin5. Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + ... + AN.

Begin6. Дано вещественное число A и целое число N (> 0). Вывести 1 – A + A2 – A3 + ... + (–1)NAN.

Begin7. Дано целое число N (> 1). Вывести наименьшее целое K, при котором выполняется неравенство 3K > N, и само значение 3K.

Begin8. Дано целое число N (> 1). Вывести наибольшее целое K, при котором выполняется неравенство 3K < N, и само значение 3K.

Begin9. Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту сумму.

Begin10. Дано вещественное число A (> 1). Вывести наибольшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет меньше A, и саму эту сумму.

Begin11. Дано целое число N (> 0). Вывести произведение 1·2·...·N. Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и выводить его как вещественное число.

Begin12. Дано целое число N (> 0). Если N — нечетное, то вывести произведение 1·3·...·N; если N — четное, то вывести произведение 2·4·...·N. Чтобы избежать целочисленного переполнения, вычислять это opnhgbedemhe с помощью вещественной переменной и выводить его как вещественное число.

Begin13. Дано целое число N (> 0). Вывести сумму 2 + 1/(2!) + 1/(3!) + ... + 1/(N!) (выражение N! — "N факториал" — обозначает произведение всех целых чисел от 1 до N: N! = 1·2·...·N). Полученное число является приближенным значением константы e = exp(1) (= 2.71828183...).

Begin14. Дано вещественное число X и целое число N (> 0). Вывести 1 + X + X2/2! + ... + XN/N! (N! = 1·2·...·N). Полученное число является приближенным значением функции exp в точке X.

Begin15. Дано вещественное число X и целое число N (> 0). Вывести X – X3/3! + X5/5! – ... + (–1)NX2N+1/(2N+1)! (N! = 1·2·...·N). Полученное число является приближенным значением функции sin в точке X.

Begin16. Дано вещественное число X и целое число N (> 0). Вывести 1 – X2/2! + X4/4! – ... + (–1)NX2N/(2N)! (N! = 1·2·...·N). Полученное число является приближенным значением функции cos в точке X.

Begin17. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести X – X2/2 + X3/3 – ... + (–1)N–1XN/N. Полученное число является приближенным значением функции ln в точке 1+X.

Begin18. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести X – X3/3 + X5/5 – ... + (–1)NX2N+1/(2N+1). Полученное число является приближенным значением функции arctg в точке X.

Begin19. Дано целое число N (> 2) и две вещественные точки на числовой оси: A, B (A < B). Отрезок [A, B] разбит на равные отрезки длины H с концами в N точках вида A, A + H, A + 2H, A + 3H, ..., B. Вывести значение H и набор из N точек, образующий разбиение отрезка [A, B].

Begin20. Дано целое число N (> 2) и две вещественные точки на числовой оси: A, B (A < B). Функция F(X) задана формулой F(X) = 1 – sin(X). Вывести значения функции F в N равноотстоящих точках, образующих разбиение отрезка [A, B]: F(A), F(A + H), F(A + 2H), ..., F(B).

Begin21.Написать программу, которая считывает введённое пользователем с клавиатуры целое число (использовать переменную целого типа) и выдает на экран дисплея сумму цифр этого числа.

Begin22.Написать программу, распечатывающую список счастливых билетов. Если на автобусном билете напечатано шестизначное число, и сумма первых трёх цифр равна сумме последних трёх, то этот билет считается счастливым. Список нужно выдавать по 10 счастливых номеров, с паузой для нажатия клавиши.

Begin23.Ввести целое число N > 0, являющееся некоторой степенью числа 2: N=2K. Найти целое число K — показатель этой степени. Не разрешается использовать логарифм. Если пользователь введёт число не являющееся степенью числа 2 - вывести соответствующее сообщение.

Begin24.Ввести целое число N > 0. Используя операции деления нацело и взятия остатка от деления, найти число, полученное при прочтении числа N справа налево

Begin25.Ввести целое число N > 1. Если оно является простым, то есть не имеет положительных делителей, кроме 1 и самого себя, то вывести это число, иначе вывести ближайшее большее простое число.

*Begin26.Ввести целое число N > 1. Последовательность чисел Фибоначчи FK определяется следующим образом: F1=1, F2=1, FK=FK–2 + FK–1, K=3, 4, ... . Проверить, является ли число N числом Фибоначчи. Если является, то вывести True, если нет — вывести False.

Begin27.Ввести вещественное число e > 0. Последовательность вещественных чисел AK определяется следующим образом: A1=1, A2=2, AK=(AK–2 + 2·AK–1)/3, K = 3, 4, … . Найти первый из номеров K, для котороых выполняется условие |AK – AK–1| < e, и вывести этот номер, а также числа AK–1 и AK.

Begin28.Ввести положительные числа A, B, C. На прямоугольнике размера A x B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике. Операции умножения и деления не использовать.

Begin29.Ввести два целых числа a и b. Вычислить НОД (a,b) - наибольший общий делитель а и b. Делителями называются числа, которые делят без остатка заданное число, кроме единицы и самого этого числа.

Begin30.Ввести натуральное (целое неотрицательное) число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d, не используя операций целочисленного деления и нахождения остатка. Разрешается использовать только целые переменные и целочисленные операции.

Begin31.Ввести целые положительные числа A и B. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: НОД(A, B)=НОД(B, A mod B), если B ≠ 0; НОД(A, 0)=A, где «mod» обозначает операцию взятия остатка от деления. См. также:

*Begin32.Ввести целое число N > 1. Найти первое из чисел Фибоначчи, большее чем N. Последовательность чисел Фибоначчи FK (целого типа) определяется следующим образом: F1 =1, F2= 1, FK=FK-2 + FK-1, K = 3, 4, ... N.

Begin33.Ввести два целых числа N1 и N2. Если N1 >N2, найти сумму целых чисел в диапазоне N1 ... N2. Если N2 больше N1, найти сумму целых чисел в диапазоне N2... N1. Если N1 равно N2, вывести на экран соответствующее сообщение.

Begin34.Осуществить ввод последовательности целых чисел, определить третье положительное число и подсчитать количество цифр в нем. Последовательность потенциально не ограничена, окончанием последовательности служит третье положительное число.

Begin35.Осуществить ввод последовательности целых чисел, определить максимальное четное число, его порядковый номер и подсчитать сумму его цифр. Последовательность потенциально не ограничена, окончанием последовательности служит число 0. Если окажется, что чётных чисел в последовательности не было, вывести соответствующее сообщение.

Begin36.Осуществить ввод последовательности целых чисел и сравнить, что больше, сумма положительных или произведение отрицательных. Последовательность потенциально не ограничена, окончанием последовательности служит число 0.

Begin37.Осуществить ввод последовательности целых чисел и определить предпоследнее отрицательное число. Последовательность потенциально не ограничена, окончанием последовательности служит число 0. Если окажется, что в последовательности было менее двух отрицательных чисел, вывести соответствующее сообщение.

*Begin38.Осуществить ввод целого числа М. На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу. Примеры: 153=13 + 53 + 33; 1634=14+64+34+44.

Begin39.Ввести действительное число х и натуральное число n. Вычислить x*(x - n)*(x - 2*n)(x - 3*n)…(x - n2).

Begin40.Осуществить ввод последовательности целых чисел. Определить, сколько из них и какие принимают наибольшее значение. Последовательность потенциально не ограничена, окончанием последовательности служит число 0.

Begin41.Осуществить ввод последовательности целых чисел в количестве не меньшем двух. Вычислить сумму тех из них, порядковые номера которых - простые числа. Последовательность потенциально не ограничена, окончанием последовательности служит число 0.

Begin42.Осуществить ввод последовательности целых чисел в количестве не меньшем трёх. Определить, сколько из них больше своих "соседей", т.е. предыдущего и последующего чисел. Последовательность потенциально не ограничена, окончанием последовательности служит число 0.