|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[12] Значения элементов54 5. . . 4 Если известна зависимость, по которой изменяются значения элементов массива, то присвоение значений удобно проводить в операторах цикла c параметром или с условием. Например, присвоим значения элементам массива "у" по зависимости: y=sin(x), где x= Pi * i/180, 0<= i <=180 . For i:= 0 to 180 Do y[i]:= sin(Pi * i/180); Присвоим случайные значения в диапазоне от -30 до +40 ста элементам массива "R": Randomize; for i:= 1 to 100 Do R[i]:= - 30 + Random(71); Присвоим значения семи элементам массива "A" оператором Readln: For i:= 1 to 7 Do begin Write( Введите A[ , i , ] = ); Readln( A [ i ] ) end; При выводе массива на экран удобно размещать данные в виде таблицы - в несколько колонок. Для вывода обозначений переменных ("шапки таблицы") можно использовать операторы вывода символов в цикле, например: For j For j For j =1 to 66 do Write(-); Writeln; =1 to 3 do Write( Фамилия оценка ); Writeln; =1 to 66 do Write(-); Writeln; - шапка для вывода в три пары колонок значений переменных "S" и "A". Шапка занимает 66 позиций (по ширине экрана в текстовом режиме размещается 79 символов и пробел). Оператор Writeln; переводит курсор на новую строчку. Вывод значений ста элементов массивов "S" и "A" в три пары колонок, произведем операторами: For i:= 1 to 100 do begin Write(, s[i]:11,, a[i]:8, ); if (i mod 3) = 0 Then Writeln; if (i mod 60) = 0 then readlnend; В этом случае данные таблицы полностью не умещаются на экране и можно задержать прокрутку экрана при выводе данных, применяя оператор Readln после вывода, например, 20 строк. В цикле удобно определять сумму элементов массива, наибольший (наименьший) элемент и создавать новые массивы, удовлетворяющие некоторому условию, например: s:= 0; for i:= 1 to 100 do s:= s + a[i]; { s - сумма элементов массива } a max:= a[1]; for i:= 1 to 100 do{ поиск наибольшего элемента a[j] } if a[i] > a max then begin a max:= a[i]; j:= i end; j:= 0; k:= 0; for i:=1 to 100 do { создание новых массивов с элементами: b[j] >=0, c[k] <0} if a[i] >= 0 then begin j:= j+1; b[j]:= a[i] end else begin k:= k+1; c[k]:= a[i] end; j:= 0; k:= 8; for i:= 1 to 100 do {создание массива номеров "M" для элементов: a[i] > a[k]} if a[i] > a[k] then begin j:=M[j]:= i end; Практическое задание N 1. 18 1.Вывести на экран таблицу с колонкой "Фамилии" и тремя колоноками "оценки" по различным предметам и заполнить ее 10 строками данных. Значения элементов массива фамилий задаются в программе оператором присваивания, значения элементов массивов оценок задаются функцией Random. 2.Рассчитать общий средний балл десяти учащихся по одному предмету. Составить список фамилий учащихся с оценками, превышающими средний балл. Программа запрашивает ввод с клавиатуры фамилий и оценок учащихся и выводит на экран исходную таблицу: Фамилия - оценка, а также средний балл и таблицу учащихся с оценками, превышающими средний балл. Практическое задание N 1. 19 1.Рассчитать наибольшее и наименьшее значения функции y= sin(x) - x2 на интервале 0 =< x <= 1, изменяя значение "х" с шагом 0. 005. Вывести на экран таблицу значений "х" и "у" в три пары колонок, а также наибольшее и наименьшее значения функции "у" и соответствующие им значения " х". 2.Рассчитать наибольшее и наименьшее значения функции y= cos(x) + x на интервале 0 =< x <= Pi/2, разбив интервал на 99 отрезков. Вывести на экран таблицу значений "х" и "у" в две пары колонок, а также наибольшее и наименьшее значения функции "у" и соответствующие им значения "х". Практическое задание N 1. 20 1.Рассчитать момент инерции массива точек относительно осей "x" и "y" : Jx = m1 * x12 + m2 * x22 +. . . + mN * xN2, Jy = m1 * y12 + m2 * y22 +. . . + mN * xN2. Массив "N" точек ( N = 60 ), имеющих массы "m" ( 5 =< m <= 25 ) определен на прямоугольнике с координатами - 10 <= x <= 10 и 10 <= y <= 20. Вывести на экран таблицу значений "N", " х", " у", "m", а также моменты инерции "Jx", "Jy". Определить и вывести на экран номера точек с экстремальными значениями координат, массы и моментов инерции точки. 2.Расcчитать координаты центра тяжести массива точек: Xc = Xm/M, Yc = Ym/M, где Xm = m1 * x1 + m2 * x2 +. . . + mN * xN, Ym = m1 * y1 + m2 * y2 +. . . + mN * yN, M = m1 + m2 +. . . + mN, Массив из "N" точек ( N = 45 ), имеющих массы "m" (3 =< m <= 35) определен на прямоугольнике с координатами -22 <= x <= 33 и 11 <= y <= 44. Вывести на экран таблицу значений "N", "х", "у", "m", а также координаты центра тяжести "Xc", "Yc" и массу точек "M". Определить и вывести на экран номера точек с экстремальными значениями координат и массы. 3. Рассчитать массив "r" - расстояние между точками с соседними номерами и массива "s" - расстояние от каждой точки до последней вдоль ломанной, например: ri = V((xi - x2)2 + (Yi - Y2)2) - расстояние от точки "1" до точки "2", si = r1 + r2 + ... + rN - расстояние от точки "1" до последней точки "N", s2 = s1 - r1 - расстояние от точки "2" до последней вдоль ломанной. Массив из "N" точек ( N = 30 ) определен на прямоугольнике с координатами 9<=x<=25 и 21<=y<=34. Вывести на экран таблицу значений "N", "х", "у", "s". 4. Рассчитать массив "s" - сумма расстояний от каждой точки до всех остальных, по формулам:6 r±j = V((xi-Xj)2+(Yi-Yj)2) - расстояние от i- ой до j- ой точки, Si = Si + rij - суммирование производится во внутреннем цикле с параметром "j", а во внешнем цикле меняется параметр "i". Массив из "N" точек ( N = 20 ) определен на прямоугольнике с координатами 3<=x<=15 и 8<=y<=14. Вывести на экран таблицу значений "N", "х", "у", "s". 5. К задаче п3. Определить массив "M" - номеров точек , которые придут к финишу быстрее первой, т. е. для которых выполняется условие: T[i] < T[1]. Здесь T[i] = S[i] / V[i] - время движения от i-ой точки до последней, V[i] = 30 - i - скорость движения i-ой точки. Вывести на экран таблицу значений "N", "х", "у", "S", "V", "t" для всех точек и таблицу для " быстрых" точек. 6. К задаче п4. Определить массив номеров точек "M", которые ходят в гости к другим точкам дольше первой, т. е. для которых выполняется условие: S[i]>S[1] (точки каждый раз возвращаются в исходное положение (домой), скорость всех точек постоянна и одинакова). Вывести на экран таблицу значений "N", "х", "у", "s", для всех точек и таблицу для "медленных" точек. Примечание к п.п. 1-6: Значения "x", "y", "m" задаются функцией Random. Практическое задание N 1. 21 |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||