Новости
  Начинающие
  Курс Офис
  Курс Сети
  Программирование
  Контактная информация

Задача 1. Напишите программу, которая решает следующие задачи: Дано: float a=4; float b=6.78. Вычислить:

 
а) a+b		в) a*(b-8/a)
б) a+b/a	г)0.589*a*(4.23-b*2.3)

Задача 2. Напишите программу, которая определяет код следующих клавиш:

 
а) ENTER	г) ALT		ж) Space			к) 1
б) SHIFT	д) Tab		з) стрелка "Вверх"		л) А
в) CTRL		е) CapsLock	и) стрелка "Вправо"		м) а

Задача 3. Выведите на экран все символы ASCII.

 
#include
#include
void main()
{
 clrscr();
 int i;
 for(i=27;i<282;i++)
  printf("%c ",i);
 getch();
}

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

 
 #include 
 void main()
 {
  int a,b,c;
  scanf(" %d %d",&a,&b);
  c=a+b;
  printf("Cумма = %d \n",c)
 }

Задача 5. Напишите программу, которая узнает имя пользователя и приветствует его.

 
#include
#include
void main()
{
 clrscr();
 char string[10];
 printf("Введите свое имя \n");
 scanf("%s",string);
 printf("Здравствуй, %s!",string);
 getch();
}

Задача 6. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Напишите программу, определяющую путь S, пройденный лодкой.

Задача 6а. Составить и записать алгоритм задачи 6 в виде блок-схемы.

Задача 7. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Напишите программу, определяющую расстояние между ними через T часов, если автомобили удаляются друг от друга.

Задача 7а. Составить и записать алгоритм задачи 7 в виде блок-схемы.

Задача 8. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Напишите программу, определяющую расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу.

Задача 8а. Составить и записать алгоритм задачи 8 в виде блок-схемы.

Задача 9. Напишите программу, которая находит периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b.

Задача 9а. Составить и записать алгоритм задачи 9 в виде блок-схемы.

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

Задача 10а. Составить и записать алгоритм задачи 10 в виде блок-схемы.

Задача 11. Напишите программу, которая находит длину окружности и площадь круга заданного радиуса R. В качестве значения Pi использовать 3.14.

Задача 11а. Составить и записать алгоритм задачи 11 в виде блок-схемы.

Задача 12. Напишите программу, которая находит площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 < R2). В качестве значения Pi использовать 3.14.

Задача 12а. Составить и записать алгоритм задачи 12 в виде блок-схемы.

Задача 13. Дана сторона равностороннего треугольника. Напишите программу, которая находит площадь этого треугольника и радиусы вписанной и описанной окружностей.

Задача 13а. Составить и записать алгоритм задачи 13 в виде блок-схемы.

Задача 14. Дана длина окружности. Напишите программу, которая находит площадь круга, ограниченного этой окружностью. В качестве значения Pi использовать 3.14.

Задача 14а. Составить и записать алгоритм задачи 14 в виде блок-схемы.

Задача 15. Дана площадь круга. Напишите программу, которая находит длину окружности, ограничивающей этот круг. В качестве значения Pi использовать 3.14.

Задача 15а. Составить и записать алгоритм задачи 15 в виде блок-схемы.

Задача 16. Напишите программу, которая находит периметр и площадь равнобедренной трапеции с основаниями a и b (a > b) и углом alpha при большем основании (угол дан в радианах).

Задача 16а. Составить и записать алгоритм задачи 16 в виде блок-схемы.

Задача 17. Напишите программу, которая находит периметр и площадь прямоугольной трапеции с основаниями a и b (a > b) и острым углом alpha (угол дан в радианах).

Задача 17а. Составить и записать алгоритм задачи 17 в виде блок-схемы.

Задача 18. Напишите программу, которая находит расстояние между двумя точками с заданными координатами (x1, y1) и (x2, y2).

Задача 18а. Составить и записать алгоритм задачи 18 в виде блок-схемы.

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

Задача 19а. Составить и записать алгоритм задачи 19 в виде блок-схемы.

Задача 20. Напишите программу, которая находит корни квадратного уравнения A•x2 + B•x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если известно, что дискриминант уравнения неотрицателен.

Задача 20а. Составить и записать алгоритм задачи 20 в виде блок-схемы.

Задача 21. Напишите программу, которая решает линейное уравнение вида: A1•x + B1•y = C1, A2•x + B2•y = C2, заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение.

Задача 21а. Составить и записать алгоритм задачи 21 в виде блок-схемы.

Задача 22. Дано целое четырехзначное число. Используя операции / и %, напишите программу, которая находит сумму его цифр.

Задача 22а. Составить и записать алгоритм задачи 22 в виде блок-схемы.

Задача 23. Дано целое четырехзначное число. Используя операции / и %, напишите программу, которая находит произведение его цифр.

Задача 23а. Составить и записать алгоритм задачи 23 в виде блок-схемы.

Задача 24. Проверить истинность высказывания: "Квадратное уравнение A•x2 + B•x + C = 0 с данными коэффициентами A, B, C имеет вещественные корни". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 24а. Составить и записать алгоритм задачи 24 в виде блок-схемы.

Задача 25. Проверить истинность высказывания: "Данные числа x, y являются координатами точки, лежащей во второй координатной четверти". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 25а. Составить и записать алгоритм задачи 25 в виде блок-схемы.

Задача 26. Проверить истинность высказывания: "Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 26а. Составить и записать алгоритм задачи 26 в виде блок-схемы.

Задача 27. Проверить истинность высказывания: "Точка с координатами (x, y) лежит внутри прямоугольника, левая верхняя вершина которого имеет координаты (x1, y1), правая нижняя — (x2, y2), а стороны параллельны координатным осям". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 27а. Составить и записать алгоритм задачи 27 в виде блок-схемы.

Задача 28. Проверить истинность высказывания: "Данное целое число является четным двузначным числом". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 28а. Составить и записать алгоритм задачи 28 в виде блок-схемы.

Задача 29. Проверить истинность высказывания: "Данное целое число является нечетным трехзначным числом". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 29а. Составить и записать алгоритм задачи 29 в виде блок-схемы.

Задача 30. Проверить истинность высказывания: "Среди трех данных целых чисел есть хотя бы одна пара совпадающих". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 30а. Составить и записать алгоритм задачи 30 в виде блок-схемы.

Задача 31. Проверить истинность высказывания: "Среди трех данных целых чисел есть хотя бы одна пара взаимно противоположных". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 31а. Составить и записать алгоритм задачи 31 в виде блок-схемы.

Задача 32. Проверить истинность высказывания: "Все цифры данного трехзначного числа различны". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 32а. Составить и записать алгоритм задачи 32 в виде блок-схемы.

Задача 33. Проверить истинность высказывания: "Цифры данного трехзначного числа образуют геометрическую прогрессию". Выведите 1 если высказывание истинно, 0 в противном случае.

Задача 33а. Составить и записать алгоритм задачи 33 в виде блок-схемы.

Задача 34. Дано: int x=1, y=0, z=1, u=3. Определите (самостоятельно или написав программу) значения логических выражений.

 
а) x||y		г) (x||y)&&(x||z)	ж) !x&&(y||z)
б) x&&y		д) (x&&y)&&(!x&&z)	з) (!x&&y||u)&&y
в) !x		е) (x||y||z)&&y		и) (x||u)||(!y&&z)

Задача 35. Решите квадратное уравнение. Для этого введите с экрана коэффициенты квадратного уравнения, вычислите корни уравнения известным вам способом и выведите их на экран. Если уравнение не имеет корней, выведите сообщение об этом на экран.

Задача 35а. Составить и записать алгоритм задачи 35 в виде блок-схемы.

Задача 36. Напишите программу, которая определяет наибольшее из трех чисел. Числа должны вводиться с клавиатуры.

 
#include 
void main()
{ 
 int x,y,z,max;  
 printf("Введите три числа:\n");  
 scanf("%d %d %d",&x,&y,&z);
 if(x>y)
   max=x; 
 else
   max=y; 
 if(z>max) 
   max=z; 
 printf(" Максимальное из(%d,%d,%d)= %d \n",x,y,z,max); 
}

Задача 37. Напишите программу, которая из трех данных чисел находит наименьшее.

Задача 37а. Составить и записать алгоритм задачи 37 в виде блок-схемы.

Задача 38. Напишите программу, которая из трех данных чисел находит наименьшее и наибольшее.

Задача 38а. Составить и записать алгоритм задачи 38 в виде блок-схемы.

Задача 39. С помощью операции условия ?: найдите максимум и минимум двух чисел, а также абсолютное значение числа.

Задача 40. Даны два числа. Напишите программу, которая находит среднее арифметическое их квадратов и среднее арифметическое их модулей.

Задача 40а. Составить и записать алгоритм задачи 40 в виде блок-схемы.

Задача 41. Поменять значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — большее.

Задача 41а. Составить и записать алгоритм задачи 41 в виде блок-схемы.

Задача 42. Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.

Задача 42а. Составить и записать алгоритм задачи 42 в виде блок-схемы.

Задача 43. Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по убыванию.

Задача 43а. Составить и записать алгоритм задачи 43 в виде блок-схемы.

Задача 44. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения.

Задача 44а. Составить и записать алгоритм задачи 44 в виде блок-схемы.

Задача 45. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения.

Задача 45а. Составить и записать алгоритм задачи 45 в виде блок-схемы.

Задача 46. Даны три переменные: X, Y, Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.

Задача 46а. Составить и записать алгоритм задачи 46 в виде блок-схемы.

Задача 47. Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.

Задача 47а. Составить и записать алгоритм задачи 47 в виде блок-схемы.

Задача 48. Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то вывести 0. Если точка совпадает с началом координат, то вывести 1. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 2 или 3.

Задача 48а. Составить и записать алгоритм задачи 48 в виде блок-схемы.

Задача 49. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.

Задача 49а. Составить и записать алгоритм задачи 49 в виде блок-схемы.

Задача 50. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.

Задача 50а. Составить и записать алгоритм задачи 50 в виде блок-схемы.

Задача 51. Дан номер некоторого года (положительное целое число). Вывести соответствующий ему номер столетия, учитывая, что, к примеру, началом 20 столетия был 1901 год.

Задача 51а. Составить и записать алгоритм задачи 51 в виде блок-схемы.

Задача 52. Напишите программу, которая решает уравнение a*x=b для различных значений коэффициентов a и b, вводимых с клавиатуры.

 
#include  
void main()
{   
 float a,b,x;
 printf("Введите a и b \n");
 scanf("%f %f",&a,&b);
 if(a!=0)
  printf("Решение:%f\n", b/a);
 else 
  if(b==0)
   printf("x-любое число\n");
  else
   printf("решений нет \n");
}

Задача 53. Дан номер некоторого года (положительное целое число). Вывести число дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

Задача 53а. Составить и записать алгоритм задачи 53 в виде блок-схемы.

Задача 54. Как Вы знаете, действительные числа делятся на положительные, отрицательные и 0. Напишите программу, которая определяет, к какому из этих классов относится число.

 
#include
#include
void main()
{
 clrscr();
 float x;
 printf("Введите число \n");
 scanf("%f",&x);
 if(x>0) printf("число положительное");
 if(x<0) printf("число отрицательное");
 if(x==0) printf("равно нулю");
 getch();
}

Задача 55. Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку - словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д.

Задача 55а. Составить и записать алгоритм задачи 55 в виде блок-схемы.

Задача 56. Дано целое число, лежащее в диапазоне от 1 до 9999. Вывести строку - словесное описание данного числа вида "четное двузначное число", "нечетное четырехзначное число" и т.д.

Задача 56а. Составить и записать алгоритм задачи 56 в виде блок-схемы.

Задача 57. Дан номер месяца (1 - январь, 2 - февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).

Задача 57а. Составить и записать алгоритм задачи 57 в виде блок-схемы.

Задача 58. Дан номер месяца (1 - январь, 2 - февраль, ...). Вывести число дней в этом месяце для невисокосного года.

Задача 58а. Составить и записать алгоритм задачи 58 в виде блок-схемы.

Задача 59. Дано целое число в диапазоне 0 - 9. Вывести строку - название соответствующей цифры на русском языке (0 - "ноль", 1 - "один", 2 - "два", ...).

Задача 59а. Составить и записать алгоритм задачи 59 в виде блок-схемы.

Задача 60. Напишите программу, которая в зависимости от введенной оценки в пятибалльной шкале выводит на экран: «плохо», «неудовлетворительно», …. Учтите, что оценок меньше 1 и больше 5 не бывает.

Задача 60а. Составить и записать алгоритм задачи 60 в виде блок-схемы.

Задача 61. Арифметические действия над числами пронумерованы следующим образом: 1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.

Задача 61а. Составить и записать алгоритм задачи 61 в виде блок-схемы.

Задача 62. Единицы длины пронумерованы следующим образом: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.

Задача 62а. Составить и записать алгоритм задачи 62 в виде блок-схемы.

Задача 63. Единицы массы пронумерованы следующим образом: 1 - килограмм, 2 - миллиграмм, 3 - грамм, 4 - тонна, 5 - центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.

Задача 63а. Составить и записать алгоритм задачи 63 в виде блок-схемы.

Задача 64. Робот может перемещаться в четырех направлениях ("С" - север, "З" - запад, "Ю" - юг, "В" - восток) и принимать три цифровые команды: 0 - продолжать движение, 1 - поворот налево, –1 - поворот направо. Дан символ C - исходное направление робота и число N - посланная ему команда. Вывести направление робота после выполнения полученной команды.

Задача 64а. Составить и записать алгоритм задачи 64 в виде блок-схемы.

Задача 65. Локатор ориентирован на одну из сторон света ("С" - север, "З" - запад, "Ю" - юг, "В" - восток) и может принимать три цифровые команды: 1 - поворот налево, –1 - поворот направо, 2 - поворот на 180 градусов. Дан символ C - исходная ориентация локатора и числа N1 и N2 - две посланные ему команды. Вывести ориентацию локатора после выполнения данных команд.

Задача 65а. Составить и записать алгоритм задачи 65 в виде блок-схемы.

Задача 66. Элементы окружности пронумерованы следующим образом: 1 - радиус (R), 2 - диаметр (D), 3 - длина (L), 4 - площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения Pi использовать 3.14.

Задача 66а. Составить и записать алгоритм задачи 66 в виде блок-схемы.

Задача 67. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 - катет (a), 2 - гипотенуза (c), 3 - высота, опущенная на гипотенузу (h), 4 - площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

Задача 67а. Составить и записать алгоритм задачи 67 в виде блок-схемы.

Задача 68. Элементы равностороннего треугольника пронумерованы следующим образом: 1 - сторона (a), 2 - радиус вписанной окружности (R1), 3 - радиус описанной окружности (R2), 4 - площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

Задача 68а. Составить и записать алгоритм задачи 68 в виде блок-схемы.

Задача 69. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

Задача 69а. Составить и записать алгоритм задачи 69 в виде блок-схемы.

Задача 70. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.

Задача 70а. Составить и записать алгоритм задачи 70 в виде блок-схемы.

Задача 71. Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах). Вывести строку - словесное описание указанного возраста, обеспечив правильное согласование числа со словом "год", например: 20 - "двадцать лет", 32 - "тридцать два года", 41 - "сорок один год".

Задача 71а. Составить и записать алгоритм задачи 71 в виде блок-схемы.

Задача 72. Дано целое число в диапазоне 100 – 999. Вывести строку - словесное описание данного числа, например: 256 - "двести пятьдесят шесть", 814 - "восемьсот четырнадцать".

Задача 72а. Составить и записать алгоритм задачи 72 в виде блок-схемы.

Задача 73. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, если 1984 год был началом цикла - годом зеленой крысы.

Задача 73а. Составить и записать алгоритм задачи 73 в виде блок-схемы.

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

Задача 74а. Составить и записать алгоритм задачи 74 в виде блок-схемы.

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

Задача 75а. Составить и записать алгоритм задачи 75 в виде блок-схемы.

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

Задача 76а. Составить и записать алгоритм задачи 76 в виде блок-схемы.

Задача 77. Напишите программу, которая выводит на экран целые числа от 1 до 50 и их квадраты.

 
#include 
#include 
void main()
{
 clrscr();
 for(int i=0;i<50;i++)
  printf("%d %d \n",i,i*i);
 getch();
}

Задача 78. Вывести на экран числа, квадрат которых не превышает заданного числа N. Используйте цикл for.

Задача 78а. Составить и записать алгоритм задачи 78 в виде блок-схемы.

Задача 79. На основе задачи 78, напишите программу, которая выводит числа 1, 1.4, 1.8, … и их квадраты. Условие завершения цикла оставьте прежним.

Задача 79а. Составить и записать алгоритм задачи 79 в виде блок-схемы.

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

Задача 80а. Составить и записать алгоритм задачи 80 в виде блок-схемы.

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

Задача 81а. Составить и записать алгоритм задачи 81 в виде блок-схемы.

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

Задача 82а. Составить и записать алгоритм задачи 82 в виде блок-схемы.

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

Задача 83а. Составить и записать алгоритм задачи 83 в виде блок-схемы.

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

Задача 84а. Составить и записать алгоритм задачи 84 в виде блок-схемы.

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

Задача 85а. Составить и записать алгоритм задачи 85 в виде блок-схемы.

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

Задача 86а. Составить и записать алгоритм задачи 86 в виде блок-схемы.

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

Задача 87а. Составить и записать алгоритм задачи 87 в виде блок-схемы.

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

Задача 88а. Составить и записать алгоритм задачи 88 в виде блок-схемы.

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

Задача 89а. Составить и записать алгоритм задачи 89 в виде блок-схемы.

Задача 90. Дано целое число N (> 0). Вывести сумму

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

Задача 90а. Составить и записать алгоритм задачи 90 в виде блок-схемы.

Задача 91. Дано вещественное число X и целое число N (> 0). Вывести

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

Задача 91а. Составить и записать алгоритм задачи 91 в виде блок-схемы.

Задача 92. Дано вещественное число X и целое число N (> 0). Вывести

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

Задача 92а. Составить и записать алгоритм задачи 92 в виде блок-схемы.

Задача 93. Дано вещественное число X и целое число N (> 0). Вывести

 
1 – X2/2! + X4/4! – ... + (–1) N X2N/(2N)! 
(N! = 1•2•...•N). Полученное число является приближенным значением функции cos() в точке X.

Задача 93а. Составить и записать алгоритм задачи 93 в виде блок-схемы.

Задача 94. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести

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

Задача 94а. Составить и записать алгоритм задачи 94 в виде блок-схемы.

Задача 95. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести

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

Задача 95а. Составить и записать алгоритм задачи 95 в виде блок-схемы.

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

Задача 96а. Составить и записать алгоритм задачи 96 в виде блок-схемы.

Задача 97. Дано целое число 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).

Задача 97а. Составить и записать алгоритм задачи 97 в виде блок-схемы.

Задача 98. Дано число D (> 0). Последовательность чисел AN определяется следующим образом:

A1 = 2, AN = 2 + 1/AN-1, N = 2, 3, ...
Найти первый из номеров K, для которых выполняется условие | AK – AK-1 | < D, и вывести этот номер, а также числа AK-1 и AK.

Задача 98а. Составить и записать алгоритм задачи 98 в виде блок-схемы.

Задача 99. Дано число D (> 0). Последовательность чисел AN определяется следующим образом:

A1 = 1, A2 = 2, AN = (AN-2 + AN-1)/2, N = 3, 4, ...
Найти первый из номеров K, для которых выполняется условие | AK - AK-1| < D, и вывести этот номер, а также числа AK-1и AK.

Задача 99а. Составить и записать алгоритм задачи 99 в виде блок-схемы.

Задача 100. Выведите на экран таблицу умножения. Подсказка: используйте вложенные циклы for.

Задача 100а. Составить и записать алгоритм задачи 100 в виде блок-схемы.

Задача 101. Выведите на экран числа от –30 до 30 и соответствующие им значения функции 1/x.

Задача 101а. Составить и записать алгоритм задачи 101 в виде блок-схемы.

Задача 102. Последовательность Фибоначчи, как и любая другая последовательность, представляет собой ряд чисел. Первый и второй члены этой последовательности равны 1: F1 = F2 = 1, остальные члены последовательности определяются общей формулой Fn = Fn - 1 + Fn - 2 , т.е. n-ный член последовательности равен сумме двух предыдущих. Выведите на экран все члены последовательности Фибоначчи, не превосходящие заданного числа m.

#include 
void main()
{
 int m, k, j=1;
 printf("введи m\n");
 scanf("%d",&m);
 for(k=1;k<=m;k=k+j)
 {
  printf("%d",k);
  j=k-j;
 }
}

Задача 103. Напишите программу, которая определяет сумму цифр введенного с клавиатуры целого числа N.

#include 
void main()
{
 int N,s,z;
 s=0;
 printf("Введите целое число \n");
 scanf("%d",&N);
 while(N!=0)
 {
  z=N%10;
  N=N/10;
  s=s+z;
 };
 printf("Сумма цифр равна %d \n",s);
}

Задача 104. Напишите программу, которая раскладывает числа на простые множители.

#include 
#include 
void main()
{
 int M,i=3;
 clrscr();
 printf("Введите целое число M\n");
 scanf("%d",&M);
 printf("%d=1",M);
 while(M%2==0)
 {
  printf("*%d",2);
  M=M/2;
 };
 while(i<=M)
 {
  if(M%i==0)
  {
   printf("*%d",i);
   M=M/i;
  }
  else
   i=i+2;
 }
getch();
}

Задача 105. Напишите программу, которая выводит на экран прямоугольный треугольник, заполненный символами “*”, высота которого равна N. Используйте вложенные циклы while.

#include 
void main()
{
 int i,j,N;
 printf("Введите целое N \n");
 scanf("%d",&N);
 i=1;

 while(i <=N)
 {
  j=1;
  while(j <=i)
  {
   printf("%c",'*');
   j=j+1;
  };
  i=i+1;
  printf("\n");
 }
}
Задача 106. Напишите программу, которая позволяет найти в заданном интервале все совершенные числа. Напомним, что натуральное число называется совершенным, если оно равно сумме всех своих делителей, не считая его самого.
#include 
void main()
{
 int M=1000;
 for (int N=2;N<=M;N++){
  int S=0;
  for (int i=1;i<=N-1;i++)
   if (N%i==0) S+=i;
  if(S==N) printf("%d ",N);
 }
}

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

Задача 107а. Составить и записать алгоритм задачи 107 в виде блок-схемы.

Задача 108. Дан массив размера N. Вывести его элементы в обратном порядке.

Задача 108а. Составить и записать алгоритм задачи 108 в виде блок-схемы.

Задача 109. Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем - с нечетными.

Задача 109а. Составить и записать алгоритм задачи 109 в виде блок-схемы.

Задача 110. Дан целочисленный массив A размера 10. Вывести номер первого из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[0] < A[i] < A[9]. Если таких элементов нет, то вывести 0.

Задача 110а. Составить и записать алгоритм задачи 110 в виде блок-схемы.

Задача 111. Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам первый элемент. Первый и последний элементы массива не изменять.

Задача 111а. Составить и записать алгоритм задачи 111 в виде блок-схемы.

Задача 112. Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем - нечетные.

Задача 112а. Составить и записать алгоритм задачи 112 в виде блок-схемы.

Задача 113. Поменять местами минимальный и максимальный элементы массива размера 10.

Задача 113а. Составить и записать алгоритм задачи 113 в виде блок-схемы.

Задача 114. Заменить все положительные элементы целочисленного массива размера 10 на значение минимального.

Задача 114а. Составить и записать алгоритм задачи 114 в виде блок-схемы.

Задача 115. Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.

Задача 115а. Составить и записать алгоритм задачи 115 в виде блок-схемы.

Задача 116. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию.

Задача 116а. Составить и записать алгоритм задачи 116 в виде блок-схемы.

Задача 117. Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива вправо на k позиций.

Задача 117а. Составить и записать алгоритм задачи 117 в виде блок-схемы.

Задача 118. Проверить, образуют ли элементы целочисленного массива размера N арифметическую прогрессию. Если да, то вывести разность прогрессии, если нет - вывести 0.

Задача 118а. Составить и записать алгоритм задачи 118 в виде блок-схемы.

Задача 119. Проверить, образуют ли элементы целочисленного массива размера N геометрическую прогрессию. Если да, то вывести знаменатель прогрессии, если нет - вывести 0.

Задача 119а. Составить и записать алгоритм задачи 119 в виде блок-схемы.

Задача 120. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.

Задача 120а. Составить и записать алгоритм задачи 120 в виде блок-схемы.

Задача 121. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.

Задача 121а. Составить и записать алгоритм задачи 121 в виде блок-схемы.

Задача 122. Дан массив размера N. Найти количество его локальных минимумов.

Задача 122а. Составить и записать алгоритм задачи 122 в виде блок-схемы.

Задача 123. Дан массив размера N. Найти количество его локальных максимумов.

Задача 123а. Составить и записать алгоритм задачи 123 в виде блок-схемы.

Задача 124. Дан массив размера N. Найти максимальный из его локальных минимумов.

Задача 124а. Составить и записать алгоритм задачи 124 в виде блок-схемы.

Задача 125. Дан массив размера N. Найти минимальный из его локальных максимумов.

Задача 125а. Составить и записать алгоритм задачи 125 в виде блок-схемы.

Задача 126. Дан массив размера N. Определить количество участков, на которых его элементы монотонно возрастают.

Задача 126а. Составить и записать алгоритм задачи 126 в виде блок-схемы.

Задача 127. Дано вещественное число R и массив размера N. Найти элемент массива, который наиболее близок к данному числу.

Задача 127а. Составить и записать алгоритм задачи 127 в виде блок-схемы.

Задача 128. Дано вещественное число R и массив размера N. Найти два элемента массива, сумма которых наименее близка к данному числу.

Задача 128а. Составить и записать алгоритм задачи 128 в виде блок-схемы.

Задача 129. Дан массив размера N. Найти номера двух ближайших чисел из этого массива.

Задача 129а. Составить и записать алгоритм задачи 129 в виде блок-схемы.

Задача 130. Дан целочисленный массив размера N. Определить максимальное количество его одинаковых элементов.

Задача 130а. Составить и записать алгоритм задачи 130 в виде блок-схемы.

Задача 131. Дан целочисленный массив размера N. Обнулить все элементы массива, встречающиеся более двух раз.

Задача 131а. Составить и записать алгоритм задачи 131 в виде блок-схемы.

Задача 132. Дано число k (0 < k < 11) и матрица размера 4x10. Найти сумму и произведение элементов k-го столбца данной матрицы.

Задача 132а. Составить и записать алгоритм задачи 132 в виде блок-схемы.

Задача 133. Дана матрица размера 5x9. Найти суммы элементов всех ее четных столбцов.

Задача 133а. Составить и записать алгоритм задачи 133 в виде блок-схемы.

Задача 134. Дана матрица размера 5x10. Найти максимальное значение в каждой строке.

Задача 134а. Составить и записать алгоритм задачи 134 в виде блок-схемы.

Задача 135. Дана квадратная матрица порядка M. Найти сумму элементов ее главной диагонали.

Задача 135а. Составить и записать алгоритм задачи 135 в виде блок-схемы.

Задача 136. Дана квадратная матрица порядка M. Заменить нулями элементы матрицы, лежащие выше главной диагонали.

Задача 136а. Составить и записать алгоритм задачи 136 в виде блок-схемы.

Задача 137. Дана квадратная матрица порядка M. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.

Задача 137а. Составить и записать алгоритм задачи 137 в виде блок-схемы.

Задача 138. Дана квадратная матрица порядка M. Зеркально отразить ее элементы относительно главной диагонали матрицы.

Задача 138а. Составить и записать алгоритм задачи 138 в виде блок-схемы.

Задача 139. Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

Задача 139а. Составить и записать алгоритм задачи 139 в виде блок-схемы.

Задача 140. Дана строка. Вывести коды ее первого и последнего символа.

Задача 140а. Составить и записать алгоритм задачи 140 в виде блок-схемы.

Задача 141. Дана строка, изображающая целое число. Вывести сумму цифр этого числа.

Задача 141а. Составить и записать алгоритм задачи 141 в виде блок-схемы.

Задача 142. Дана строка-предложение на русском языке. Зашифровать ее, выполняя циклическую замену каждой буквы на следующую за ней в алфавите и сохраняя при этом регистр букв ("А" перейдет в "Б", "а" - в "б", "Б" - в "В", "я" - в "а" и т.д.). Букву "ё" в алфавите не учитывать ("е" должна переходить в "ж"). Знаки препинания и пробелы не изменять.

Задача 142а. Составить и записать алгоритм задачи 142 в виде блок-схемы.

Задача 143. Дано зашифрованное предложение на русском. Расшифровать предложение.

Задача 143а. Составить и записать алгоритм задачи 143 в виде блок-схемы.

Задача 144. Напишите программу, которая изменяет порядок следования элементов массива на обратный без привлечения вспомогательного массива.

#include 
void main()
{
 int p,i=0;
 int a[10]={10,11,12,13,14,15,16,17,18,19};
 while(i<10/2)
 {
  p=a[i];
  a[i]=a[9-i];
  a[9-i]=p;
  i++;
 }
 i=0;
 while(i<10)
  printf(" %d",a[i++]);
}

Задача 145. Даны N чисел. Вывести на экран всевозможные их перестановки.

Задача 145а. Составить и записать алгоритм задачи 145 в виде блок-схемы.

Задача 146. «Роботы»- Сообщество роботов живет по следующим законам: -один раз в начале года они объединяются в группы по три или пять роботов; -за год группа из 3 роботов собирает 5 новых, а группа из 5 роботов собирает 9 новых; -роботы объединяются так, чтобы собрать за год наибольшее количество новых роботов; -каждый робот живет три года после сборки. Известно, что начальное количество роботов равно k и все они только что собраны. Сколько роботов будет через n лет?

Задача 146а. Составить и записать алгоритм задачи 146 в виде блок-схемы.

Задача 147. Даны два упорядоченных по возрастанию одномерных массива. Составить из них третий массив, упорядоченный по убыванию.

Задача 147а. Составить и записать алгоритм задачи 147 в виде блок-схемы.

Задача 148. Дана квадратная матрица размеров n*n. Найти суммы элементов, параллельных относительно главной диагонали и определить наибольшую из полученных сумм.

Задача 148а. Составить и записать алгоритм задачи 148 в виде блок-схемы.

Задача 149*. Даны два одномерных массива натуральных чисел размерности n. Поменять местами элементы массивов так, чтобы сумма первых элементов массивов была не меньше суммы вторых элементов, сумма вторых элементов не меньше суммы третьих и т.д. Причем это надо сделать так, чтобы сумма последних элементов оказалась наибольшей. (Менять местами можно не только элементы одного массива, но и элементы разных массивов).

Задача 150. Из заданной строки выбрать и напечатать те символы, которые встречаются в ней ровно один раз (в том порядке, как они встречаются в строке).

Задача 150а. Составить и записать алгоритм задачи 150 в виде блок-схемы.

Задача 151. «Академгородок» - Территория академгородка задается прямоугольной матрицей, состоящей из 0 и 1 и отражающую информацию о территории. 1-если строение, 0-если зеленое насаждение. Написать программу, которая по заданной матрице: подсчитывает площадь отведенную под строения, если единица на плане соответствует 20м*20м=400 кв.м; определить общий периметр зеленого насаждения, если сторона одной "клетки" равна 20м.

Задача 151а. Составить и записать алгоритм задачи 151 в виде блок-схемы.

Задача 152. Найдите адрес 5-го элемента массива.

#include
#include
void main()
{
 clrscr();
 int arr[10]={5,23,45,67,13,42,52,13,6,15};
 printf("%p \n",&arr[4]);
 printf("%p",arr+4);  
 getch();
}

Задача 153. Используя цикл и функцию, рисующую простую геометрическую фигуру, например линию, напишите программу рисующую сложную фигуру на экране.

#include
#include
#include
#include
void main()
{
 int gdriver=DETECT,gmode=0;
 initgraph(&gdriver,&gmode,"h:\\bc\\bgi");
 for(int i=0;i<1000;i++)
 {
  line(0,0,640,5*i);
  delay(20);
 };
 getch();
 closegraph();
}

Задача 154. На основе программы задачи 31, напишите свою программу с использованием цикла и следующей функции:

а) circle();	в) rectangle()
б) arc();	г) ellipse()

Задача 155. Нарисуйте график следующих функции для положительных значений x:

а) x^2 		в) exp(x) 	д) log(1+x)  
б) x^3/10 	г) sqrt(x) 	е) sin(x)

Задача 156. При построении графика функции всегда следует подбирать увеличение по оси x и по оси y. В противном случае на экране вместо графика функции вы можете увидеть линию, точку, или вообще ничего не увидеть. Подберите для графиков функций из задачи 33 наилучшее увеличение по оси x и по оси y. Ниже приведена программа для случая е), где за увеличение по оси x и по оси y отвечают коэффициенты a и b соответственно.

#include
#include
#include
#include
void main()
{
 float x=1,y;
 int x0=0,y0=240;
 float a=10,b=50;
 int gdriver=DETECT,gmode=1;
 initgraph(&gdriver,&gmode,"h:\\bc\\bgi");
 moveto(x0,y0);
 setcolor(9);
 for(int i=0;(a*x)<640.0;i++)
 {
  x=i/100.0;
  y=sin(x);
  lineto(int(a*x)+x0,y0-int(b*y));
  delay(1);
 };
 getch();
 closegraph();
}

Задача 157. Функция random(N) генерирует псевдослучайное число типа int из диапазона 0-(N-1). Генератор случайных чисел инициализируется функцией randomize(). Эти функции определены в заголовочном файле stdlib.h. С помощью данных функций можно создавать рисунки, которые трудно получить сочетанием математических и графических функций. Напишите программу, которая бы использовала эти функции для рисования необычных фигур или даже анимаций на экране монитора. Одна из таких программ приведена ниже.

#include 
#include 
#include 
#include 
void main()
 {
 int x,y,x1,y1,x2,y2,x3,y3;
 int driver=DETECT, mode=0;
 initgraph(&driver,&mode,"h:\\bc\\bgi");
 randomize();
 setfillstyle(0,BLACK);
 setcolor(BLACK);

 for(int i=1;i<1000;i++)
 {
  x=random(640);
  y=random(480);
  putpixel(x,y,LIGHTBLUE);

  x1=random(640);
  y1=random(480);
  putpixel(x1,y1,WHITE);

  x2=random(640);
  y2=random(480);
  fillellipse(x2,y2,10,10);

  x3=random(640);
  y3=random(480);
  fillellipse(x3,y3,10,10);

  delay(50);
  };
  getch();
  closegraph();
 }
 

Задача 158. Напишите программу, реализующую стрелочные часы на экране. Используйте функцию gettime() из заголовочного файла dos.h.

Задача 158а. Составить и записать алгоритм задачи 158 в виде блок-схемы.

Задача 159*. На плоскости даны n точек с положительными целыми координатами. Через две из них провести две, максимально удаленные друг от друга, параллельные прямые так чтобы все остальные точки оказались внутри этих прямых. (Каждая прямая проходит только через одну точку данного множества точек). Требования: координаты точек следует задать в массиве размеров 2*n. Вывести расстояние между построенными прямыми, а также нарисовать на экране соответствующий рисунок.

Задача 160. Напишите программу, в которой окружность двигалась бы по экрану, отражаясь от стенок экрана, подобно шару в бильярде.

#include 
#include 
#include 
int x,y;
int x0=120;
int y0=240;
int vx=4;
int vy=3;
int dt=1;
int b=10;
void main()
{
 int driver=DETECT, mode=0;
 initgraph(&driver,&mode,"h:\\bc\\bgi");
 setcolor(1);
 x=x0;
 y=y0;
 for (int t=0; t<590; t++)
 {
  setcolor(0);
  circle(x,y,b);
  x=x+vx*dt;
  y=y+vy*dt;
  if(x(640-b))vx=-vx;
  if(y>(480-b))vy=-vy;
  setcolor(1);
  circle(x,y,b);
  delay(20);
 };
 closegraph();
}

Задача 161. Модифицируйте программу задачи 160, так чтобы окружность в своем движении притягивалась бы к нижней стороне экрана, подобно тому, как если бы было гравитационное поле.

#include 
#include 
#include 
int x,y;
int x0=120;
int y0=240;
float vx=4;
float vy=3;
int dt=1;
int b=10;
float g=0.1;
void main()
{
 int driver=DETECT, mode=0;
 initgraph(&driver,&mode,"h:\\bc\\bgi");
 setcolor(1);
 x=x0;
 y=y0;
 for (int t=0; t<590; t++)
 {
  setcolor(0);
  circle(x,y,b);
  x=x+int(vx*dt);
  y=y+int(vy*dt);
  vy=vy+g*dt;
  if(x(640-b))vx=-vx;
  if(y>(480-b))vy=-vy;
  setcolor(1);
  circle(x,y,b);
  delay(20);
 };
 closegraph();
}

Задача 162. Модифицируйте программу задачи 32 так, чтобы мячик (окружность) при каждом ударе о стенку терял бы энергию. Считайте, что при каждом ударе скорость мячика по обеим осям уменьшается в a раз.

Задача 163. Модифицируйте программу задачи 32, введя в рассмотрение сопротивление воздуха, т.е. в каждый момент времени скорость по каждой из осей уменьшается в b раз. Подберите такое значение параметра b чтобы мячик успел несколько раз отразиться от стенок перед тем как остановится.

Задача 164. Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке.
Автор: Ильин Александр (преподаватель отделения "Долгопрудный")
Под руководством: Максименков Дмитрий (преподаватель отделения "Молодежная")

 









Mail to Webmaster

Hosted by uCoz