Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






по тематическому блоку №1

ЗАДАЧИ

 

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

а) 1, 5, 2, 4, 3, 6, 10, 7, 9, 8, … б) 1, 100, 99, 2, 98, 97, 96, 3, 95, 94, 93, 92, … в) 0, 10, 11, 20, 21, 22, 30, 31, 32, 33, …

Задача 2. Рассчитайте сумму первых 100 членов ряда, описываемого формулой: i / (100-i)! (i – номер элемента ряда; расчет значения факториала необходимо реализовать в виде самостоятельной функции.

 

Задача 3. Дана функция f = a * sin(w * t), где t – время в секундах. Параметры a и w – постоянные и вводятся с клавиатуры. Необходимо с использованием метода прямоугольников приближенно рассчитать значение интеграла функции f на интервале 0-50 секунд (шаг интегрирования – 0,1 секунды).

Задача 4. С клавиатуры вводится положительное целое число N. Необходимо вывести на экран все простые числа, не превышающие N.

 

Задача 5 (Выполняется без использования компьютера!). Массивы А и В из пяти целых заполнены единицами. Какими числами (указать в порядке следования) будут заполнены массивы после выполнения следующего фрагмента программы:

а)

i=0; k=4;

while (i<5)

{ B[k] = 0;

for (j=0; j<i; j++)

{ B[k]+=A[j]; A[j]=B[k]; };

k--;

i++;

};

 

б)

i=0; s=0;

for (i=0; i<5; i+=2)

{

s += A[i];

j = 0;

while (i+j < 5) { B[i+j] = s; j++; }

}

 

Задача 6. В массиве A[10] задана последовательность чисел: 3, 4, 6, 2, 1, 7, 9, 0, 12, 2.

Описаны также целочисленные переменные I, K, X. Каков смысл (охарактеризуйте цель работы данного алгоритма словесно) и каков результат выполнения следующего фрагмента программы:

X = 0; K = 0;

for (I=0; I<3; X+=A[I], I++);

for (I=1; I < 8; I++)

{

S = A[I] + A[I+1] + A[I+2];

if (S > X)

{

X = S;

K = I;

}

};

for (I=0;I<3;I++)

printf (“%d ”, K+I);

 

Задача 7. Задан (и уже заполнен положительными числами) массив int A[50]. Необходимо написать фрагмент программы, который:

а) выведет на экран число, чаще всех остальных встречающееся в массиве А (для данного фрагмента программы построить блок-схему алгоритма);

б) рассчитает сумму чисел, являющихся квадратами каких-либо прочих элементов массива;

в) выведет числа из массива в виде таблицы, в которой номер строки будет соответствовать минимальному количеству десятков, которое превосходят соответствующие элементы массива. Например:

1) 8, 4, 6

2) 19, 17, 10, 12

3) 22, 28

...

Задача 8. С клавиатуры вводится текущая дата с указанием дня недели. Необходимо:

а) написать программу, в которой (после ввода текущей даты и дня недели) с клавиатуры будут циклически вводиться другие даты без указания дня недели (признак окончания ввода – нулевой год) и выводиться на экран соответствующие этим датам названия дней недели (даты – с годами от нуля до плюс бесконечности);

б) изменить программу, реализовав расчет дня недели в виде самостоятельной функции, получающей две даты и одно название дня недели в качестве входных параметров;

в) вывести на экран в табличной форме (столбцы – дни недели) календарь на текущий месяц.

Порядок представления дат в программе – произвольный.

 

Задача 9. Жесткий стержень АВ длиной L опирается вершинами о пол (вершина А) и стену (вершина В). Необходимо промоделировать изменение координаты Y вершины В в процессе скольжения стержня в вертикальной плоскости вдоль стены (в начальный момент вершина А отстоит от стены на расстояние b, после чего начинает двигаться по линии пола с постоянной скоростью V). Шаг моделирования принять равным Q = 1/24 с.

а) Необходимо изобразить схему алгоритма, позволяющего промоделировать процесс и его изменение в зависимости от заданных значений b, V и L;

б) Разработать программу, моделирующую процесс с учетом возможности изменения заданных значений b, V и L.

______________________________________________________

 
 

 


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

используемое при решении задачи:

 

XA = b + V t, YA = 0 =>

YB = (L2 - (b + V t)2)1/2

 

 

Задача 10. Опишите структуры данных, которые могут сохранить информацию о состоянии «кубика Рубика», и объясните, как будут фиксироваться данные о цвете и размещении клеток.

 

Задача 11. Площадка терминала, отведенная для размещения контейнеров с грузами, позволяет разместить 5 рядов по 40 контейнеров. Допускается складирование контейнеров в «один на другой», но не более, чем в 3 яруса. Каждый контейнер характеризуется номером, наименованиями отправителя и получателя (оба наименования – не более 30 символов). Необходимо:

а) описать структуры данных, необходимые для хранения информации о текущей загрузке площадки;

б) реализовать фрагмент программы, который позволит внести с клавиатуры все данные о размещении и характеристиках всех имеющихся контейнеров (учитывать, что терминал может быть загружен не полностью);

в) реализовать фрагмент программы, который позволит вывести на экран точные координаты всех контейнеров, имеющих заданную (введенную с клавиатуры) пару «отправитель – получатель»;

г) реализовать фрагмент программы, который производит расчет общего количества пустых позиций для контейнеров на терминале;

д) реализовать фрагмент программы, который сможет «ответить на вопрос»: существует ли возможность размещения всех имеющихся контейнеров «в один слой» (на 1-ом ярусе)?

е) предложить (с использованием динамических структур данных) вариант описания данных о загрузке терминала (такой, при котором количество блоков данных о характеристиках контейнеров будет строго соответствовать общему числу имеющихся контейнеров);

ж) используя структуры данных, предложенные для пункта (е), выполнить задания пунктов (в) и (г).

 

Задача 12. С клавиатуры вводится размерность динамического массива целых. После этого в программе необходимо создать указанный динамический массив, заполнить его числами с клавиатуры и выполнить следующие действия:

а) рассчитать, сколько элементов массива могли бы быть корректно представлены типом char;

б) поменять местами элементы массива, симметричные (по значению индекса) относительно среднего элемента;

в) вывести элементы массива в порядке убывания;

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

 

Задача 13. Секция ячеек автоматической камеры хранения имеет планировку «4 ячейки в высоту – 15 ячеек в ширину». Каждая ячейка характеризуется информацией о занятости («занята/свободна») и об установленном четырехзначном коде (для занятых). Опишите структуры данных, необходимые для хранения информации по одной секции.

 

Задача 14. Заданы следующие описания:

struct A { int* xp[10]; int d[5]; int* k; };

struct B { A* xt; B* r; };

void main()

{ B *h, *p, *t, g[50]; … }

 

С использованием перечисленных переменных постройте и заполните (для всех целочисленных данных – единицами) структуры данных, изображенные на рис.1.

 

Рис.1. Структуры данных

<== предыдущая лекция | следующая лекция ==>
Организация рабочего места и используемого оборудования. | Переход от присваивающего хозяйства к производящему


Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных