Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня



СОДЕРЖАНИЕ

 

Введение.......................................................................................................... 6

Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня......................................................................................... 7

1.1. Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции 7

1.2. Программы линейной структуры. Операторы разветвления. Операторы цикла 11

1.3. Понятие о структурном программировании. Модульный принцип программирования. Принципы проектирования программ сверху вниз и снизу вверх. Подпрограммы........................................ 27

1.4. Объектно-ориентированное программирование...................... 33

1.5. Интегрированные среды программирования............................ 36

1.6. Этапы решения задач на компьютере......................................... 39

1.7. Эволюция и классификация языков программирования. Основные понятия языков программирования 42

1.8. Структуры и типы данных языка программирования............ 51

Тесты по теме 1......................................................................................... 60

Тема 2. Локальные и глобальные сети ЭВМ. Методы защиты информации 103

2.1. Сетевые технологии обработки данных.................................. 103

2.2. Основы компьютерной коммуникации. Принципы построения и основные топологии вычислительных сетей, коммуникационное оборудование..................................................... 105

2.3. Сетевой сервис и сетевые стандарты. Программы для работы в сети Интернет 110

2.4. Защита информации в локальных и глобальных компьютерных сетях. Шифрование данных. Электронная подпись 123

Тесты по теме 2....................................................................................... 137

Список литературы............................................................................... 173

Ответы к тестам...................................................................................... 175

Заключение............................................................................................... 178


Введение

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

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

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


 

Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня

Эволюция и классификация языков программирования. Основные понятия языков программирования

Алгоритм – это точно определенное описание способа решения задачи в виде конечной последовательности действий. Иначе говоря, это описание является формальным

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

Языки программирования - э тоискусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка.

Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. “Низкий уровень” здесь означает, что операторы близки к машинному коду и ориентированы на конкретный тип процессора. Языком самого низкого уровня является язык Ассемблера, который представляет каждую машинную команду в виде символьных условных обозначений, называемых символьными мнемониками. Перевод программы на языке Ассемблера в машинный язык называется транслитерацией. Программа, написанная на языке низкого уровня, может быть использована только в той операционной среде, в которой она была создана. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора.

Языкипрограммирования высокого уровня ближе и понятнее человеку, чем компьютеру. В программах, созданных на языках высокого уровня, особенности компьютерных систем не учитываются, перенос программ на уровне исходных текстов на другие платформы не создает трудностей, если в них создан транслятор этого языка. Разрабатывать программы на языках высокого уровня проще, а ошибок допускается меньше. Иногда различают языки среднего уровня, позволяющие как эффективно использовать низкоуровневые ассемблерные инструкции, так и пользоваться возможностями языков высокого уровня. В частности, таким языком является C++ - основной язык системного программирования.

Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов XX века. Это были первые языки ассемблера, созданные по принципу " одна инструкция – одна строка".

Расцвет второго поколения языков программирования пришелся на конец 50-х – начало 60-х годов. Тогда был разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

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

С начала 70-х годов по настоящее время продолжается период языков четвертого поколения. Эти языки предназначены для реализации крупных проектов, повышения их надежности и скорости создания. Они обычно ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой в языках младших поколений потребовались бы тысячи строк исходного кода.

Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладываемая в эти языки,- возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.

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

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

Компилятор – это программа, предназначенная для трансляции исходного текста программы с высокоуровневого языка в объектный код.

Компилировать означает проводить трансляцию программы с проблемно-ориентированного языка на машинно-ориентированный язык (создание объектного кода) для ее исполнения. Компиляция в программировании – преобразование программы, представленной на одном из языков программирования, в коды на машинно-ориентированном языке, которые принимаются и исполняются непосредственно процессором. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика. Входной информацией для компилятора является описание алгоритма или программа на языке программирования. На выходе компилятора находится эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код). Программа уже переведена в машинные инструкции, однако еще не полностью готова к выполнению. В объектном файле имеются ссылки на различные системные функции. Даже если в программе явно не упомянута ни одна функция, необходим, по крайней мере, один вызов системной функции – завершение программы и освобождение всех принадлежащих ей ресурсов.

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

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

Интерпретация программ – процесс непосредственного покомандного выполнения программы без предварительной компиляции, "на лету". Интерпретатор анализирует и тут же выполняет программу покомандно, по мере поступления ее исходного кода на вход интерпретатора. Алгоритм работы простого интерпретатора таков:

1. прочитать инструкцию;

2. проанализировать инструкцию и определить соответствующие действия;

3. выполнить соответствующие действия;

4. если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.

Интерпретация связана с получением переменными значений в процессе работы программы.

Процедура интерпретации не является процессом создания исполняемого файла. Интерпретация не позволяет изменить синтаксис языка – набор правил построения фраз алгоритмического языка, позволяющий определить осмысленные предложения в этом языке. Интерпретация не позволяет изменить семантику (смысл) языка программирования. Обычно при описании семантики в рамках операционного подхода исполнение конструкций языка программирования трактуется с помощью некоторой воображаемой (абстрактной, виртуальной) ЭВМ.

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

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

Языки программирования
Процедурные
Объектно-ориентированные
Декларативные
Операционные
Структурные
Объектные
Визуальные
Функциональные
Логические

Рис. 14. Классификация языков программирования

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

Различают следующие основные языки процедурного программирования:

· Фортран – создан в начале 50-х годов 20-го века для программирования научно-технических задач;

· Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;

· Алгол (1960 год) –многоцелевой расширенный язык программирования. В нем впервые введены понятия "блочная структура программы" и "динамическое распределение памяти".

В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASIC. Он характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач, а также задач, например, игровых.

Все перечисленные выше языки были ориентированы на различные классы задач, но они в той или иной мере были привязаны к конкретной архитектуре ЭВМ.

В 1963-1966 гг. был создан многоцелевой универсальный язык PL-1. Этот язык хорошо приспособлен для исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработки систем математического обеспечения.

Язык Паскаль (Pascal, 1968-1971 гг.) - язык процедурного программирования наиболее популярный для персональных компьютеров, который и в настоящее время успешно применяется при обучении программированию. В основу языка Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести:

· Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных;

· Программирование "сверху-вниз", когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз.

Язык АДА (1979 г.) назван в честь первой программистки Ады Лавлейс - дочери Байрона. Его отличает модульность конструкций.

Язык С (Си, начало 70-х годов) также относится к языкам процедурного программирования. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка Си является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке Си отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

Рассмотрим другие группы языков программирования.

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

Функциональное программирование - это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется оперативная память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым функциональным языком стал язык Лисп (LISP, LIST Processing- обработка списков), он создан в 1959 г. Этот язык позволяет обрабатывать большие объемы текстовой информации.

Логическое программирование - это программирование в терминах математической логики. В 1973 году был создан язык искусственного интеллекта Пролог (Prolog, Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

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

· создание, преобразование и удаление таблиц в БД;

· поиск, отбор, сортировка по запросам пользователя;

· добавление новых записей и модификация существующих, удаление записей и др.

Для обработки больших массивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (Structured Query Language — "язык структурированных запросов"). Язык SQL – это стандартный язык работы с реляционными (состоящими из таблиц) базами данных.

Сегодня в мире ведущие производителями СУБД являются компании Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Практически в каждой СУБД имеется свой встроенный язык работы с БД, являющийся той или иной разновидностью SQL. Так, например, в Oracle имеется встроенный язык PL/SQL, в Informix – INFORMIX 4GL, в Adabas – Natural и т.д.

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

· Формат HTML (HyperText Markup Language) – универсальный формат разметки гипертекста, используемый для подготовки Web-документов для Интернета. Язык позволяет форматировать текст, добавлять графические образы, работать с таблицами и организовывать связь одного документа с другим с помощью механизма гиперссылок (см. п. 2.3). В отличие от языков программирования и других форматов разметки, HTML довольно "демократичен", синтаксическая ошибка в разметке обычно не приводит к "зависаниям" или каким-либо сообщениям об ошибках, хотя, разумеется, может вызвать неправильное форматирование документа.

· Язык Perl (1980 г.) содержит многочисленные функции работы со строками, массивами, всевозможные средства преобразования данных.

· Язык PHP (1995-1997 гг.) обладает средствами доступа к БД и используется создателями динамических сайтов во всем мире.

· Язык Tcl/Tk (конец 80-х годов) состоит из мощных команд, предназначенных для работы с абстрактными нетипизированными объектами и позволяет создавать программы с графическим интерфейсом.

· Формат VRML (1994 г.) создан для организации виртуальных трехмерных интерфейсов в Интернете.

· Формат XML. С 1996 г. идет работа над созданием универсального языка описания структуры документов. В перспективе XML становится заменой как языка HTML, так и других языков разметки.

К скриптовым можно отнести также объектно-ориентированные языки Java и язык сценариев Javascript, используемые в программировании для Web.

Тесты по теме 1

№ п/п Вопрос Варианты ответов
  Какие из перечисленных языков подходят для программирования? 1. PHP 2. Ассемблер 3. C, C++ 4. Java
  К какому типу языков относится язык Lisp? 1. язык системного программирования 2. язык структурного программирования 3. язык функционального программирования 4. язык логического программирования
  К какому типу языков относится язык Prolog? 1. язык системного программирования 2. язык структурного программирования 3. язык функционального программирования 4. язык логического программирования
  Не является принципом объектно-ориентированного программирования... 1. инкапсуляция 2. наследование 3. полиморфизм 4. использование функций
  Декларативный (с точки зрения парадигмы) язык рассматривает программу как: 1. совокупность определений функций, которые обмениваются между собой данными без использования промежуточных переменных и присваиваний 2. совокупность описания входных данных и описания искомого результата 3. описание задачи в терминах фактов и логических формул, а решение задачи выполняет система с помощью механизмов логического ввода 4. совокупность описаний процедур
  Методика анализа, проектирования и написания приложений с помощью структуры классов, каждый из которых является целостным фрагментом кода и обладает свойствами и методами, называется___________ программированием 1. модульным 2. объектно-ориентированным 3. формальным 4. структурным
  В языке Prolog при решении задач используются: 1. прямая цепочка логического вывода 2. конструктор основного класса программы 3. прямая и обратная цепочки логического вывода 4. основная функция программы
  В объектно-ориентированном программировании каждый объект по отношению к своему классу является... 1. кодом 2. экземпляром 3. функцией 4. фрагментом
  Что делает операция "модификация" над объектом? 1. дает доступ к состоянию, но не изменяет его 2. доступ к содержанию объекта по частям, в строго определенном порядке 3. разрушает объект и освобождает, занимаемую им память 4. изменяет состояние объекта
  Языки программирования 2-го поколения характеризует: 1. система машинных команд конкретного компьютера 2. система мнемоник для обозначения машинных команд конкретного семейства компьютеров 3. система обозначений для абстрактного описания вычислений 4. система визуального проектирования пользовательских приложений, выполняющая автоматическую генерацию соответствующих программ
  Какие виды программ не присущи языку программирования С++: 1. процедуры 2. функции 3. модули 4. методы
  Что делает операция "цикл" над объектом? 1. дает доступ к состоянию, но не изменяет его 2. изменяет состояние объекта 3. разрушает объект и освобождает занимаемую им память 4. доступ к содержанию объекта по частям, в строго определенном порядке
  Какие языки являются языками декларативного программирования? 1. языки структурного программирования 2. языки сценариев 3. языки запросов к базам данных 4. логические языки
  Решение задач на компьютере состоит из ряда этапов: А – "Анализ результатов"; В – "Анализ задачи и моделирование"; С – "Постановка задачи"; D – "Программирование"; Е – "Разработка алгоритма"; F – "Сопровождение программы"; G – "Тестирование и отладка". Укажите правильную последовательность этапов. 1. C, B, E, D, A, G, F 2. C, B, E, D, G, A, F 3. B, C, E, D, G, A, F 4. C, E, B, D, G, A, F
  Свойство алгоритма завершаться определенными результатами – это… 1. оперативность 2. завершаемость (конечность) 3. детерминированность 4. результативность
  Дана блок-схема алгоритма. Если начальные значения переменных A, B и C равны 3, 3 и 1соответственно, то значение переменной F будетравно …   1. 6 2. 8 3. 7 4. -1
  В приведенном фрагменте блок-схемы выполняется…   1. обмен значениями переменных А и С 2. обмен значениями переменных А и В 3. сравнение переменных А, В, С 4. обмен значениями переменных В и С
  После выполнения следующего фрагмента алгоритма значение целочисленной переменной Х будет равно… 1. 5 2. 10 3. 0 4. 15
  Не является формой записи алгоритма … 1. формула 2. программа на Паскале 3. устное подробное описание маршрута 4. карта с проложенным маршрутом
  При решении задачи на ЭВМ к этапу "Программирование" относится… 1. разработка математической модели 2. определение формы выдачи результатов 3. совершенствование программы 4. выбор языка программирования
  В ходе исследования транспортного потока по магистралям города получены зависимости скорости движения автомобилей от их количества на магистрали для различного времени суток, представленные в виде ряда формул. Определены условия применения тех или иных формул при разных ситуациях, а также записан алгоритм на выбранном языке программирования. Все описанные действия представляют собой этапы решения задачи исследования транспортного потока. Следующим, по технологии, должен быть этап… 1. "Тестирование и отладка" 2. "Сопровождение программы" 3. "Разработка алгоритма" 4. "Программирование"
  Значение переменной S после выполнения алгоритма при n =4 будет равно … 1. 11/6 2. 4 3. 25/12 4. 0
  При работе с программами существуют этапы: а) компиляции б) компоновки в) интерпретации г) исполнения программы. Создание исполняемого файла из исходного текста программы предполагает выполнение этапов… 1. а, в 2. а, б 3. б, в 4. в, г
  Задан одномерный массив X1, X2, …,XN. Фрагмент алгоритма определяет… 1. индекс первого отрицательного элемента 2. минимальный элемент массива 3. количество отрицательных элементов 4. индекс последнего отрицательного элемента
  Определите, при каких значениях переменных x, y, z выделенный блок выполнится 2 раза.   1. x=2; y=4; z=1 2. x=1; y=4; z=0 3. x=2; y=4; z=3 4. x=3; y=3; z=1
  Фрагмент блок-схемы представляет собой алгоритм, который содержит … 1. две команды ветвления в полной форме, одна из которых вложена в другую 2. команду ветвления в полной форме, в которую вложена команда ветвления в неполной форме 3. команду ветвления в полной форме и команду выбора, вложенную в команду ветвления 4. команду ветвления в полной форме, в которую вложена команда цикла
  Детерминированность алгоритма – это свойство, заключающееся в том, что … 1. при корректно заданных исходных данных алгоритм должен завершать работу за конечное число шагов 2. алгоритм должен быть применим к разным наборам исходных данных 3. алгоритм должен завершаться определенными результатами 4. алгоритм выдает один и тот же результат (ответ) для одних и тех же исходных данных
  Значение переменной F, если начальные значения переменных A, B и C равны 1, 1 и 4соответственно, будет равно … 1. 0 2. 6 3. -4 4. 5
  Запись выражения y = Ax2 + Bx + C на алгоритмическом языке (возведение в степень обозначим через ^, а присваивание – через:=) имеет вид… 1. y:= A*x^2 + B*x + C 2. y:= (A*x)^2 + B*x + C 3. y:= Ax2 + Bx + C 4. y:= Ax^2 + Bx + C
  Определите, сколько раз выполнится цикл во фрагменте программы a:= 2; b:= 15; нц пока a+b<40 a:= a+2 b:= b+3 кц 1. ни разу 2. 4 3. бесконечное число раз 4. 5
  Разработана программа с использованием средств ООП. Для вычисления суммы двух чисел создана функция суммы, которая в качестве входных аргументов использует значение соответствующих свойств объектов "Поле ввода 1" и "Поле ввода 2". Выполнение этой функции осуществляется при обработке события "Одно нажатие кнопки Сумма". Результирующая сумма изменяет … объекта "Поле ввода 3".   1. свойство 2. базовый класс 3. событие 4. метод
  Определите значение переменной F после выполнения программы a:=1; b:=1; c:=3; f:=0; если a=b то если b<c то b:=b+c; f:=a+b+c; иначе все иначе a:=c; f:=a+b+c; все   1. 7 2. 0 3. 5 4. 8
  Понятие "переменная" в традиционных языках программирования определяется как … 1. описание действий, которые должна выполнять программа 2. именованная область памяти, в которой хранится некоторое значение 3. служебное слово на языке программирования 4. любое законченное минимальное смысловое выражение на языке программирования
  Машинно-зависимый язык низкого уровня, в котором мнемонические имена соответствуют отдельным машинным командам, – это … 1. Pascal 2. естественный язык 3. язык ассемблера 4. Visual Basic
  Определите значение переменной K после выполнения следующей программы: a:=-5; b:=-12; c:=0; d:=7; k:=0; если a<0 то k:=k+1 все если b<0 то k:=k+1 все если c≤0 то k:=k+1 все если d<0 то k:=k+1 иначе k:=k+2 все 1. 5 2. 1 3. 3 4. 0
  Построена логическая цепочка "Животные", "Млекопитающие", "Кошачьи", "Пантера". В объектно-ориентированном программировании данную последовательность можно описать принципом … 1. полиморфизма 2. наследования 3. абстракции данных 4. инкапсуляции
  Языком разметки данных является... 1. SQL 2. Java 3. ADA 4. XML
  Приведенному фрагменту блок-схемы соответствует фрагмент программы … 1. ввод x,z если (x<100) тоесли (z>10) то y:=x+z иначе y:=x*z все иначе y:=x*z все вывод y 2. ввод x,z нц пока (x<100) и (z>10) y:=x*z y:=x+z вывод y кц 3. ввод x,z выбор при x<100: y:=x*z при z>10: y:=x+z все вывод y 4. ввод x,z если (x<100) тоесли (z>10) то y:=x*z иначе y:=x+z все иначе y:=x+z все вывод y
  Функция mod вычисляет остаток от деления нацело первого аргумента на второй. Значение переменной K после выполнения следующей программы: k:=0; нц для i от 1 до 100 если (mod(i,3)=2) и (mod(i,5)=1) то k:=k+1 все кц будет равно … 1. 288 2. 6 3. 3 4. 7
  В объектно-ориентированном программировании понятию объекта соответствует схема…   1. А 2. Б 3. В 4. Г
  Значения переменных a и b после вычисления выражений a:=15 div (16 mod 7) будут равны (Справка: x div y – результат деления нацело x на y. x mod y – остаток от деления нацело x на y) 1. a=7, b=25 2. a=7, b=22 3. a=1, b=4 4. a=1, b=160
  На рисунке представлена иерархическая структура классов для нескольких объектов. Класс, выделенный красным цветом, для трех используемых классов будет являться …   1. производным 2. абстрактным 3. базовым 4. основным
  Режим интерпретации можно использовать... 1. для компоновки программ на языке высокого уровня 2. для изменения синтаксиса языка программирования 3. при отладке программ на языке высокого уровня 4. для изменения семантики языка программирования
  Если элементы массива D равны, соответственно, 3, 4, 5, 1, 2, то значение выражения D[D[5]]-D[D[3]] равно... 1. -1 2. 1 3. -3 4. 2
  Результатом компиляции программы, написанной на языке высокого уровня, является... 1. дисплейный файл 2. командный файл 3. исходный текст программы на языке высокого уровня 4. объектный файл
  Элементы массива в памяти компьютера упорядочены по... 1. алфавиту 2. возрастанию значений элементов 3. возрастанию индексов элементов 4. частотным характеристикам
  В приведенном ниже фрагменте алгоритма переменные a, b, c имеют тип "строка", а переменные i, k – тип "целое". Используются следующие функции: Длина(a) – возвращает количество символов в строке a (тип "целое"). Извлечь (a,i) – возвращает i-ый (слева) символ в строке a (тип "строка). Склеить (a,b) – возвращает строку, в которой записаны сначала все символы строки a, а затем все символы строки b (тип "строка). Значения строк записываются в одинарных кавычках (например, a:='дом'). a:= ‘ИНФОРМАТИКА’ i:=Длина(a)-5 k:=1 b:=‘А’ пока i > 2 нц c:=Извлечь(a,i) b:=Склеить(c,b) i:=i-k кц Определите значение переменной b после выполнения вышеприведенного фрагмента алгоритма. 1. ‘ФОРМА’ 2. ‘АРФА’ 3. ‘ФИРМА’ 4. ‘МИНОР’
  В показанном ниже приложения используется__________ визуальных компонентов. 1. 7 2. 8 3. 9 4. 5
  Выберите правильную запись выражения на языке программирования. 1. ((a*b)-c/(a-c))/(2*b*c) 2. (a*b)-c/(a+c)/2*b*c 3. = ((a*b)-c/(a-c))/(2*b*c) 4. ((ab)-c)/(a+c))/(2bc)
  Укажите фрагмент программы, соответствующий приведенному фрагменту алгоритма. 1. если Условие 1 то Серия 1 иначе если Условие 2 то серия 3 иначе серия 2 все все 2. если Условие 1 то иначе если Условие 2 то серия 2 иначе серия 3 иначе серия 1 все все 3. если Условие 1 то Серия 1 все если Условие 2 то серия 2 иначе серия 3 все 4. если Условие 1 то Серия 1 иначе если Условие 2 то серия 2 иначе серия 3 все все
  Утверждение "Языковый процессор, который построчно анализирует исходную программу и одновременно выполняет предписанные действия, а не формирует на машинном языке скомпилированную программу, которая выполняется впоследствии" справедливо для … 1. компилятора 2. синтаксического анализатора 3. транслятора 4. интерпретатора
  Укажите последовательность команд, в результате выполнения которых значения переменных x и y поменяются местами. 1. y:=x; b:=x; x:=y; 2. c:=x; x:=y; x:=c; 3. x:=x+y; y:=x-y; x:=x-y; 4. b:=x; x:=y; y:=x;
  Укажите, каким циклом составляется следующая последовательность из n=8 элементов [4; 6; 8; 10; 12; 14; 16; 18 ] 1. для i от 1 до n A[i]:=i*2 2. для i от 1 до n A[i]:=i*2+2 3. для i от 1 до n A[i]:=i*2-2 4. для I от 2 до n A[i]:=i*i
  Какие из перечисленных языков являются скриптовыми языками? 1. PHP 2. C++ 3. Tcl 4. Java
  Установите соответствие между свойством алгоритма и его описанием:
A. Дискретность 1. Исполнитель алгоритма должен знать как выполнять каждый его шаг
B. Результативность 2. Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов
C. Понятность 3. Алгоритм должен приводить к решению задачи за конечное число шагов

 



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 681; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.166.7 (0.031 с.)