Информация по предмету Компьютеры, программирование

  • 2061. Программа, которая упорядочивает элементы чётных строк матрицы по возрастанию, а нечётных – по убыванию
    Другое Компьютеры, программирование

    17. Задан массив {Ai}: 2; 0,4; 3,14; -1,57; 11; 7,34; -2,6; 0; 5; -1. Вычислить массив {Yi}, каждый элемент которого вычисляется по формуле cos(A), и подсчитать количество элементов L из массива {Yi}, попадающих в интервал [0;1]. Вывести на печать L и массивы {Ai} и {Yi}.

  • 2062. Программа, формирующая таблицу истинности для функции F=A+C*(B+D)
    Другое Компьютеры, программирование

    В этой работе мы рассмотрим один из способов написания программы, формирующую, таблицу истинности для функции F=A+C(BD),с помощью языка Ассемблера. Прежде чем создать программу надо детально рассмотреть, какие шаги для этого надо предпринять, то есть надо написать алгоритм работы этой программы . Для того чтобы компьютер смог обработать данные, эти данные ему надо сначала ввести , а это значит первым шагом в решении нашей задачи будет ввод числа. Для начала присвоим начальное значение равное 0 всем операндам то есть A,B,C,D,F.Вторым шагом в работе будет вычисление функции F=A+C(BD). После этого мы выводим на экран значения операндов A,B,C,D и вычисленный результат функции, то есть F. Следующим шагом будет увеличение операнда D на 1 и проверка условия : если значение D не равно 2, то переходим к вычислению заданной функции и выводу значений операндов A,B,C,D,F на экран, иначе то переходим к следующему шагу решения нашей задачи, то есть присвоению операнду D значения 0, увеличению операнда C на 1. После снова производим проверку условия: если С не равно 2, то переходим к вычислению заданной функции и выводу значений операндов A,B,C,D,F на экран , иначе то переходим к следующему шагу, присвоению операнду С значения 0 и увеличения операнда B на 1. Далее проверяем условие: если B не равно 2, то переходим к вычислению заданной функции и выводу значений операндов A,B,C,D,F на экран , иначе то переходим к следующему шагу, присвоению операнду B значения 0 и увеличения операнда A на 1 , иначе переходим к следующему пункту, проверке условия: если A не равно 2, то переходим к вычислению заданной функции и выводу значений операндов A,B,C,D,F на экран , иначе выходим из программы. Теперь соберём все пункты вместе:

  • 2063. Программа-имитатор
    Другое Компьютеры, программирование

    Автоинкрементная адресация. Этот вид адресации несколько сложнее двух предыдущих. Помимо основного действия (косвенного обращения к ячейке памяти), при использовании этого метода, происходит еще изменение адреса этого обращения. В данном случае увеличивается указатель адреса ячейки памяти, к которой мы обращаемся, то есть содержимое регистра, служащего указателем адреса. Данное увеличение происходит автоматически, без какой-либо команды. Записывается эта адресация как (Rn)+. То, что знак + стоит после имени регистра, намекает на порядок выполнения команды: сначала происходит операция с ячейкой, на которую указывает адрес помещенный в регистр Rn, а потом уже содержимое регистра увеличивается на 2 (если оператор работает со словом, то переход к адресу следующего слова), или на 1 (если оператор работает с байтом, переход к адресу следующего байта). Данный способ адресации применяется для работы с массивами и при использовании стека (например, при использовании подпрограмм).

  • 2064. Программа-отладчик микроконтроллера I8051 (К1816ВЕ51)
    Другое Компьютеры, программирование

    В окне дизассемблера показаны девять дизассемблированных команд, начиная с команды, адрес которой записан в счетчике команд. Адрес счетчика команд не всегда совпадает с адресом первого байта команды и поэтому в окне дизассемблера может быть отражена совсем другая команда. Окно дизассемблера позволяет редактировать программу, не выходя из имитатора. Для этого курсор устанавливается на нужную команду и вводится новая команда. После нажатия клавиши «Enter» команда транслируется в машинный код, в противном случае восстанавливается в исходное состояние. При редактировании необходимо учитывать количество байт старой и вводимой команды, так как остальная часть программы не сдвигается вверх или вниз. При редактировании программы в окне непосредственный операнд должен вводиться только в шестнадцатеричном виде, поэтому не требуется ввод символа "#" и буквы, обозначающей систему счисления.

  • 2065. Программатор ПЗУ (программный интерфейс)
    Другое Компьютеры, программирование
  • 2066. Программирование в LE-технология Microsoft Windows
    Другое Компьютеры, программирование

    В заключении хотелось бы отметить, что существующие способы обмена информации возникали вместе с развитием Windows. Как сама суть Windows, они являются продолжением заложенной в нее цель: cспособность работать с файлами любых форматов, на любом оборудовании. В отличие от стандартного решения, когда фирма-производитель оболочки (типа Windows) пыталась сама написать различные драйверы для поддержки устройств и различные библиотеки для поддержки форматов многочисленных файлов других пакетов, фирма Microsoft возложила эту обязанность на производителей оборудования и программного обеспечения. Таким образом, последовательное развитие Clipboard-->DDE-->OLE является продолжением воплощения идеи "сам изобрел - сам внедряй". Естесственно, наибольшие надежды сейчас возлагаются на OLE (ее новый стандарт OLE.2), так как этот стандарт позволяет включать в себя очень мощные средства, такие как Multimedia. В одном файле может находится не только текст, рисунок, а и даже целый фильм, полностью озвученный и готовый к показу.

  • 2067. Программирование в Turbo Pascal
    Другое Компьютеры, программирование

    Таблица исходных данныхКод городаОбщее время разговора за каждый месяцСтоимость минуты разговора1710810915215253534656674210420810537271764961071178139101014Таблица результатовКод городаОбщая продолжительность разговоров за кварталПлата за каждый месяцОбщая плата12470285801352653010153152496304241420180808056214214761736173607772710433490140Город с наибольшей платой - 7


  • 2068. Программирование в двоичных кодах
    Другое Компьютеры, программирование

    АдресКомандыМнемоника командыКомментарии000016MVI CЧисло прохождений внешнего цикла 15-1=14=16(8)001016B2002041LXI HЗагрузка адреса первого элемента массива003 100B2004000B3005026MVI DЧисло сравнений внутри главного цикла006016B2007106MOV B,MСохр. Первый из сравниваемых элементов в B010043INX HФормирование адреса второго ср-ого элемента011176MOV A,MСохранение второго элемента в аккумуляторе012270CMP BСравнение аккумулятора с регистром B.A>B => флаг C=0 и наоборот013322JNCЕсли C=1, то элементы расположены по возрастанию и выполнять перемену их местами не нужно(ком 016-021)014022B2След. Ячейка015000B3Делитель из памяти в В016160MOV M,BПерезапись первого элемента по адресу второго017053DCX HСформировали адрес первого элемента020167MOV M,AСохранили под адресом первого элемента второй021043INX HАдрес первого из сравниваемых в следующем цикле022025DCR DУменьшение переменной внутреннего цикла023302JNZЕсли переменная не равна нулю переход к следующей итерации024007B2025000B3026015DCR CУменьшение переменной внешнего цикла027302JNZЕсли переменная внешнего цикла не равна нулю то переходим к следующей итерации030002B2031000B3032166HLTКонец программы.

  • 2069. Программирование в программной среде Step7 и организация связи Step7 с WinCC
    Другое Компьютеры, программирование

    В самом начале работы нам надо создать проект, для этого при запуске пакета система по умолчанию предложит пользователю ввести его имя (Kurs3) и выбрать минимальный набор требуемого "железа". В появившемся окне, из списка, выбрать SIMATIC 400 Station - станцию с которой будем работать. Далее в общем окне программы ищем кнопку NetPro (программа построения оборудования и создания между ними связей), в открывшемся приложении в нашу станцию надо добавить: CPU 417-4 (процессор), плату DP - организующую передачу данных по протоколу ProfiBus и блок питания (чтобы все "питалось").

  • 2070. Программирование и достижения компьютерной техники
    Другое Компьютеры, программирование

    В истории развития промышленного программирования большую роль сыграл программист и бизнесмен Билл Гейтс (Gates William Henry, p. в 1955 г.). Его история очень поучительна для начинающих программистов. В 1972 г. Билл Гейтс и его школьный товарищ Пол Аллен основали компанию по анализу уличного движения «Трэф-О-Дейта» и использовали для обработки данных компьютеры с микропроцессором 8008 первым из знаменитого ряда микропроцессоров компании «Intel». Будучи студентом Гарвардского университета, в 1975 г. он совместно с Алленом написал для компьютера Altair (фирмы M1TS) интерпретатор программу-переводчик с языка программирования на язык машинных кодов. Они заключили с владельцем фирмы соглашение, по которому их программы распространялись вместе с компьютерами. Товарищи основали компанию «Microsoft», в которой Б. Гейтсу принадлежало 60 % акций, П. Аллену 40 %. В 1976 г. Гейтс ввел в практику продажу лицензий на свои программные продукты непосредственно производителям компьютеров, что позволило «встраивать» их (ОС и трансляторы с языков программирования) в компьютеры. Это было большое достижение в области маркетинга, принесшее фирме огромные доходы. Фирма привлекала таких новых заказчиков, как фирмы «Apple», «Commodor», «Tendi». В 1980 г. фирма IBM предложила «Microsoft», в которой тогда работало около двух десятков человек, создать языки программирования для ее нового персонального компьютера, в дальнейшем известным как IBM PC. В 1981 г. «Microsoft» приобрела у разработчика Т. Патерсона дисковую ОС (DOS), и в августе этого года IBM PC поставлялась вместе с ОС MS DOS. Успех был настолько велик, что, кроме значительных доходов, привел к тому, что и архитектура Intel, и компьютеры IBM, и программы «Microsoft» фактически стали отраслевыми стандартами. В 1988 г. «Microsoft» создала свою ОС Windows с мощным графическим интерфейсом. К 1995 г. ОС, выпускаемые фирмой, использовали 85 % персональных компьютеров. ОС Windows совершенствуется год от года, обладая уже средствами доступа в глобальную сеть Internet. Вместе с фирмой NBC был создан круглосуточный кабельный информационный канал новостей. Совместно с фирмой «Эн-карта» создана мультимедиа-энциклопедия на CD-ROM «Книжная полка», содержащая электронные версии семи больших справочников, электронную энциклопедию кино «Синемания». В 1995 г. в фирме «Microsoft» работало 18 тыс. человек, годовой выпуск достиг 200 программных продуктов, а доходы составили миллиарды долларов. В 1998 г. Б. Гейтс стал самым богатым человеком в мире, а в конце 1999 г. объявил о своем решении уйти с поста главы компании и заняться программированием. Сегодня Билл Гейтс одна из самых популярных фигур компьютерного мира. Журнал «People» писал: «Гейтс в сфере программирования значит столько же, сколько Эдисон в отношении к электрической лампочке: отчасти инноватор, отчасти предприниматель, отчасти торговец, но неизменно гений».

  • 2071. Программирование математических задач
    Другое Компьютеры, программирование

    Си - стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.

  • 2072. Программирование на VBA в среде MS Excel
    Другое Компьютеры, программирование

    Определение самой "Ходовой ткани". Для этого используется два массива одинаковой размерности: "ras (12)" - в котором лежат количественные значения и "naz (12)" - в котором лежат названия тканей, а также две переменных "max" - в которой лежит максимальное значение ткани и "k " - порядковый номер ячейки с максимальным значением израсходованной ткани. На первом шаге мы предполагаем, что в первой ячейке массива "o_ras (i) находиться максимальное значение ложем его в переменную "max" и записываем номер ячейки в "k". На втором шаге мы начинаем сравнивать значение, содержащееся в "max" со значениями остальных ячеек, начиная с первой. Если мы нашли, что в какой - то ячейке значение больше, чем "max", то тогда это значение ложем в переменную "max" и записываем номер ячейки в "k".После того как мы прошли весь массив "ras (12)" и нашли максимальное значение, помощи переменной "k " мы берем из массива naz (12) наименование самой расходуемой ткани.

  • 2073. Программирование на языках высокого уровня
    Другое Компьютеры, программирование

    7) С помощью оператора WHILE образуется цикл: в то время как указатель L не равен значению nil, то есть список L уже содержит какие-то слова из текста программы и число вхождений каждого из этих слов, и переменная st не равна пустой строке проверяется условие. Если значение в поле s динамической переменной структуры Recspisok, адрес которой содержится в указателе L равно слову содержащемуся в переменной st, то выполняется следующие действия. Значению в поле k динамической переменной структуры Recspisok, адрес которой содержится в указателе L увеличивается на единицу (k тип word). Значению переменной st присваивается значение пустой строки, переменной b (признак наличия текущего слова в списке L) присваивается значение true. Указатель L принимает значение ссылки содержащейся в данном элементе списка, на который указывает указатель L. Иначе указатель L принимает значение ссылки содержащейся в данном элементе списка, на который указывает указатель L. И таким образом проверяется следующий элемент списка L и т. д. весь список L, на содержание текущего слова в списке. Если оно уже существует в списке L, то число вхождений этого слова в тексте программы увеличивается на 1, если оно не содержится в списке, то тогда будет выполнятся следующая часть программы, образованная операторами IF и THEN. И это слово включается в список L.

  • 2074. Программирование на языке CLIPS
    Другое Компьютеры, программирование
  • 2075. Программирование на языке SHELL (OS UNIX)
    Другое Компьютеры, программирование

    PATH=/bin:/usr/bin:.:/usr/local/bin:/usr/bin/X11 - эта переменная задает последовательность файлов, которые просматривает "shell" в поисках команды. Имена файлов разделяются здесь двоеточиями. Последовательность просмотра соответствует очередности следования имен в тропе. Но первоначально поиск происходит среди так называемых встроенных команд. В число встроенных команд входят наиболее часто используемые команды, например "echo", "cd", "pwd", "date". После этого система просматривает директорий "/bin", в котором могут находиться команды "sh", "cp", "mv", "ls" и т.п. Затем директорий "/usr/bin" с командами "cat", "сс", "expr", "nroff", "man" и многими другими. Далее поиск происходит в текущем директории (".", или другое обозначение "пусто", т.е.""), где скорее всего находятся написанные вами команды.

  • 2076. Программирование на языке Турбо Паскаль
    Другое Компьютеры, программирование

    НазваниеНазначениеPutPixel(x,y: integer; c: word);Поставить точку (x,y), используя цвет c. Значение цвета обычно меняется от 0 до 15, вместо номера цвета можно употреблять цветовые константы модуля Graph.SetColor(c: word);Установить текущий цвет для рисования отрезков, окружностей и т. п. Все линии после употребления этого оператора будут рисоваться установленным цветом.SetBkColor(c: word);Установить текущий цвет для фона (то есть цвет всего экрана).GetMaxX; GetMaxY;Эти функции возвращают максимальные допустимые значения координат x и y, соответственно.Line(x1,y1,x2,y2: integer);Рисовать отрезок из (x1,y1) в (x2,y2) текущим цветом.Rectangle(x1,y1,x2,y2: integer);Рисует текущим цветом прямоугольник, левый угол которого (x1,y1), а правый нижний (x2,y2). Circle(x,y: integer; r: word);Рисует текущим цветом окружность с центром в точке (x,y) радиуса r.Arc (x,y: integer; a1,a2,r: word);Рисует дугу окружности. a1 и a2 начальный и конечный углы (в градусах), соответственно. Угол отсчитывается традиционно, против часовой стрелки, угол величиной 0 соответствует лучу y=0, x>0.Ellipse(x,y: integer; a1,a2,xr,yr: word);Рисует дугу эллипса с полуосями xr и yr от угла a1 до a2.DrawPoly(n: word; P);Рисует многоугольник, количество сторон в котором n, а информация о вершинах хранится в нетипизированном параметре P. В качестве P удобнее всего использовать массив из записей, каждая из которых содержит поля x,y: integer;MoveTo(x,y: integer);Эта процедура опирается на понятие текущей позиции. Она «запоминает» позицию (x,y) на экране, а в дальнейшем из этой позиции можно рисовать отрезки.LineTo(x,y: integer);Рисует отрезок из текущей позиции в точку (x,y). При этом текущая позиция перемещается в конец нарисованного отрезка.MoveRel(dx,dy: integer);Перемещает текущий указатель из прежнего положения (x,y) в точку (x+dx,y+dy).LineRel(dx,dy: integer);То же, что и предыдущая процедура, но при перемещении рисует отрезок от (x,y) до (x+dx,y+dy).GetX; GetY;Возвращают координаты текущего указателя (по отдельности).ClearDevice;Очищает экран.Все приведённые выше процедуры для рисования выполняют только контурные рисунки (не закрашивая прямоугольник, окружность или эллипс внутри). По умолчанию рисование происходит с использованием тонкой сплошной линии, однако толщину и вид линии можно менять с помощью процедуры SetLineStyle(style,pattern,width: word). Рассмотрим назначение параметров этой процедуры.

    1. style вид линии. Здесь удобно задавать не конкретные числа, а константы: SolidLn, DottedLn, CenterLn, DashedLn, UserBitLn. Первая обозначает сплошную линию, следующие три разные виды прерывистых линий, последняя линию, вид которой определяется пользователем (см. ниже).
    2. pattern образец для вида линии, определяемого пользователем. Этот параметр вступает в действие лишь тогда, когда в предыдущем указано UserBitLn. Образец это фрагмент линии, заданный в виде числа. Переход от конкретного фрагмента к числу выполняется, например, так:
  • 2077. Программирование ориентированное на объекты
    Другое Компьютеры, программирование
  • 2078. Программирование различных типов задач
    Другое Компьютеры, программирование

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

    • Проверка уникальности. Как мы можем проверить, все ли элементы данного набора объектов S являются различными? Отсортируем их либо в возрастающем, либо в убывающем порядке, так что любые повторяющиеся объекты будут следовать друг за другом. После этого один проход по всем элементам с проверкой равенства S[i]=s[i+1] для любого 1?i<n решает поставленную задачу.
    • Удаление повторяющихся элементов. Как мы можем удалить все копии, кроме одной, любого из повторяющихся элементов S? Сортировка и чистка снова решают задачу. Обратите внимание, что чистку проще всего производить, использую два индекса back, указывающий на последний элемент в очищенной части массива, и i, указывающий на следующий элемент, который нужно рассмотреть. Если S[back]<>S[i], увеличиваем back и копируем S[i] в S[back].
    • Распределение приоритетов событий. Предположим, что у нас имеется список работ, которые необходимо сделать, и для каждой определен свой собственный срок сдачи. Сортировка объектов по времени сдачи (или по аналогичному критерию) расположит работы в том порядке, в котором их необходимо делать. Очереди по приоритетам удобны для работы с календарями и расписаниями, когда имеется операции вставки и удаления, но сортировка удобна в том случае, когда набор событий не меняется в ходе выполнения.
    • Медиана/выбор. Предположим, что мы хотим найти k-й по величине объект в S. После сортировки объектов в порядке возрастания нужный нам будет находится в ячейке S[k]. В определенных случаях этот подход может быть использован для нахождения наименьшего, наибольшего и медианного объекта.
    • Расчет частоты. Какой элемент чаще всего встречается в S? После сортировки линейный проход позволяет нам посчитать число раз, которое встречается каждый элемент.
    • Восстановление первоначального порядка. Как мы можем восстановить первоначальное расположение набора объектов, после того как мы переставили их для некоторых целей? Добавим дополнительное поле к записи данных объекта, такое что i-й записи это поле равняется i. Сохранив это поле во время всех перестановок, мы сможем отсортировать по нему тогда, когда нам потребуется восстановить первоначальный порядок.
    • Создание пересечения/объединения. Как мы можем рассчитать пересечение или объединение двух контейнеров? Если они оба отсортированы, мы может объединить их, если будем выбирать наименьший из двух ведущих элементов, помещать его в новое множество, если хотим, а затем удалять из соответствующего списка.
    • Поиск необходимой пары. Как мы можем проверить, существуют ли два целых числа x,y
  • 2079. Программирование с использованием генератора случайных чисел
    Другое Компьютеры, программирование

    Имя переменнойНазначениеТип в Turbo Pascali.jПеременные циклов.Bytehelp,work,buttonПеременный для хранения параметров вызова процедур.Byteactionprog,actionСимвольные переменные для управления интерфейсной частью .основной программы и процедур соответственно.Charexitpar,exitmenu,exitprogЛогические параметры, задающие выход из процедур и основной программы. Позволяют делать программу болле гибкой в применении.Booleangrmode,grdriverПеременные, содержащие данные о типе графического драйвера и его режиме работы. Установленны в программе на автоматическое определение.IntegerDat(3)Массив для хранения входных данных в программе. Начальное знаачение [5,4,5].array[1..3]of realPosle(100)Массив для хранения элементов генерируемой последовательности.array[1..100] of realXcor(3),Ycor(3)Массивы, используемые для более компактности ввода параматров генерации последовательности в процедуре DoWorkс параметром work=1.array[1..3]of byteMat(10),Disp(10)Массивы с данными о дисперсии и мат.ожидании по промежуткам последовательности.array[1..10]of realmat0,disp0Мат.ожидание и дисперсия по всей последовательности.RealXВременная переменная (буфер).RealCol(4)Массив для управления выбора пункта меню.array[1..4]of byteLight.DarkКонстанты для задания цветов меню.[1..16]

  • 2080. Программирование с помощью Delphi
    Другое Компьютеры, программирование

    Вторичные ключи (индексы) создаются путем выбора из списка свойств таблицы строки Secondary Indexes, и после нажатия кнопки Define выводится окно Define Secondary Indexes. Используя кнопки со стрелками или двойными щелчками, перенесем нужное поле или несколько полей, если ключ составной, в список индексов. Имеются переключатели: Unique (уникальный индекс), Саse sensitive (учет регистров строковых полей), Descending (сортировка по возрастанию). Кнопкой ОК. производится выход с указанием имени индекса. Поле, которое является первичным ключом другой родительской таблицы, называют внешним ключом. Для связи таблиц обычно создают индексы по внешним ключам. После формирования таблицы она сохраняется, если нажать кнопку Save As, под указанным именем; при этом в поле имени файла можно указать как
    полное имя с каталогами, так и псевдоним базы (Аlias). Псевдоним позволяет не привязываться к каталогу, который может меняться в дальнейшем.