Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Построить синтаксический анализатор для понятия предложение.



предложение:: =

слово:: =

разделитель:: =

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

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

< выражение> :: = < цифра> | < выражение> + < цифра> |
    < выражение> – < цифра>

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

< выражение> :: = < терм> | < выражение> + < терм> |
    < выражение> – < терм>
< терм> :: = < цифра> | < терм> * < цифра>

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

< выражение> :: = < терм> | < выражение> + < терм> |
    < выражение> – < терм>
< терм> :: = < элемент> | < терм> * < элемент>
< элемент> :: = < цифра> | (< выражение> )

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

< выражение> :: = < цифра> |
    (< выражение> < знак> < выражение> )
< знак> :: = + | – | *

44. Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом (функция M возвращает максимальный из своих параметров, а функция m — минимальный):

< выражение> :: = < цифра> | M(< выражение> , < выражение> ) |
    m(< выражение> , < выражение> )

45. Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим образом («T» — True, «F» — False):

< выражение> :: = T | F | And(< выражение> , < выражение> ) |
    Or(< выражение> , < выражение> )

46. Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом (функция M возвращает максимальный из своих параметров, а функция m — минимальный):

< выражение> :: = < цифра> | M(< параметры> ) | m(< параметры> )
< параметры> :: = < выражение> | < выражение> , < параметры>

47. Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим образом («T» — True, «F» — False):

< выражение> :: = T | F | And(< параметры> ) | Or(< параметры> )
< параметры> :: = < выражение> | < выражение> , < параметры>

48. Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим образом («T» — True, «F» — False):

< выражение> :: = T | F | And(< параметры> ) |
    Or(< параметры> ) | Not(< выражение> )
< параметры> :: = < выражение> | < выражение> , < параметры>

 

 


Текстовые файлы

Уровень сложности

  1. Дан файл f.txt, компоненты которого являются действительными числами:

a) найти сумму компонентов файла f.txt;

b) найти произведение компонентов файла;

c) найти сумму квадратов компонентов файла f.txt;

d) найти модуль суммы и квадрат произведения компонентов файла f.txt;

e) найти последний компонент файла;

f) найти наибольшее из значений компонентов;

g) найти наименьшее из значений компонентов с четными номерами;

h) найти наибольшее из значений модулей компонентов с нечетными номерами;

i) найти сумму наибольшего и наименьшего из значений компонентов;

j) найти разность первого и последнего компонентов;

k) найти количество четных чисел среди компонентов;

l) найти количество удвоенных нечетных чисел среди компонентов;

m) найти количество квадратов нечетных чисел среди компонентов.

  1. Дан файл f.txt, компоненты которого являются целыми числами:

a) получить в файле g.txt все компоненты f.txt, являющиеся четными числами;

b) получить в файле g.txt все компоненты f.txt, делящиеся на 3 и не делящиеся на 7;

c) получить в файле g.txt все компоненты f.txt, являющиеся точными квадратами;

d) получить файл g.txt, образованный из файла f.txt исключением повторных вхождений одного и того же числа;

e) число компонентов файла делится на 100. Записать в файл g наибольшее значение первых ста компонентов файла f.txt, затем следующих ста компонентов и т.д;

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

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

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

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

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

7. Дан текстовый файл. В каждой его строке первые 30 позиций отводятся под текст, а оставшаяся часть — под вещественное число. Создать два файла: строковый файл, содержащий текстовую часть исходного файла, и файл вещественных чисел, содержащий числа из исходного файла (в том же порядке).

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

9. Дан текстовый файл, содержащий таблицу из трех столбцов целых чисел. В начале и в конце каждой строки таблицы, а также между ее столбцами располагается символ-разделитель. Ширина столбцов таблицы, способ их выравнивания и вид символа-разделителя являются произвольными. Создать файл целых чисел, содержащий сумму чисел из каждой строки исходной таблицы.

10. Дан файл f.txt, компоненты которого являются целыми числами. Записать в файл g все четные числа файла f.txt, а в файл h – все нечетные. Порядок следования чисел сохраняется.

11. Дан файл f.txt, компоненты u0, u1, …un которого являются последовательными числами Фибоначчи (Последовательность чисел Фибоначчи u0, u1, … образуется по закону u0=0; u1=1; ui=ui-1+ui-2 (i=2, 3, …)). Получить в файле f.txt, последовательные числа Фибоначчи u0, u1, …, un+1.

12. Вычислить по схеме Горнера значение многочлена с рациональными коэффициентами для данного рационального значения переменной. Считать, что числители и знаменатели коэффициентов записаны в файле f.txt; вначале числитель старшего коэффициента и т.д., в последнюю очередь числитель и знаменатель свободного члена.

13. Дан файл f.txt, компоненты которого являются целыми числами. Никакой из компонентов файла не равен нулю. Файл f.txt содержит столько отрицательных чисел, сколько и положительных.

a) используя вспомогательный файл h.txt, переписать компоненты файла f.txt в файл g.txt так, чтобы в файле g.txt не было двух соседних чисел с одним знаком. Предполагается, что число компонентов файла f.txt делится на 4;

b) используя вспомогательный файл h.txt, переписать компоненты файла f.txt в файл g.txt так, чтобы в файле g.txt сначала шли положительные, потом отрицательные числа. Предполагается, что число компонентов файла f.txt делится на 4;

c) используя вспомогательный файл h.txt, переписать компоненты файла f.txt в файл g.txt так, чтобы в файле g.txt числа шли в следующем порядке: два положительных, два отрицательных, два положительным, два отрицательных и т.д. Предполагается, что число компонентов файла f.txt делится на 4.

14. Дан файл f.txt, компоненты которого являются целыми числами. Никакой из компонентов файла не равен нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т.д.

a) переписать компоненты файла f.txt в файл g.txt так, чтобы в файле g.txt числа шли в следующем порядке: пять положительных, пять отрицательных, пять положительных, пять отрицательных и т.д. Предполагается, что число компонентов файла f.txt делится на 40;

b) переписать компоненты файла f.txt в файл g.txt так, чтобы в файле g.txt числа шли в следующем порядке: двадцать положительных, двадцать отрицательных, двадцать положительных, двадцать отрицательных и т.д. Предполагается, что число компонентов файла f.txt делится на 40.

15. Даны два файла целых чисел одинакового размера. Создать текстовый файл, содержащий эти числа, расположенные в два столбца шириной по 30 символов (в первом столбце содержатся числа из первого исходного файла, во втором — из второго файла). В начало и конец каждой строки текстового файла добавить разделитель «|» (код 124). Числа выравниваются по правому краю столбца.

16. Даны три файла целых чисел одинакового размера. Создать текстовый файл, содержащий эти числа, расположенные в три столбца шириной по 20 символов (в каждом столбце содержатся числа из соответствующего исходного файла). В начало и конец каждой строки текстового файла добавить разделитель «|» (код 124). Числа выравниваются по левому краю столбца.

17. Дан текстовый файл:

a) продублировать в нем все пустые строки;

b) вывести количество содержащихся в нем символов и строк;

c) переписать в другой файл данные, удалить из него все пустые строки;

d) заменить в нем все прописные русские буквы на строчные, а все строчные — на прописные;

e) заменить в нем все подряд идущие пробелы на один пробел;

f) вывести последнее слово текста наименьшей длины. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки;

g) вывести первое слово текста наибольшей длины. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки;

h) найти количество абзацев в тексте, если абзацы отделяются друг от друга одной или несколькими пустыми строками;

i) найти количество абзацев в тексте, если первая строка каждого абзаца начинается с 5 пробелов («красная строка»). Пустые строки между абзацами не учитывать;

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

k) создать символьный файл, содержащий все знаки препинания, встретившиеся в текстовом файле (в том же порядке);

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

m) подсчитать число появлений в нем каждой строчной (то есть маленькой) русской буквы и создать строковый файл, элементы которого имеют вид «< буква> –< число ее появлений> » (например, «а–25»). Буквы, отсутствующие в тексте, в файл не включать. Строки упорядочить по убыванию числа появлений букв, а при равном числе появлений — по возрастанию кодов букв.

18. Дана строка S и текстовый файл:

a) заменить в файле все пустые строки на строку S;

b) добавить строку S в конец (начало) файла.

19. Дан непустой текстовый файл. Переписать в другой файл данные, удалить из него первую (последнюю) строку.

20. Даны два текстовых файла:

a) добавить в конец (начало) первого файла содержимое второго файла;

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

21. Дан символьный файл (Файл, компоненты которого являются символами, называется символьным файлом). Получить копию файла в другом файле.

22. Даны символьные файлы f.txt и g.txt:

a) переписать с сохранением порядка следования компоненты файла f.txt в файл g.txt, а компоненты файла g.txt – в файл f.txt. Использовать вспомогательный файл h.txt;

b) записать в файл h.txt все начальные совпадающие компоненты файла f.txt и g.txt.

23. Дан символьный файл f.txt:

a) записать в файл g.txt с сохранением порядка следования те символы файла f.txt, которым в этом файле предшествует буква a;

b) записать в файл g.txt с сохранением порядка следования те символы файла f.txt, вслед за которыми в этом файле идет буква a;

c) в файле f.txt не менее 2 компонент. Определить, являются ли два первых символа файла цифрами. Если да, то установить, являются ли число, образованное этими цифрами, четным;

d) добавить в его конец символы, которые пользователь задает сам (если это необходимо, использовать дополнительный файл g.txt).

24. Дан символьный файл f.txt, содержащий произвольный текст длиной более 5000 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 100 наиболее часто встречающихся слов и число их появлений:

a) решить задачу без ограничения на длины слов;

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

25. Даны два символьных файла f.txt и g.txt. Файл f.txt содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл g.txt содержит не более 40 слов, которые разделены запятыми. Эти слова образуют пары: каждое первое слово считается заменяемым, каждое второе слово – заменяющим. Найти в файле f.txt все заменяемые слова и заменить их на соответствующие заменяющие. Результат поместить в файл h.txt.

26. Дан символ Cпрописная (заглавная) русская буква и текстовый файл. Создать строковый файл и записать в него все слова из исходного файла, начинающиеся на эту букву (прописную или строчную). Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит подходящих слов, то оставить результирующий файл пустым.

27. Дан символ Cстрочная (маленькая) русская буква и текстовый файл. Создать строковый файл и записать в него все слова из исходного файла, содержащие хотя бы одну букву C (прописную или строчную). Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит подходящих слов, то оставить результирующий файл пустым.

28. Дан текстовый файл, содержащий текст, выровненный по левому краю:

a) выровнять текст по правому краю, добавив в начало каждой непустой строки нужное количество пробелов (ширину текста считать равной 50)

b) выровнять текст по центру, добавив в начало каждой непустой строки нужное количество пробелов (ширину текста считать равной 50). Строки нечетной длины перед центрированием дополнять слева пробелом;

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

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

30. Дано имя файла и целые положительные числа n и k. Создать текстовый файл с указанным именем и записать в него n строк, каждая из которых состоит из k символов «*» (звездочка).

31. Дано целое число k и текстовый файл:

a) вставить пустую строку после строки файла с номером k. Если строки с таким номером нет, то оставить файл без изменений;

b) удалить из файла строку с номером k. Если строки с таким номером нет, то оставить файл без изменений;

c) удалить из каждой строки файла первые k символов (если длина строки меньше k, то удалить из нее все символы).

32. Дано целое число k и текстовый файл. Создать строковый файл и записать в него все слова длины k из исходного файла. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит слов длины k, то оставить результирующий файл пустым.

33. Дано целое число k и текстовый файл. Удалить из файла абзац с номером k (абзацы отделяются друг от друга одной или несколькими пустыми строками). Пустые строки, предшествующие и следующие за удаляемым абзацем, не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.

34. Дано целое число k и текстовый файл. Удалить из файла абзац с номером k, абзацы выделяются с помощью красной строки (красная строка – это строка каждого абзаца, начинаемая с 5 пробелов). Пустые строки между абзацами не учитывать и не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.

35. Дано целое число k (0 < k < 10) и текстовый файл, содержащий более k строк:

a) удалить из файла последние k строк;

b) создать новый текстовый файл, содержащий k последних строк исходного файла.

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

37. Описать процедуру, меняющую порядок следования элементов файла целого типа на противоположный. Если файл не существует или содержит менее двух элементов, то процедура не выполняет никаких действий.

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

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

40. Описать процедуру, которая шифрует текстовый файл, выполняя циклическую замену каждой русской буквы на букву того же регистра, расположенную в алфавите на i-й позиции после шифруемой буквы (0 < i < 10). Например, при i = 3 «А» перейдет в «Г», «я» — в «в». Букву «ё» в алфавите не учитывать, считая, что за буквой «е» сразу идет «ж». Символы, не являющиеся русскими буквами, при шифровании не изменять. Используя эту процедуру и зная кодовое смещение i, зашифровать файл.

  1. Описать процедуру, которая дешифрует текстовый файл, зашифрованный с использованием кодового смещения K (шифрование текстового файла с именем S, выполняя циклическую замену каждой русской буквы на букву того же регистра, расположенную в алфавите на K-й позиции после шифруемой буквы (0 < K < 10)). Используя эту процедуру и зная кодовое смещение K, расшифровать файл.

 

Уровень сложности

  1. Даны два символьных файла f.txt и g.txt. Записать в файл h.txt сначала компоненты файла f.txt, затем – компоненты файла g.txt с сохранением порядка.
  2. Дан символьный файл f.txt. Записать в файл g.txt компоненты файла f.txt в обратном порядке.
  3. Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на K-й позиции строки, на букву того же регистра, расположенную в алфавите на SK-м месте после шифруемой буквы (для K = 11 снова используется смещение S1 и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять.
  4. Дана строка и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на K-й позиции строки, на букву того же регистра, расположенную в алфавите на SK-м месте после шифруемой буквы (для K = 11 снова используется смещение S1 и т. д.). Данная строка представляет собой первую расшифрованную строку текста. Расшифровать остальные строки и заменить в файле зашифрованный текст, на расшифрованный. Если информации для расшифровки недостаточно, то исходный файл не изменять.
  5. Даны вещественные числа A, B и целое число N. Создать текстовый файл, содержащий таблицу значений функции (x)1/2 на промежутке [A, B] с шагом (BA)/N. Таблица состоит из двух столбцов: с аргументами x (10 позиций, из них 4 под дробную часть) и со значениями (x)1/2 (15 позиций, из них 8 под дробную часть). Столбцы выравниваются по правому краю.
  6. Даны вещественные числа A, B и целое число N. Создать текстовый файл, содержащий таблицу значений функций sin(x) и cos(x) на промежутке [A, B] с шагом (BA)/N. Таблица состоит из трех столбцов: с аргументами x (8 позиций, из них 4 под дробную часть) и со значениями sin(x) и cos(x) (по 12 позиций, из них 8 под дробную часть). Столбцы выравниваются по правому краю.
  7. Прямая на плоскости задается уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, с – целые числа. Пусть f.txt – файл, содержащий коэффициенты нескольких прямых (не менее трех). Переписать из файла f.txt в файл g.txt коэффициенты тех прямых, которые параллельны первой из прямых, заданной в файле f.txt.
  8. Прямая на плоскости задается уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, с – целые числа. Пусть f.txt – файл, содержащий коэффициенты нескольких прямых (не менее трех). Переписать из файла f.txt в файл g.txt коэффициенты тех прямых, которые параллельны первой из прямых, заданной в файле f.txt, но дополнительно требуется, чтобы все прямые были различны.
  9. Прямая на плоскости задается уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, с – целые числа. Пусть f.txt – файл, содержащий коэффициенты нескольких прямых (не менее трех). Переписать из файла f.txt в файл g.txt коэффициенты тех прямых, которые пересекают первую из прямых, заданных в файле f.txt
  10. Прямая на плоскости задается уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, с – целые числа. Пусть f.txt – файл, содержащий коэффициенты нескольких прямых (не менее трех). Переписать из файла f.txt в файл g.txt коэффициенты тех прямых, которые пересекают первую из прямых, заданных в файле f.txt, но дополнительно требуется, чтобы среди прямых не было параллельных.
  11. Прямая на плоскости задается уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, с – целые числа. Пусть f.txt – файл, содержащий коэффициенты нескольких прямых (не менее трех). Требуется получить в файле g.txt коэффициенты всех различных прямых файла f.txt.

 


Списки

 

Уровень сложности

  1. Дан непустой список:

a) заменить в списке все вхождения i-го элемента на j-ый;

b) подсчитать количество элементов в списке;

c) подсчитать количество различных элементов в списке;

d) посчитать количество элементов списка, у которого равные «соседи» (первый и последний элемент считать соседями);

e) найти среднее арифметическое элементов непустого списка;

f) найти максимальный (минимальный) элемент непустого списка;

g) найти сумму i-го и j-го элементов списка;

h) поменять местами первый и последний элементы непустого списка;

i) проверить, упорядочены ли элементы списка по возрастанию (убыванию);

j) напечатать в обратном порядке элементы списка;

k) напечатать все элементы списка, входящие в него только один раз (более чем один раз);

l) перенести в конец (начало) непустого списка его первый (последний) элемент;

m) переставить i-й и k-й элементы списка;

n) удвоить каждое вхождение элемента в списке;

o) включить в начало (конец) списка новый элемент;

p) включить новый элемент в список перед (после) k-тым элементом;

q) включить в список новый элемент за первым (перед последним) вхождением элемента;

r) удалить из непустого списка i-ый элемент;

s) удалить из списка первый (все) отрицательный (-ые) элемент (-ы);

t) удалить из списка первое (последнее) вхождение заданного элемента;

u) удалить из списка максимальный (минимальный) элемент;

v) удалить из списка все элементы, меньшие среднеарифметического;

w) удалить из списка все элементы, у которых одинаковые «соседи» (первый и последний элемент считать соседями);

x) построить новый список, который является копией существующего;

y) расформировать список;

z) определить есть ли в списке хотя бы один элемент, который равен следующему за ним (по кругу) элементу;

aa)разбить список на два подсписка.

  1. Дано два непустых списка:

a) проверить на равенство списки;

b) определить, входит ли первый список во второй;

c) объединить два списка в один;

d) добавить в конец одного списка все элементы другого;

e) вставить за первым вхождением i-го элемента одного списка все элементы другого списка;

f) объединить два упорядоченных по убыванию (возрастанию) списка и в один упорядоченный по убыванию (возрастанию) список, построив новый список;

g) объединить два списка, перемещенные элементы первого списка расположить во втором в обратном порядке.

  1. Дано два непустых списка. Сформировать список L:

a) включив в него по одному разу элементы, которые входят хотя бы в один из списков;

b) включив в него по одному разу элементы, которые входят одновременно в оба списка;

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

  1. Дан кольцевой (циклический) список. Определить, является ли список пустым.

5. «Считалка». N ребят располагаются по кругу. Начав отсчет от первого, удаляют

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

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

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

  • хранение всех заявок в виде списка;
  • добавление заявок в список;
  • удаление заявок;
  • вывод заявок по заданному номеру рейса и дате вылета;
  • вывод всех заявок.

7. Составить программу, которая содержит динамическую информацию о наличии

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

  • начальное формирование данных обо всех автобусах в парке в виде списка;
  • при выезде каждого автобуса из парка вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке, и записывает эти данные в список автобусов, находящихся на маршруте;
  • при въезде каждого автобуса в парк вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте, и записывает эти данные в список автобусов, находящихся в парке;
  • по запросу выдается сведение об автобусах, находящихся в парке, или об автобусах, находящихся на маршруте.

 

Очередь

1. Дан набор из n чисел. Создать очередь, содержащую данные числа в указанном

порядке (первое число будет размещаться в начале очереди, последнее — в конце). Удалить из очереди все четные (нечетные) элементы.

2. Дан набор из n чисел. Создать две очереди: первая должна содержать числа

из исходного набора с нечетными номерами (1, 3, …, 9), а вторая — с четными

(2, 4, …, 10); порядок чисел в каждой очереди должен совпадать с порядком чисел в исходном наборе. Создать очередь, которая объединяет предыдущие две, сохраняя порядок.

3. Дан набор из n чисел. Извлечь из очереди n начальных элементов и вывести

их значения (если очередь содержит менее n элементов, то извлечь все ее элементы).

4. Даны две непустые очереди. Перемещать элементы из начала первой очереди в конец

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

 

Стек

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

 

1. Постфиксной формой записи выражения a Δ b называется запись, в которой знак операции размещен за операндами: a b Δ.

Примеры:

a-b à ab-;

a*b+c à ab*c+;

a*(b+c) à abc+*;

a+bá cá d*e à abcá dá e*+.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-12; Просмотров: 897; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.109 с.)
Главная | Случайная страница | Обратная связь