Экзамен на максимум (Экзамен "Основы программирования" Pascal Ответы на все теоретические вопросы)

2021-07-27СтудИзба

Описание файла

Документ из архива "Экзамен "Основы программирования" Pascal Ответы на все теоретические вопросы", который расположен в категории "". Всё это находится в предмете "основы программирования" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Онлайн просмотр документа "Экзамен на максимум"

Текст из документа "Экзамен на максимум"

1

Синтаксис и семантика языков программирования. Алфавит языка Delphi Pascal. Описание синтаксиса языка: синтаксические диаграммы.

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

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

Алфавит языка программирования Delphi Pascal включает:

  1. Строчные, прописные буквы латинского алфавита (строчные и прописные буквы не различаются) и знак подчеркивания “_”, который во многих случаях считается буквой.

  2. Цифры (0 – 9)

  3. Специальные качестве), например, begin, end, and, or, then, do, if, else, while, repeat, until, var, mod, div и другие.

  4. Русские символы допускаются только при определении строковых и символьных констант и в комментариях

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

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

2

Представление данных в Delphi Pascal: константы и переменные. Классификация скалярных типов данных, операции над ними, совместимость типов данных и операции преобразования типов.

Константы – данные, не изменяемые в процессе выполнения программы. Используют следующие типы констант: числовые константы (целые и вещественные десятеричные и целые 16-ичные), логические константы (true, false), символьные константы (в апострофах или в виде числовых кодов символов по ANSI перед '#'), строковые константы (в апострофах), конструкторы множеств, «нулевой» адрес – nil. Константы используются как литералы (значение константы, записанное непосредственно в программе) и как поименованные константы (константы, обращение к которым выполняется по имени, объявляются в разделе описаний const).

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

Скалярные типы описывают единственные значения из заданных наборов. Значение структурного типа образуется из некоторого количества значений скалярных типов.

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

Арифметические операции – применяют к вещественным и целым константам и переменным:

+, -, *,

/ {вещественное деление},

div {целочисленное деление},

mod {остаток от деления}

Операции отношения – применяют к числам, символам, строкам – в результате получают логическое значение:

{больше}, ={равно},

<>{не равно}, ={больше или равно}

Логические операции – применяют к логическим значениям – результат логическое значение (not, and, or, xor)

Поразрядные операции – выполняются поразрядно, применяют к целым, результат – целое число (not, and, or, xor, shr {сдвиг вправо}, shl {сдвиг влево})

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

По правилам совместимы:

а) все целые типы между собой;

б) все вещественные типы между собой;

в) отрезок базового типа и базовый тип;

г) два отрезка одного и того же базового типа;

д) символ и строка.

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

  • целого и вещественного типов – к вещественному,

  • с разными интервалами представлений – к типу с большим интервалом.

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

trunc() – преобразует вещественное число в целое, отбрасывая дробную часть.

round() – округляет вещественное число до целого по правилам арифметики.

ord() – преобразует значение в его номер.

chr() – преобразует номер символа в символ.

3

Основные операторы Delphi Pascal: присваивание, условный оператор, оператор выбора и операторы циклов. Синтаксис операторов, их особенности и примеры использования.

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

Оператор условной передачи управления используется при обработке вариантов вычислений и реализует конструкцию ветвления.

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

Для реализации циклических процессов используют операторы циклов.

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

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

Ц икл-пока. Оператор тела цикла повторяется, пока условие истинно. Проверка осуществляется на входе в цикл и при каждом повторении. Если при входе в цикл условие не выполняется, то оператор тела цикла игнорируется.

Ц икл-до. Операторы тела цикла повторяются до выполнения условия, условие проверяется на выходе каждый раз после выполнения тела цикла.

Поисковый цикл имеет два выхода – нашли и перебрали все и не нашли.

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

4

Структурные типы данных Delphi Pascal: массивы, строки. Описание, операции над структурами и их элементами.

Массив – это упорядоченная совокупность однотипных данных. Каждому элементу массива соответствует один или несколько индексов порядкового типа, определяющих положение элемента в массиве.

Количество типов индексов задает размерность массива.

Тип индекса – порядковый – определяет доступ к элементу.

Тип элемента – любой кроме файла, в том числе массивы, строки и т.п.

Массив в памяти не может занимать более 2 Гб.

Var a:array[1..5] of integer;

с:array[’A’..’C’,-5..-3] of byte;

b:array[byte] of char;

Операции над массивом

Операция присваивания (только для массивов одного типа):

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

Ввод/вывод массивов осуществляется поэлементно

for i:=1 to 5 do Read(a[i]);

Вывод матрицы

for i:=1 to 5 do

begin

for j:=1 to 7 do Write(a[i, j]);

{ ai,1 ai,2 ai,3 ai,4 ai,5 ai,6 ai,7}

WriteLn; {переходим на следующую строку}

end; ...

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

Var S1,S2:string[40]; S3:string;

Операции

  1. Присваивание строк:

S1:=′ABCD′;

S1:=S2;

  1. Обращение к элементу:

S1[5] - прямое

S1[i] – косвенное

  1. Конкатенация (сцепление) строк:

St:=St + ’A’;

St:=’A’ + ’B’;

  1. Операции отношения – выполняется попарным сравнением кодов символов, результат определяется по отношению кодов первых различных символов:

b:= S1 > S2;

  1. Ввод-вывод строк:

ReadLn(S1);

{Строка вводится до Enter

или указанной длины}

WriteLn(S1);

Процедуры и функции

  1. Функция Length(st) – возвращает длину строки st:

  2. Процедура Delete(st, index, count) – удаляет count символов строки st, начиная с символа с номером index

  3. Процедура Insert(St2,St1,index) – вставляет подстроку символов St2 в строку St1, начиная с символа с номером index

  4. Процедура Str(x[:w[:d]],St) – преобразует результат выражения x, в строку st, содержащую запись этого числа в виде последовательности символов (как при выводе).

  5. Процедура Val(St,x,Code) – преобразует строку St с записью числа в виде последовательности символов во внутреннее представление целого или вещественного числа и помещает его в переменную x. В целочисленной переменной Code процедура возвращает код ошибки

  6. Функция Copy(St,index,count):string – возвращает фрагмент строки St, длиной count символов, начиная с символа с номером index

  7. Функция Pos(St2,St1):integer – возвращает номер позиции первого вхождения подстроки St2 в строку St1. Если вхождение не найдено, то функция возвращает 0

  8. Функция UpCase(ch):char – возвращает символ, соответствующий символу верхнего регистра для ch, если таковой имеется, либо сам символ ch, если для него не определен символ верхнего регистра

5

Структурные типы данных Delphi Pascal: множества, записи. Описание, операции над структурами и их элементами.

Множество – неупорядоченная совокупность неповторяющихся элементов.

Тип элементов – порядковый, кроме Word, Integer, SmallInt, LongInt. Количество элементов не должно превышать 256.

Type

Digits = set of 1..100;

Setchar = set of char;

letter = set of ′a′..′z′;

Var mychar: setchar;

mydig: Digits;

simst: letter;

Type setnum = set of byte;

Var S:setnum = [1..10];

Операции над множествами

1. Присваивание:

A:=B;

A:=[];

2. Объединение, пересечение и дополнение:

А+B (AB) – объединение множеств А и B – множество, состоящее из элементов, принадлежащих множествам А и B

А*B (AB) – пересечение множеств А и B – множество, состоящее из элементов, принадлежащих одновременно и множеству А и множеству B.

А-B (A \ B) – дополнение множества А до B – множество, состоящее из тех элементов множества А, которые не принадлежат множеству B.

[1..15]-[3,8,9,15,23,45] = [1,2,4..7,10..14];

3. Операции отношения:

А = Bпроверка совпадения множеств А и B (если совпадают – true)

А <> Bпроверка не совпадения множеств А и B (не совпадают – true).

А <= Bпроверка нестрогого вхождения A в B (если входит – true).

А > Bпроверка строгого вхождения B в A (если входит – true).

4. Проверка вхождения элемента во множество

if a in [2..6] then

Ввод элементов множества:

Var S:set of 1..100; n:word; ...

S:=[];

Read(n);

while n<>0 do

begin

S:=S+[n];

Read(n);

end;

ReadLn;...

Вывод элементов множества:

Var S:set of ’a’..’z’; ...

for i:=’a’ to ’z’ do

if i in S then Write(i:3);

WriteLn;

Запись – это структура данных, образованная фиксированным числом разнотипных компонентов, называемых полями записи.

Type Data = record

Day:1..31;

Month: 1..12;

Year: word;

end;

Var Zap1:Data;

Вариативная часть

Операции над записями

1. Присваивание записей одного типа:

Var A,B: record Day:1..31; Month: 1..12; Year: word; end;

A:=B;

2. Доступ к полям записи:

A.Day:=21; {точечная нотация}

with A do Day := 21; {оператор доступа}

3. Ввод и вывод записей осуществляется по полям.

6

Процедуры и функции Delphi Pascal. Способы передачи данных в подпрограмму. Локальные и глобальные переменные, законы «видимости» идентификаторов.

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

Процедура

Procedure RRR(a:integer;b:real);

Функция

Function F23(a:integer;b:real):boolean;

F := …

Result := …

Вызов функции можно осуществлять в составе выражения везде (оператор присваивания, вывода и т.д.)

Процедура же должна вызываться отдельным параметром, состоящим из имени процедуры и списка фактических параметров. В схеме обозначается блоком «предопределенный процесс».

Классы переменных

Время жизни

Доступность

Глобальные – объявленные в основной программе

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

Из любого места программы, включая подпрограммы*

Локальные – объявленные в подпрограмме

От вызова подпрограммы до возврата управления

Из подпрограммы и подпрограмм, вызываемых из нее*

Подпрограмма может получать данные из основной программы:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее