Главная страница

Теория Пайтон база. Сформулируйте определение алгоритма. Алгоритм


Скачать 276.86 Kb.
НазваниеСформулируйте определение алгоритма. Алгоритм
Дата17.05.2022
Размер276.86 Kb.
Формат файлаdocx
Имя файлаТеория Пайтон база.docx
ТипДокументы
#534434

Сформулируйте определение алгоритма.

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

Перечислите свойства алгоритма.

Свойства алгоритма: 1. дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов); 2. определенность - каждый шаг алгоритма должен быть четким и однозначным. Выполнение алгоритма носит механический характер и не требует никаких дополнительных сведений о решаемой задаче; 3. результативность - алгоритм должен приводить к решению задачи за конечное число шагов; 4. массовость - алгоритм решения разрабатывается в общем виде, т. е. он должен быть применим для решения некоторого класса задач, различающихся лишь исходными данными.

Перечислите основные способы описания алгоритма.

Способы описания алгоритмов 1. словесный; 2. графический; 3. табличный; 4. формульный.

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

Какие основные функциональные блоки используются для построения блок-схем?

Начало и конец алгоритма-скругленный квадрат. Вычисление операции-квадрат. Ввод/вывод данных-паралелаг. Проверка условия(лог выражение)- ромб. Начало циклического алгоритма-6-угольник. Разрыв соединительных линий на странице-круг маленький. Вызов пользовательской функции-прямоугольник внутри прямоугольника. Линия потоков- линия и линия с стрелкой. Комментарий- линий и квадратная скобка. Вывод в печать- Прямоугольник,но снизу идет волной.

Перечислите основные этапы решения задач.

1-й этап. Общая постановка задачи. 2-й этап. Разработка математической модели. 3-й этап. Разработка алгоритма. 4-й этап.Разработка программы5-й этап. Отладка программы. 6-й этап. Анализ результатов.

Что необходимо выполнить на этапе общей постановки задачи?

Общая постановка задачи. На этом этапе описывается содержание задачи, составляется перечень исходных данных

Какова цель на этапе разработки математической модели?

Цель этого этапа состоит в установлении формализованных связей между исходными данными и искомыми результатами. Этап заключается в записи расчетных формул или функциональных зависимостей.

В чем состоит этап разработки алгоритма?

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

В чем состоит суть этапа отладки программы?

Процесс поиска ошибок в программе и их устранение.

Какие возможны варианты при принятии решения на этапе анализа результатов работы программы?

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

Какие буквы входят в алфавит языка Python?

1. Латинские буквы от а до z и от А до Z. В Python есть различия между прописными и строчными буквами алфавита, например, chislo, CHISLO, Chislo - разные имена переменных. 2. Цифры от 0 до 9. 3. Специальные символы, например +, -, *, /. 4. Зарезервированные (служебные) слова: for, if, class, def и т. д.

Для чего используются программе на языке Python идентификаторы?

Для того чтобы программа решения задачи обладала свойством массовости, следует употреблять не конкретные значения величин, а использовать их обозначения для возможности изменения по ходу выполнения программы их значений. Для обозначения в программе переменных и постоянных величин используются имена - идентификаторы (identification - установление соответствия объекта некоторому набору символов).

Какие символы не могут входить в идентификатор?

1. В идентификатор не могут входить пробелы, специальные символы такие как α, alfa, delta и другие; 2. идентификатор начинается только с буквы или со знака подчеркивания; 3. идентификатор не должен являться зарезервированным словом. Например: summal правильно 2delta ошибка В1оск_35 правильно Nomer.doma ошибка Сумма ошибка

С каких символов может начинаться название идентификатора?

1.Идентификатор начинается только с буквы или со знака подчеркивания; 2. идентификатор может состоять из букв, цифр и знака подчеркивания; 3. при написании идентификаторов можно использовать как прописные, так и строчные буквы латинского алфавита;

Какие символы могут входить в идентификатор?

В идентификаторах допустимы только символы от "A" до "Z" в верхнем и нижнем регистре, подчеркивание "_" и, кроме первого символа идентификатора, цифры от "0" до "9". Например, __aAb12_as111_1_4_5 — корректный идентификатор, а 1z — некорректный, т.к. начинается с цифры.

Что означает запись оператора присваивания в следующем виде *= ?

оператор - умножение с присваиванием, например, х*=5 идентичен оператору х=х*5.

Что означает запись оператора присваивания в следующем виде /=?

оператор - деление с присваиванием, например, х/=5 идентичен оператору х=х/5.

Что означает запись оператора присваивания в следующем виде %=?

оператор - остаток от деления с присваиванием, например, х%=5 идентичен оператору х=х%5.

Что означает запись оператора присваивания в следующем виде +=?

оператор - сложение с присваиванием, например, х+=5 идентичен оператору х=х+5

Что означает запись оператора присваивания в следующем виде -=?

оператор - вычитание с присваиванием, например, х-=5 идентичен

оператору х=х-5.

Что компилятор позволяет определить по типу переменной?

тип переменной - позволяет компилятору определить, какого вида

информация хранится в переменной;

Поясните понятие динамическая типизация.

Это означает, что любая переменная в любой момент времени может представлять любой тип данных (строка, целое число и т.д.). # Эти две переменные объявлены одинаково # Python определяет тип данных сам, динамически # строка var_name = "string here" # целое var_name = 1234.

Каковы две формы записи дробных чисел?

В языке Python допускается представление вещественных (дробных) значений в форме с плавающей и фиксированной точкой. В форме с фиксированной точкой число представляется последовательностью десятичных цифр со знаком «плюс» или «минус». Например: 7.32; 456.721; 0.015;192.0;-15.0. Форма с плавающей точкой (экспоненциальный формат) используется для представления очень больших или очень маленьких чисел. В этой форме число записывается в виде: ± т Е ± р, где m мантисса числа; Е - символ, обозначающий основание десятичной системы счисления чисел; р - порядок (степень) числа

Какие операции определены над данными целого типа?

Над данными целого типа определены следующие арифметические операции: + сложение; - вычитание; * умножение; / деление; // деление нацело; % остаток от целочисленного деления. Результат операции % можно вычислить по формуле: a%b=a - (a/b)*b.

Каково назначение оператора input?

INPUT - оператор, позволяющий вводить текстовые и числовые значения перемнных с клавиатуры

Каково назначение операторов print?

PRINT - оператор, позволяющий выводить текст или значения переменных на экран.

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

1)Операц- and(конъюкция-логическое умножение) Действие- Логическое И Выражение A and B. 2)Опер-or(дизъюнкция-логическое сложение) Действие Логическое или. Выражение-A or B. 3)Опер-not(отрицание) Действие- Логическое НЕ. Выражение not A.

Назовите функции приведения типов.

1. у=bооl(объект) - приводит объект к логическому типу. В переменной у будет храниться ссылка на объект логического типа, а не сам объект, хотя до выполнения оператора присваивания переменная у могла содержать ссылку на объект другого типа. Такая же ситуация будет и с другими функциями преобразования типов данных; 2. y = int(объект) - приводит объект к целому типу; 3. y = float(объект) - приводит объект к вещественному типу; 4. y = str(объект) - приводит объект к строковому типу; 5. у = list(последовательность) - преобразует элементы последовательности в список; 6. у = tuple(последовательность) - преобразует элементы последовательности в кортеж.

Для каких целей используются комментарии в программах?

Для лучшего понимания программы в ней часто записывается пояснительный текст - комментарий. Комментарии выполняют несколько важных функций: 1. делают программу легко читаемой, поясняя смысл отдельных программных строк; 2. временно отключают фрагменты программы при ее отладке. В языке Python комментарий к программной строке возможен с использованием символа #. Например, # Вычисляется сумма двух чисел sum=a+b

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

Прежде чем использовать математические функции, необходимо в начале программы написать инструкцию import math, однако тогда перед упоминанием каждой функции необходимо будет добавлять имя модуля - math, например, y=math.sin(x). Другой способ, который позволит избежать многократного вызова модуля math, - сделать следующую запись в начале программы: from math import *.

Назначение IDLE.

IDLE (Integrated Development Environment) - это интегрированная среда разработки на языке Python, с ее помощью мы можем просматривать, редактировать, запускать и отлаживать программы написанные на Python.

Какова роль отступов в программах, написанных на языке Python?

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

Какой алгоритм называется линейным?

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

Нарисуйте блок-схему общего вида линейного алгоритма.

Начало(скругленный прямоу)-P1(прямоуг)-P2(прям)- - - Pn(прямоу)-Конец(скруг прям)



С какой целью используется оператор exit(O) в программах, написанных на языке Python?

Оператор exit(0) вызовет появление окна сообщения, в котором спрашивается о том, хотите ли вы завершить запущенный на выполнение процесс (программу). В случае положительного ответа программа прекратит свою работу и, кроме того, закроется интерактивная сессия Python.

Что называется разветвляющимся алгоритмом?

Алгоритм называется разветвляющимся, если последовательность выполнения шагов алгоритма изменяется в зависимости от выполнения некоторых условий. Условие - это логическое выражение, которое может принимать одно из двух значений: «ДА» - если условие верно (истинно), и «НЕТ» - если условие неверно (ложно).

Запишите блок-схему простого условного оператора.

Круг(мал)->Логическое выражение(ромб) от него идет Да- Нет-. Стрелка вниз от обоих-> Да-P1(прям) Нет-P2(прям). Соед в одно и выходит в круг(мал)



Как записывается простой условный оператор в программах?

if Логическое выражение:

-P1

else:

-P2

Запишите блок-схему сокращенного условного оператора.

Круг(мал)->Логическое выражение(ромб)-Да Нет. Если Да стрелка внил и в P1(прямо) и в круг(мал). Если Нет,то сразу в круг(мал)



Как записывается сокращенный условный оператор в программах?

if Логическое выражение:

-P1

где if (если) - зарезервированное слово, a P1 - оператор.

Например, в листинге ниже при истинности логического выражения

выводится соответствующее сообщение «Тест 1 ветви»:

a=int(input("Введите значение а="))

b=int(input("Введите значение b="))

if a
print("Тест 1 ветви")

Запишите блок-схему составного условного оператора.



Как записывается составной условный оператор в программах?

if Логическое выражение:

- P1

-P2

.

.

-Pn

else:

-M1

-M2

-Mn

где if, else - зарезервированные слова, a P1, P2,…, Pn, M1, M2,…, Mn-операторы

Например:

a=int(input("Введите значение а="))

b=int(input("Введите значение b="))

if a
a=a+b

print("Сумма двух чисел a+b=", a)

else:

a=a*b

print("Произведение двух чисел a*b=", a)

Запишите блок-схему многозначных ветвлений.



Как записываются многозначные ветвления в программах?

if Логическое выражение 1:

-P1

elif Логическое выражение 2:

-Р2

elif Логическое выражение 3:

-Р3

else:

-Р4

где if,elif, else - зарезервированные слова, a P1, Р2, Р3, Р4 - операторы.

Дайте определение циклического алгоритма.

Алгоритм называется циклическим, если определенная последовательность шагов выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла. Цикл заканчивается, когда параметр принимает определенное значение. Для организации циклов с известным количеством повторений в языке Python используется оператор for.

Напишите синтаксис цикла for по возрастающим значениям параметра.



Напишите синтаксис цикла for по убывающим значениям параметра.

sum=0

for i in range(50, 0, -1):

-sum=sum+i

print("Сумма=", sum)

Напишите синтаксис сложного циклического процесса.



Какой цикл называется внешним, а какой - внутренним?

Если ситуация такая, что у тебя цикл находится в цикле. То тот который внутри - внутренний, а тот в котором находится цикл – внешний. Внутренний цикл - цикл, тело которого находится внутри другого цикла. Внешний цикл - цикл, который содержит в себе тело другого цикла.

В каких случаях применяются циклы с неизвестным числом повторений.

Циклическая структура, в которой число повторений цикла заранее неизвестно, а определяется только в процессе выполнения алгоритма, называется итеративной. Такие циклы нужно применять в тех задачах, где мы не можем знать точно, сколько раз будет повторен цикл. Например, пользователь должен вводить пароль, для того чтобы начать работу с какой-нибудь программой. Какое количество попыток он использует? Неизвестно.

Какая циклическая структура может считаться итеративной?

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

Нарисуйте блок-схему алгоритма оператора цикла while.



Напишите синтаксис оператора цикла while.



В каких случаях применяются рекуррентные соотношения?

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

Какие два преимущества кортежей в Python с точки зрения их использования в программах?

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

Какое принципиальное отличие кортежей в Python от привычных массивов данных в других языках программирования?

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

Опишите синтаксис объявления кортежей.

Имя кортежа = (элемент 1, элемент 2, ...элемент N)

Например

korteg=( 1, 2, 3,4, 5)

Каким образом осуществляется доступ к каждому элементу кортежа при его обработке?

Доступ к каждому элементу кортежа в программе осуществляется с помощью индекса - целого числа, служащего своеобразным именем элемента в кортеже. При упоминании в программе элемента кортежа сразу за его именем должен следовать индекс элемента в квадратных скобках, например, korteg[i] Важно отметить, что нумерация элементов кортежа начинается с нуля, а не с единицы. Операции по обработке кортежа осуществляются поэлементно в цикле с оператором for.

Реализация среза, осуществляется в программе с помощью какого оператора?

Срез кортежа получается в результате вывода элементов кортежа, находящихся между заранее заданными начальной а и конечной b позициями элементов. Реализация среза в программе осуществляется с помощью оператора print(korteg[a:b]).

Обмен значений элементов кортежа заключается в выполнении оператора …

maxim,minim=minim,maxim.

Поясните в двух словах в чем состоит принципиальное отличие списков, созданных на языке Python, от кортежей.

Список - аналог массивов в других языках программирования. И он изменяем, в отличии от кортежаКортеж нельзя отсортировать, однако можно преобразовать в список и отсортировать уже его. Кортеж объявляется круглыми скобками tuple = (1, 2, 3) Список же квадратными list = [1, 2, 3].

Опишите синтаксис объявления списков.

Имя списка = [элемент 1, элемент 2, ...элемент N]

Например,

spisok=[l, 2, 3, 4, 5]

С помощью каких трех функций можно сгенерировать списки в Python?

Во-первых, в функции range можно указать начальное и конечное значения списка, а функция list возвратит список. Во-вторых, можно воспользоваться функцией sample, которая из исходной последовательности элементов списка будет возвращать указанное пользователем количество элементов. При этом необходимо воспользоваться модулем random, подключив его с помощью инструкции import. В-третьих, в модуле random есть функция shuffle с помощью, которой можно перемешать список случайным образом.

Что выполняет метод spisok.append(x).

Добавляет значение х в конец списка

Что выполняет метод spisok.insert(i, х).

Вставляет значение х в позицию i

Что выполняет метод spisok.extend(spisokl).

Расширяет список, добавляя в конец все элементы списка spisokl

Что выполняет метод spisok.remove(x).

Удаляет первый элемент в списке, имеющий значение х

Что выполняет метод spisok.count(x).

Возвращает количество элементов со значением x

Что выполняет метод spisok.sort([reverse = True]).

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

Что выполняет метод spisok.reverse().

Возвращает обратный список

Дайте определение такой структуры данных языка Python, как словарь.

Структура данных, позволяющая идентифицировать ее элементы не по числовому индексу, а по произвольному объекту (числу, строке, кортежу), в языке Python называется словарем.

Опишите синтаксис создания словаря.



В парах «ключ:значение» может ли быть два одинаковых ключа?

Двух одинаковых ключей в парах «ключ:значение» быть не может.

Словари относятся к последовательностям?

Словари не относятся к последовательностям. Таким образом, те функции, которые использовались для работы со списками и кортежами, для словарей неприемлемы.

Как называется кодировка, поддерживающая кодирование буквенно-цифровых символов?

ASCII

Перечислите основные функции для работы с символами.

  1. Функция len() назначение которой заключается в определении длины строки.

  2. ord(), синтаксис которой ord("Символ") возвращает код указанного символа.

  3. chr(Число), прямо противоположно функции ord(), а именно, по ASCII-коду символа вернуть символ.

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

Метод upper(). Метод lower(). Метод swapcase(). Метод capitalize(). Метод title().

Какой метод позволяет разбить строку на подстроки?

Метод replace()

Какой метод отвечает за преобразование строки в список?

Метод split().

Каким образом можно осуществить срез строки?

Чтобы создать срез, введите диапазон индексов в квадратные скобки, разделив их двоеточием: print(ss[6:10])


написать администратору сайта