Оператор цикла с параметром for — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Оператор цикла с параметром for

2019-07-12 352
Оператор цикла с параметром for 0.00 из 5.00 0 оценок
Заказать работу

 

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

for(<инициализация>;<выражение>;<модификации>)<оператор>

Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать несколько операторов, разделенных запятой.

Инициализация выполняется один раз в начале исполнения цикла.

Выражение определяет условие выполнения цикла. Если его результат, равен true, цикл выполняется. Цикл с параметром реализован как цикл с предусловием.

Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметра цикла.

Любая из частей оператора for может быть опущена, но точки с запятой надо оставить на своих местах.

Примеры

1) for (k=1;k<n;k++) if (n%k==0) printf(”%i”,k);

2) for (int i=1,s=0;i<=100;i++) s+=i*i;

3) s=0; f=1;

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

{ f=f*i; s=s+f; }

3) for (i=n;i>=1;i--) printf(”%i ”,i*i);

4) Ok=1;

for (n=2;n<=sqrt(a);i++)

if (a%n!=0) { Ok=0; break; }

Примеры решения задач

1) Каждое число Фибоначчи вычисляется как f1=1, f2=1, а начиная с третьего, по формуле fn=fn-1+fn-2. Составить программу, которая вычисляет последовательность n (n≥3) чисел Фибоначчи.

Обсуждение. Формула, по которой вычисляются числа Фибоначчи относится  к рекуррентным формулам и для реализации данной формулы достаточно иметь три переменные: f=fn, f1=fn-1 и f2=fn-2. Подготовка к вычислению следующего элемента последовательности осуществляется присвоением f1=f2 и f2=f.

#include <stdio.h>;

void main()

{

int n, i;

unsigned long f,f1,f2;

printf("n="); scanf("%i",&n);

f1=1; f2=1; printf("%li %li ",f1,f2);

for (i=3;i<=n;i++)

{

f=f1+f2; printf("%li ",f);

f1=f2; f2=f;

}

printf("\n");

}

2) Определить, является ли заданное число n простым.

Обсуждение. Простое число – натуральное число, большее единицы, но не имеющее других делителей, кроме самого себя и единицы. Из определения следует, что, если заданное число делится хотя бы один раз на одно из чисел 2,3,…,n-1, то оно составное. В действительности, достаточно проверить делимость заданного числа на 2,3,…,n/2, или даже на 2,3,…,  (почему?).

#include <stdio.h>;

#include <math.h>;

void main()

{

int n, i, Ok;

printf("Введите n>1: "); scanf("%i",&n);

Ok=1;

for (i=2;i<=int(sqrt(n));i++)

if (n%i==0) { Ok=0; break; }

if (Ok) printf("Простое\n");

else printf("Составное\n");

}

 

Оператор перехода

 

Оператор перехода вызывает передачу управления оператору, которому предшествует метка:

goto <имя>;

...

<имя>: <оператор>

Помеченный <оператор> должен находиться в той же функции, что и оператор goto, и метка должна быть уникальна.

Метка – это просто идентификатор.  

Метка от оператора должна отделяться символом ”:”.

Пример использования оператора

#include <stdio.h>;

#include <math.h>;

void main()

{ float a;

  M: printf("Введите a>0: "); scanf("%f",&a);

  if (a<=0) goto M;

  printf("%.3f",sqrt(a));

}

Операторы передачи управления

 

Оператор перехода вызывает передачу управления оператору, которому предшествует метка:

goto <имя>;

...

<имя>: <оператор>

Помеченный <оператор> должен находиться в той же функции, что и оператор goto, и метка должна быть уникальна.

Метка – это просто идентификатор.  

Метка от оператора должна отделяться символом ”:”.

Пример использования оператора

#include <stdio.h>;

#include <math.h>;

void main()

{ float a;

  M: printf("Введите a>0: "); scanf("%f",&a);

  if (a<=0) goto M;

  printf("%.3f",sqrt(a));

}

 

Вложенные циклы

 

    Для решения задачи достаточно часто требуется использовать несколько циклических конструкций, которые расположены внутри друг друга. Такие конструкции называют вложенными циклами.

Пример решения задачи

1) Натуральное число называют совершенным, если оно равно сумме всех своих делителей, не считая его самого. Например, 6=1+2+3, 28=1+2+4+7+14. Написать программу нахождения первых совершенных чисел меньших 10000.

Обсуждение. Единица по определению не является совершенным числом. На совершенность проверяем все числа n от 2 до 10000. Каждое число n делим на числа от 1 до n-1 и все делители суммируем (s=s+i). Как только сумма s делителей равна текущему числу n, выводим n на экран.

#include <stdio.h>;

void main()

{

long n, i, s;

for (n=2;n<=10000;n++)

{ s=0;

for(i=1;i<n;i++) if (n%i==0) s=s+i;

if (s==n) printf("%i\n",n);

}

}

 

 

Вычисление сумм

 

    Одним из важных задач практики является вычисление сумм, которые без компьютера решить было бы весьма трудно.

Вычисление конечных сумм. Общий вид суммы можно записать в виде

.

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

.

Общий алгоритм вычисления суммы: требуется задать начальное значение суммы ряда (в данной постановке задачи S0=0), а затем многократно вычислять очередной член ряда и добавлять его к ранее найденной сумме (Si=Si-1+ai).

Примеры

1) Составить программу вычисления суммы .

Обсуждение. Общий член суммы имеет вид , i=1,2,…,50.

#include <stdio.h>;

void main()

{

int i; float a, s;

 s=0;

 for (i=1;i<=50;i++)

 { a=1.0/((2*i-1)*2*i);s=s+a;}

 printf("s=%.4f\n",s);

}

2) Составить программу вычисления для заданного x суммы первых n членов ряда

Обсуждение. Общий член ряда имеет вид , i=1,2,…,n.

Прямое вычисление члена ряда по приведенной общей формуле, когда x возводится в степень, вычисляется факториал, а затем числитель делится на знаменатель, имеет два недостатка, которые делают этот способ непригодным. При возведении в степень и вычислении факториала можно получить очень большие числа, при делении которых друг на друга произойдет потеря точности. Второй недостаток связан с количеством операций. Для уменьшения количества операций следует воспользоваться рекуррентной формулой получения последующего члена ряда через предыдущий член. Для получения рекуррентной формулы вычислим отношение следующего члена ряда к предыдущему:

,

откуда ai=ai-1x2/(i-1), i=2,3,…,n, a1=1.

 

#include <stdio.h>;

void main()

{

 int i,n; float x, a, s;

 printf("x n="); scanf("%f%d",&x,&n);

 a=1; s=a;

 for (i=2;i<=n;i++) { a=a*x*x/(i-1); s=s+a;}

 printf("s=%.4f\n",s);

}

Вычисление бесконечных сумм. Общий вид бесконечных сумм имеет вид

.

Бесконечные суммы вычисляются с некоторой точностью ε. Для достижения заданной точности требуется суммировать члены ряда, абсолютная величина которых больше ε. Для сходящегося ряда модуль члена ряда ai при увеличении i стремится к нулю.

Примеры

1) Дан угол α (|α |≤ 3600) в градусах. Вычислить sin(α) с заданной точностью ε =0.000001, если

.

При определении суммы ряда следует использовать рекуррентную формулу для получения текущего члена ряда. Для этого введем обозначение ai=(-1)ix2i+1/(2i+1)! и вычислим отношение текущего члена к предыдущему

.

Отсюда ai=-ai-1x2/(2i(2i+1)).

Для определения ai,  i=1,2,... достаточно знать a0=x.

#include <stdio.h>;

#include <math.h>;

void main()

{

 const eps=0.000001;

 int i; float x, a, s;

 printf("В градусах угол x="); scanf("%f",&x);

x=x*M_PI/180; //градусы переводим в радианы

i=0; a=x; s=a;

do

{

i++;

a=-a*x*x/(2*i*(2*i+1));

s=s+a;

}

while (fabs(a)>eps);

printf("sin(x)=%.6f",s);

}

2) Составить программу вычисления значения π с использованием соотношения

Обсуждение. Изменение знака моделируется соотношением z:=-z;

#include <stdio.h>;

#include <math.h>;

void main()

{

 const eps=0.000001;

 long i; double z, a, s;

 s=1; z=1; i=1;

 do

 { i++; z=-z; a=z/(2*i-1); s=s+a;}

 while (fabs(a)>1E-6);

 s=4*s;

 printf("pi=%lf",s);

}

Практикум на ЭВМ

Линейные алгоритмы

Задания для решения на компьютере

A. Даны x, y, z. Вычислить f, если

B. Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковый радиус основания R и одинаковую высоту H.

C. Составить программу вычисления для заданного трехзначного целого числа произведения его цифр.

D. В квадрат вписана окружность (рис.1). Определите площадь заштрихо-ванной части фигуры, если известен радиус окружности R.

E. Введите строчную латинскую букву и определите ее порядковый номер, а также выведите на экран ее прописной символ.

F. Задано уравнение прямой Ax+By+C=0 и координаты точки (x,y). Найти расстояние от данной точки до заданной прямой.

Указание. Если у уравнения прямой Ax+By+C=0 оказывается, что A2+B2=1, то это уравнение называется нормальным, и оно обладает важным свойством: при подстановке в это уравнение координат любой точки плоскости левая часть оказывается равной расстоянию от этой точки до данной прямой. Причем, для точек одной полуплоскости это расстояние получается положительным, а для точек другой полуплоскости – отрицательным.

И так, чтобы узнать расстояние от точки до прямой, надо координаты точки подставить в нормальное уравнение прямой и взять абсолютное значение. Чтобы получить нормальное уравнение прямой из произвольного имеющегося, надо разделить его на .

G. На плоскости заданы координаты трех вершин квадрата ABCD - вершин A(x1,y1), B(x2,y2) и C(x3,y3), в порядке обхода по часовой стрелке. Найти координаты четвертой вершины (x4,y4).

 

2. Задания для самостоятельной работы

1.1. Угол A задан в градусах. Найти его величину в радианах.

1.2. Длины сторон первого прямоугольника A и B, его площадь в 6 раз меньше площади второго прямоугольника. Найти длину стороны второго прямоугольника, если длина одной из его сторон равна C.

2.1. Дано целое четырехзначное положительное число n. Найти сумму первой и последней цифр заданного числа.

2.2. Длина стороны треугольника равна A, периметр равен P, длины двух других сторон равны между собой. Найти эту длину.

3.1. Дано действительное число а. Не используя никаких функций и никаких операций, кроме умножения, вычислить a8 за три операции; a10 и a16 за четыре операции. Результаты вывести с точностью ε=10-10.

3.2. Составить программу определения периметра правильного n-угольника вписанного в окружность заданного радиуса R.

4.1. Даны действительные числа x, y. Вычислить сумму дробных частей.

4.2. Найти площадь поверхности куба со стороной A.

5.1. Даны действительные числа x, y. Вычислить сумму целых частей.

5.2. Заданы координаты двух точек (x1,y1), (x2,y2). Найти сумму расстояний от заданных точек до начала координат.

6.1. Правительство гарантирует, что инфляция в новом году составит d процентов в месяц. Какого роста цен за год можно ожидать.

6.2. Заданы координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти его периметр и площадь.

7.1. Дано трехзначное целое число n>0. Получить число с цифрами на единицу больше чем у исходного числа.

7.2. Заданы координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти сумму длин медиан треугольника.

8.1. Найти произведение цифр заданного четырехзначного числа.

8.2. Заданы координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти внутренние углы треугольника (в градусах).

9.1. Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.

9.2. Составить программу определения периметра правильного n-угольника описанного около окружности заданного радиуса R.

10.1. Дано семи- или восьмизначное целое число n. Найти шестую от конца цифру.

10.2. Составить программу расчета максимальной высоты h и дальности полета d снаряда, выпущенного с начальной скоростью v0 под углом α к горизонту.

11.1. Угол A задан в радианах. Найти его величину в градусах.

11.2. Составить программу определения площади правильного n-угольника описанного около окружности заданного радиуса R.

12.1 Длина задана в дюймах (1 дюйм=2,54 см). Перевести ее в метрическую систему, т.е. выразить в метрах, сантиметрах и миллиметрах. Так, например, 21 дюйм = 0 м 53 см 3.4 мм.

12.2. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

13.1. Три сопротивления R1, R2, R3 соединены параллельно. Найдите сопротивление соединения.

13.2. Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоту, радиусы вписанной и описанной окружности.

14.1. Составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки u км/ч, время движения по озеру t1 ч., а против течения реки – t2 ч.

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

15.1. Текущее показание электронных часов: m часов (0≤m≤23), n мин (0≤n ≤59), k сек (0≤k≤59). Какое время будут показывать часы через p часов q минут r секунд?

15.2. Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R>r).

16.1. Сколько процентов от A-B+C приходится на A, B, C?

16.2. Из кубической заготовки со стороной a выточен шар наибольшего диаметра. Составить программу вычисления процента материала, ушедшего в отходы.

17.1. Смешано V1 воды температуры t1 с V2 литрами воды температуры t2. Составьте программу вычисления температуры, образованной смеси.

17.2. Составить программу определения площади правильного n-угольника вписанного в окружность заданного радиуса R.

18.1. Составьте программу для вычисления времени t встречи автомобилей, движущихся равноускоренно навстречу друг другу, если известны их скорости v1 и v2, ускорения a1 и a2 и начальное расстояние между ними S.

18.2. Найти все углы треугольника со сторонами a, b, c. Предусмотреть в программе перевод радианной меры угла в градусы.

19.1. Посчитайте, сколько очков набрала команда "Заря" в первом круге чемпионата России по футболу, если известно, что m встреч она выиграла, n встреч проиграла, k встреч закончились ничьими, полагая, что за выигрыш команда получает 3 очка, за ничью – 1 очко, за проигрыш – 0 очков.

19.2. Найти площадь треугольника, две стороны которого равны a и b, а угол между этими сторонами равен α (в градусах).

20.1. Даны трехзначные положительные целые числа m и n. Получить число равное сумме произведений соответствующих цифр.

20.2. Известны длины сторон a, b, c треугольника. Вычислите сумму высот этого треугольника.

21.1. Даны трехзначные положительные целые числа m и n. Произвести обмен средних цифр. 

21.2. Найдите точку, лежащую на отрезке, соединяющем две данные точки, но находящуюся к первой из них в два раза ближе, чем ко второй. Напишите программу, которая вводит координаты первой точки (x1,y1), координаты второй точки (x2,y2) и выводит координаты искомой точки (x3,y3),.

22.1. Пусть k - целое число от 1 до 365. Присвоить целой переменной n значение 1, 2, 3, 4, 5, 6 или 7 в зависимости от того, на который день недели (понедельник, вторник,...,субботу или воскресенье) приходится k-й день невисокосного года, в котором 1 января – понедельник.

22.2. Задано уравнение прямой Ax+By+C=0. Получить нормальное уравне-ние заданной прямой.

23.1. Население некоторой страны в 1991 году составляло n человек. По переписи населения, проведенной в g-м году, зарегистрировано m человек. Составить программу вычисления среднегодового прироста населения за этот период, округляя до целого вниз.

23.2. Дана точка (x,y). Найти координаты точки, расположенной симметрично относительно оси Ох.

24.1. Найти сумму членов арифметической прогрессии a,a+d,...,a+(n-1)×d по данным значениям a, d, n.

24.2. Составить программу вычисления площади сектора заданного радиуса R, если известна величина центрального угла α.

25.1. Найти координаты вершины параболы y=ax2+bx+c.

25.2. Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

26.1. Найти сумму членов геометрической прогрессии a,a×q,...,a×q(n-1) по данным значениям a, q, n.

26.2. Составить программу вычисления площади сектора заданного радиуса, если известна длина его дуги.

27.1. Вычислить сумму порядковых номеров двух введенных символов.

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

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

28.2. Вычислить длину окружности, площадь круга и объем шара одного и того же заданного радиуса.

29.1. Вычислить дробную часть среднего арифметического трех заданных положительных чисел.

29.2. Найти сумму расстояний от точки (x,y) до осей Оx, Оу и начала координат.

30.1. Вычислить целую часть среднего арифметического трех заданных положительных чисел.

30.2. Дана точка (x,y). Найти координаты точки, расположенной симметрично относительно начала координат.

Алгоритмы с ветвлением

Задания для решения на компьютере

A. Дано действительное число x. Вычислить f(x), если

  B. Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x,y)заштрихованной части плоскости

 

Если принадлежит – напечатать “YES”, в противном случае – “NO”.

C. Даны целые числа x, y, z. Вычислить max(x+y+z,xyz,-x-y-z).

D. Оператор switch. Написать программу, которая бы по введенному длине отрезка L в метрах (целое число) и номеру единицы измерения (1 – дециметр, 2 – сантиметр, 3 – миллиметр) в которую надо преобразовать, выдавала бы соответствующее значение длины отрезка L.

Пример ввода: 2 1

Пример вывода: 2м=20дм

E. Оператор switch. Написать программу моделирующую простейший калькулятор. Пользователь вводит выражение типа ’32+5’ или ’94*14’ (число, знак операции, число) и получает результат. Возможные знаки операций: {+,-,*,/}. Использовать оператор switch.

F. Прямая на плоскости может быть задана уравнением ax+by+c=0, где a и b одновременно не равны 0. Пусть даны коэффициенты двух прямых: a1, b1, c1, a2, b2, c2. Определить точку пересечения этих прямых. Если прямые параллельны напечатать 0, а если совпадают, то напечатать 1.

Указание. Необходимо решить систему уравнений (см. 4.3, пример 8).

G. На шахматной доске стоят черный король и белый ферзь. Проверить, есть ли угроза королю. Если есть угроза, выдать сообщение  “YES”, иначе “NO”.

Указание. Для решения данной задачи ознакомьтесь с примером 9 пункта 4.3.

2. _____________________________________________________________________________________________________________________________Задания для самостоятельной работы

1.1. Определить, имеется ли среди чисел a, b, c хотя бы одна пара взаимно противоположных чисел. Если да, напечатать любую из этих пар, иначе “NO”.

1.2. Найти координаты точек пересечения прямой y=kx+b и окружности радиуса R с центром в начале координат. Если точек пересечения нет, то выдать сообщение “NO”. Если имеет одну точку пересечения, то в первой строке напечатать “1”, во второй – координаты точки пересечения. Если имеет две точки пересечения, то в первой строке напечатать “2”, во второй – координаты первой точки пересечения, в третьей – координаты второй точки пересечения.

2.1. Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в месяц оплачиваются B рублей, а разговоры сверх установленной нормы оплачиваются из расчета C рублей в минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени  (в минутах) разговоров за месяц.

2.2. Дана точка A(x,y). Определить, принадлежит ли она треугольнику с вершинами в точках (x1,y1), (x2,y2), (x3,y3). Если точка A принадлежит заданному треугольнику, то выдать сообщение «YES”, иначе “NO”.

3.1. Определить, является ли целое число N четным двузначным числом. При положительном ответе выдать сообщение «YES”, иначе “NO”.

3.2. Заданы координаты вершин прямоугольника: (x1,y1)- левый верхний угол, (x2,y2)- правый нижний угол. Стороны параллельны осям координат. Определить площадь части прямоугольника, расположенной в 1-й координатной четверти.

4.1. Определить, равен ли квадрат первой цифры заданного трехзначного числа N числу образованного из двух последних цифр этого числа. Если да, выдать сообщение «YES”, иначе “NO”.

4.2. Заданы три точки A(x1,y1), B(x2,y2), C(x3,y3). Определить, какая из точек B и C расположена ближе к A. Варианты ответов: “B”, “C”, “BA=CA”.

5.1. Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

5.2. Заданы размеры A, B прямоугольного отверстия и размеры X, Y, Z кирпича. Определить, пройдет ли кирпич через отверстие. При положительном ответе выдать сообщение «YES”, иначе “NO”.

6.1. Найти max{min(a,b), min(c,d)}.

6.2. Написать программу, определяющую, будут ли прямые A1x+B1y+C1=0 и A2x+B2y+C2=0 перпендикулярны. При положительном ответе выдать сообщение «YES”, иначе “NO”.

Указание. Две прямые перпендикулярны, если скалярное произведение направляющих векторов l 1 =(A1,B1) и l 2 =(A2,B2) заданных прямых равно нулю, т.е. l 1l 2 =A1*A2+B1*B2=0.

7.1. Даны три числа a, b, c. Если ни одно не из них равно d, то найти max(d-a,d-b,d-c), иначе min(a-d,b-d,c-d).

7.2. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной a в этом круге. Если да, выдать сообщение «YES”, иначе “NO”.

8.1. Даны действительные числа а, b, с. Удвоить эти числа, если а<b<с, и заменить их абсолютными значениями, если это не так.

8.2. Составить программу определения типа треугольника (равносторонний, равнобедренный, разносторонний) по заданным координатам его вершин (x1,y1), (x2,y2) и (x3,y3) на плоскости. Напечатать 1, если треугольник равносторонний, 2 – равнобедренный и 3 – разносторонний.

9.1. Написать программу нахождения суммы большего и меньшего из трех заданных чисел a, b, c.

9.2. Даны три точки A(x1,y1), B(x2,y2) и C(x3,y3). Определить, будут ли они расположены на одной прямой. Если да напечатать 0, а если нет – вычислить SABC.

Указание. Найти уравнение прямой проходящей через две точки (см. п.4.3, пример 7) и подставить в это уравнение координаты третьей точки. Если значение будет равно нулю, то все три точки расположены на одной прямой.

10.1. Грузовой автомобиль выехал из одного города в другой со скоростью v1 км/ч. Через t часов в этом же направлении выехал легковой автомобиль со скоростью v2 км/ч. Определить время, через которое легковой автомобиль догонит грузовой. Если не догонит, напечатать 0.

10.2. Даны четыре различные точки A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4) в порядке обхода. Определить, будут ли они вершинами параллелограмма. Если да, выдать сообщение «YES”, иначе “NO”.

Указание. Рассмотрим четыре вектора l 1 =(x2-x1,y2-y1), l 2 =(x3-x2,y3-y2), l 3 =(x3-x4,y3-y4), l 4 =(x4-x1,y4-y1). Если вектор l1 параллелен вектору l3, а вектор l2 параллелен вектору l4, то заданные точки будут вершинами параллелограмма. Два вектора параллельны, если их векторное произведение равно нулю, т.е. a × b =a1*b2-a2*b1=0.

11.1. Даны действительные числа x и y, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее – их удвоенным произведением.

11.2. На плоскости XOY задана своими координатами (x,y) точка A. Указать, где она расположена: на какой оси или в какой координатной четверти. Варианты ответов: “Ox”, “Oy”, “O”, “I”, “II”, “III”, “IV” (“O” –

начало координат).

12.1. Для действительных значений a и b составить программу решения линейного уравнения ax=b. Если нет решения, напечатать “NO”, а если бесконечно много – “inf”.

12.2. Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник. Если да, то будет ли он прямоугольным. Варианты ответов: “NO”, “YES”, “Yes, rectangular”.

13.1. Даны числа x, y, z. Найти значение выражения:

13.2. Даны две точки A(x1,y1) и B(x2,y2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат. Варианты ответов: “A”, “B”, “OA=OB”.

14.1. Написать программу, которая по заданным трем числам a, b, c определяет, является ли сумма каких-либо двух из них положительной. Напечатать один из возможных вариантов. Варианты ответов: “a+b”, “a+c”, “b+c”, “NO”.

14.2. Даны стороны двух треугольников a1, b1, c1, a2, b2, c2. Найти площадь большего треугольника.

15.1. Известно, что из четырех чисел a1, a2, a3 и a4 одно отлично от трех других, равных между собой. Найти номер этого числа.

15.2. Пусть даны координаты вершин четырехугольника в порядке обхода по часовой стрелке. Составьте программу, которая определяла бы, является ли этот четырехугольник прямоугольником (см. задачи 6.2 и 10.2).

16.1. Составить программу определения количества дней в заданном месяце m заданного года g (см. п.4.3, пример 5).

16.2. Пусть даны стороны треугольника a, b, c. Вычислите длины его высот и напечатайте их в порядке убывания.

17.1. Может ли ладья, расположенная на поле xn, за один ход переместиться на поле ym. Здесь x и y принимают значения из множества a,b,c,d,e,f,g,h, а n и m – из множества 1,2,3,4,5,6,7,8. Если да, выдать сообщение «YES”, иначе “NO”.

17.2. Числа a и b выражают длины катетов одного прямоугольного треугольника, а c и d – другого. Составить программу определения, являются ли эти треугольники подобными. Если да, выдать сообщение «YES”, иначе “NO”.

18.1. На шахматной доске стоят черный король и белые ладья и слон. Проверить, есть ли угроза королю. Учесть, что ладья не бьет через слона и слон не бьет через ладью. Если да, выдать сообщение «YES”, иначе “NO”.

18.2. Даны две точки A(x1,y1)и B(x2,y2). Напечатайте координаты точки, лежащей ближе к одному из осей координат. Если равноудалены, напечатайте 0.

19.1. Дано натуральное число N>4. Если оно делится на 4, вывести на экран ответ N=4*k (где k – соответствующее частное); если остаток от деления на 4 равен 1, N = 4*k + 1; если остаток от деления на 4 равен 2, N = 4*k + 2; если остаток от деления на 4 равен 3, N = 4*k + 3.

Примеры:

N=12

12 = 4*3

N=22

22 = 4*5 + 2

19.2. Даны две точки A(x1,y1)и B(x2,y2). Найти минимальный радиус окружности с центром в начале координат, содержащий заданные точки.

20.1. Если сумма трех попарно различных действительных чисел X, Y, Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из X, Y полусуммой двух оставшихся значений.

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

21.1. Написать программу решения уравнения ax3+bx=0 для произвольных a, b. Если бесконечно много решений напечатать – “inf”.

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

22.1. Составить программу, которая запрашивает дату (число, месяц, год) и проверяет корректность введенных пользователем данных. Если да, выдать сообщение «YES”, иначе “NO”.

22.2. Даны площадь круга и площадь правильного n-угольника. Составить программу определения, может ли поместиться одна фигура в другой при совмещении центра их симметрии. Если да, выдать сообщение «YES”, иначе “NO”.

23.1. Дано двузначное число. Напишите программу определения, входит ли в него цифра 5. Если да, выдать сообщение «YES”, иначе “NO”.

23.2. Составить программу, которая проверяет, можно ли из отрезков a, b, c, d построить четырехугольник. Если да, выдать сообщение «YES”, иначе “NO”.

24.1. Дано трехзначное число. Напишите программу определения, входит ли в него цифры 5 и 7. Если да, выдать сообщение «YES”, иначе “NO”.

24.2. Пусть даны координаты трех точек на плоскости. Если они могут быть вершинами равнобедренного треугольника, вычислите периметр треугольника, иначе площадь.

25.1. По заданным значениям x, y, z вычислите значение

u=max(x+y-z,min(x+yz,x)).

25.2. Даны два конверта прямоугольной формы с длинами сторон a, b и c, d. Определите, можно ли один из конвертов вложить в другой? Если да, выдать сообщение «YES”, иначе “NO”.

26.1. Определить, есть ли среди цифр заданного трехзначного числа одинаковые. Если да, выдать сообщение «YES”, иначе “NO”.

26.2. Даны координаты трех точек. Найти максимальное расстояние между заданными точками.

27.1. Определить, делителем каких целых чисел a, b, c является целое число k. Варианты ответов: “a“, “b“, “c”, “a,b”, “a,c”, “b,c”, “a,b,c”, “0”.

27.2. Даны номера двух квартир n и m девяти этажного дома. На каждой площадке по четыре квартиры. Какая из квартир находится выше. Варианты ответов: ”1”, ”2”, ”1=2”.

28.1. Даны числа x, y, z. Найти значение выражения:

 

28.2. Даны координаты левого верхнего угла (x1,y1) и правого нижнего угла (x2,y2) прямоугольника, а также координаты точки A(x1,y1). Составить программу, определяющую, принадлежит ли заданная точка A заданному прямоугольнику. Если да, выдать сообщение «YES”, иначе “NO”.

29.1. Дата рождения студента d, m, g. Напишите программу определения, исполнилось ли студенту полных 18 лет первого сентября 2011 года.

29.2. Даны две точки A(x1,y1) и B(x3,y3). Определить, какая из точек A и B расположена ближе к прямой y=x. Варианты ответов: ”A”, ”B”, ”dA=dB”.

30.1. Даны числа x, y, z. Найти значение выражения:

30.2. Для заданных a и b решить неравенство ax>b, a≠0.

Программы с циклами

Задания для решения на компьютере

A. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу (например, для n=3: 153=13+53+33). Получить все числа Армстронга, состоящие из четырех цифр (n=4).

B. Даны натуральные числа m и n. Найти наименьшее общее кратное этих чисел.

C. Напечатать все простые числа до 1000. Результат вывести в виде таблицы (10 столбцов).

D. Для заданного n вычислить .

E. Дано натуральное число n. Написать программу вычисления выражения

F. Дано действительное число x (x<1). Вычислить бесконечную сумму с заданной точностью (ε=0.0001). Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем ε.

.

G. Для заданных n и m вычислить:

 

 

2. _____________________________________________________________________________________________________________________________Задания для самостоятельной работы

1.1. Дано натуральное k. Напечатать k-ю (k≤10000) цифру последовательности 12345678910111213…, в которой выписаны подряд все натуральные числа.

1.2. Для заданного n вычислить значение π с использованием формулы:

2.1 Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа.

2.2.Составьте программу вычисления при заданных x и a значение функции y вида:

.

3.1. Даны два натуральных числа m и n (m,n≤MaxInt). Проверить, есть ли в записи числа m цифры, одинаковые с цифрами в записи числа n. Если да, выдать сообщение «YES”, иначе “NO”.

3.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

4.1. Дано натуральное число n (n≤MaxInt). Проверить, есть ли в записи числа три одинаковые цифры. Если да, выдать сообщение «YES”, иначе “NO”.

4.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

5.1. Дано натуральное число n≤1000000. Дописать к нему цифру k в конец и в начало.

5.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

6.1. Среди всех n-значных (n≤7) чисел найти количество чисел, сумма цифр которых равна данному числу k.

6.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

7.1. Напечатать k-ю цифру натурального числа n.

7.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

8.1. Найти наибольшую и наименьшую цифры в записи данного натурального числа n.     

8.2. Пусть дано натуральное число n и действительное число x. Вычислите значение выражения:

9.1. Произведение n первых нечетных чисел равно p (p≤6469693230). Сколько сомножителей взято? Если введенное n не является указанным произведением, напечатать 0.

9.2. Пусть даны натуральное число n и вещественное число x. Вычислите:

10.1. Найти на отрезке [n,m] натуральное число, имеющее наибольшее количество различных делителей, не включая 1 и самого себя. Если их несколько, найти наименьшее.

10.2. Пусть даны натуральное число n≥2 и вещественное число x. Вычислите:

.

11.1. Составьте программу для нахождения всех автоморфных чисел в отрезке [m,n]. Автоморфным называется целое число, запись которого совпадает с последними цифрами его квадрата. Например: 52=25, 62=36, 252=625.

11.2. Для заданного n вычислить

12.1. Дано натуральное число n. Проверить, будут ли все цифры числа различными.Если да, выдать сообщение «YES”, иначе “NO”.

12.2. Пусть дано натуральное число n. Вычислите значение выражения:

.

13.1. Дано натуральное число n (n≤MaxInt). Проверить, есть ли в записи заданного числа цифры 3, 5, 7. Если да, выдать сообщение «YES”, иначе “NO”.

13.2. Пусть дано натуральное число n и вещественное x. Вычислите значение выражения:

14.1. Дано натуральное число n≥10. Получить число образованное первой и последней цифрами, т.е. отбрасыванием средних цифр.

14.2. Составить программу вычисления для заданного значения x сумму первых n слаг


Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.224 с.