Контрольная работа по Программированию для студентов з/о физико-математического факультета

Вид материалаКонтрольная работа

Содержание


ВСЕ 35 вопросов и решение задачи на построение графика, соответствующего варианта.прием
Подобный материал:
Контрольная работа

по Программированию

для студентов з/о физико-математического факультета

специальность «Информатика», срок обучения 6 лет

выдается во 2 семестре 2010 г. (летняя сессия)


ТЕ, кто ОТСУТСТВОВАЛ во время сессии на лекциях обязательно отвечает на вопросы по всем темам.

В контрольной работе задания по следующим темам:


на «Строковые переменные», состоящее из одной задачи;

на «Файлы-Записи», состоящее из ответов на ВСЕ 56 вопросов и одной задачи;

на «Подпрограммы», состоящее из одной задачи на процедуры или на функции, соответствующего варианта;

на «Графику», состоящее из ответов на ВСЕ 35 вопросов и решение задачи на построение графика, соответствующего варианта.


прием контрольной работы во время зимней сессии

(январь-февраль 2011)


22.06.2010 /Вергелес Е.Е. /

Задания на Строковые переменные

  1. Напишите программу, подсчитывающую количество букв во введенном с клавиатуры слове. Ввод осуществляйте в цикле while do. Выход из программы – строка «999».
  2. Дано натуральное число n и символы s1, s2, …, sn. Подсчитать сколько раз среди данных символов встречается символ +.
  3. Дано натуральное число n и символы s1, s2, …, sn. Подсчитать количество встречающихся символов *.
  4. Дано натуральное число n и символы s1, s2, …, sn. Выяснить, каких символов больше + или *.
  5. Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.
  6. Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется одним пробелом.
  7. Напишите программу, которая подсчитывает стоимость телеграммы, текст которой вводится с клавиатуры.
  8. Напишите программу, определяющую, какая из букв первая или последняя встречаются в заданном слове чаще.
  9. Задано существительное первого склонения, оканчивающееся на букву «а». Напечатайте это слово во всех падежах.
  10. Напишите программу, определяющую, сколько букв «о» стоит в заданном слове на четных местах.
  11. Заданы фамилия, имя и отчество учащегося, разделенные пробелами. Напишите программу, печатающую фамилию ученика и его инициалы.
  12. Напишите программу, удаляющую из слова i-ю букву.
  13. Напишите программу, удаляющую из текста все буквы, совпадающие с его последней буквой.
  14. Напишите программу, удаляющую из слова X все буквы, которые встречаются в слове Z.
  15. Напишите программу, подсчитывающую количество различных букв в заданном слове.
  16. Напишите программу, удаляющую из слова каждую третью букву.
  17. Напишите программу, которая в заданном тексте меняет слово «Петр» на слово «Иван».
  18. Напишите программу, которая удаляет из введенной строки любой требуемый введенный с клавиатуры символ. Процесс удаления выделите в отдельную процедуру.
  19. В заданном тексте заменить все буквы "а" на букву "о".
  20. Составить программу, которая обращает введенное слово, т.е. переставляет символы в обратном порядке.
  21. Составить программу, определяющую, является ли введенное слово перевертышем.
  22. Напишите программу, сортирующую символы введенной с клавиатуры строки в порядке возрастания их номеров в ASCII-таблице.
  23. Напишите программу, вычисляющую длину самого короткого слова в предложении из трех слов, разделенных пробелами.
  24. Составить программу, которая выводит на экран бегущую строку.
  25. Составить программу, удаляющую в строке все, что заключено между фигурными скобками и их самих.

Работа с файлами на языке Pascal


Вопросы
  1. Что называется файлом?
  2. В чем различие между структурой логического и структурой физического файла?
  3. В чем сходство и в чем различие между массивом и файлом?
  4. По каким признакам классифицируют файлы в Turbo Pascal 7.0?
  5. Что необходимо выполнить для открытия файла?
  6. Какие процедуры предназначены для открытия файла и как они работают?
  7. Для чего предназначена процедура CLOSE?
  8. Какие типы допускаются в описании типизированных файлов?
  9. Как нумеруются элементы типизированных файлов?
  10. По каким правилам выполняется чтение из типизированных файлов?
  11. Какой формат имеет процедура WRITE для типизированных файлов?
  12. Что возвращает функция Filepos в файле прямого доступа?
  13. Что возвращает функция Filesize в файлах прямого доступа?
  14. Что производит процедура Seek в файлах прямого доступа?
  15. В чем состоят особенности текстовых файлов?
  16. В чем отличие текстового файла от file of Char?
  17. Как работает процедура Readln в текстовом файле?
  18. Как работает процедура Writeln в текстовом файле?
  19. Как объявляется нетипизированный файл?
  20. В чем отличие типизированного файла от нетипизированного?
  21. Что такое последовательный файл?
  22. Какого типа могут быть компоненты файла?
  23. Сколько компонентов может содержать файл?
  24. Как определяется длина файла?
  25. Нужно ли при определении файла заранее указывать его длину?
  26. Могут ли одновременно быть доступны несколько компонентов последовательного файла?
  27. Могут ли быть записями одного и того же файла следующие значения: "1", -5, 1.73?
  28. Куда помещается при записи очередной компонент файла?
  29. Какая запись будет прочитана по команде чтения?
  30. Какие действия выполняются системой по команде «открыть файл»?
  31. Отличаются ли действия, соответствующие командам reset и rewrite?
  32. Можно ли открыть одновременно для чтения и записи:
  33. а) типизированный файл?
  34. б) текстовый файл?
  35. Можно ли прочитать файл, открытый для записи?
  36. Можно ли изменить какую-то запись уже существующего последовательного файла?
  37. Приведите описание и фрагмент программы для формирования последовательного файла из целых чисел и последующего его считывания.
  38. Можно ли добавить новую запись в файл после того, как он был прочитан до конца?
  39. Что произойдет при попытке чтения файла после того, как все записи прочитаны?
  40. В каких случаях стандартная функция eof принимает значение true, а в каких false при чтении файла и при записи?
  41. Может ли файл не содержать ни одной записи? Если может, то как об этом узнать?
  42. В чем отличие процедур read и write?
  43. В чем отличие процедур read и readln, write и writeln? Какие из этих процедур применимы к:
  44. а) текстовым файлам?
  45. б) типизированным файлам?
  46. Каково назначение операции close?
  47. Что делает следующая программа?

program WhatIsIt;

var

f: file of integer;

i: integer;

begin

reset (f);

while not eof( f ) do

begin

read(f, i );

writeln( i )

end;

close(f)

end. {Whatlslt}

Каковы действия программы в случае пустого файла f? Изменится ли смысл программы, если использовать следующий цикл?

repeat

read (f, i );

writeln( i )

until eof( f );
  1. Пусть дано описание файла. Можно ли из описания определить, какие операции (чтение, запись) над этим файлом разрешены?
  2. Пусть файл открыт для записи. Можно ли по состоянию флага eof (f) определить, была ли сделана хотя бы одна запись в файл f?
  3. Как осуществить прямой доступ к компоненту файла?
  4. Какой номер имеет первый компонент файла?
  5. Какова структура текстового файла?
  6. Каким образом можно дополнить данными:
  7. а) текстовый файл?
  8. б) типизированный файл?
  9. Можно ли организовать прямой доступ к символам текстового файла?

Обязательно использовать файловую переменную для хранения исходной информации.

Задание на Файлы-Записи

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

2. Опишите, используя структуру данных запись, записную книжку (фамилия и инициалы, год рождения, дата рождения, месяц рождения). Составьте программу, выдающую список тех Ваших друзей, кому в этом году исполняется 21 год.

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

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

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

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

7. Опишите, используя структуру данных запись, таблицу соревнований (название команды, количество набранных очков). Найдите команду, занявшую первое место. Упорядочите список команд в зависимости от занятого места.

8. При сдаче норм ГТО, были получены результаты забега на 100 метров и прыжков в длину. Задайте нормы ГТО по этим видам спорта, определите списки учеников, не выполнивших нормативы, количество учеников сдавших нормативы, а также списки 3 лучших.

9. Опишите, используя структуру данных запись, вступительные экзамены. Абитуриенты сдавали три экзамена, для поступления необходимо набрать 12 баллов. Определите списки абитуриентов, зачисленных в институт, количество абитуриентов, не сдавших экзамены, списки абитуриентов, сдавших три экзамена на отлично.

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

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

12. В библиотеке для каждого читателя, заказывающего книгу, заполняется карточка (фамилия, дата заказа, дата выдачи книги). Определить: 1) самый маленький срок, за который нашли книгу; 2) сколько заказов было не удовлетворено; 3) кто чаще всего берет книги; 4) кому выдали книги 15.09.2010; 5) сколько человек заказывали книги 17.04.2010.

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

14. Во время сессии несколько студентов не сдали экзамен (фамилия, предмет, группа, дата). Определите список студентов, пересдавших задолженность; список студентов, не пересдавших задолженность; список студентов, пересдавших задолженность 18.01.2010.

15. В библиотеке в читательском билете имеются данные о человеке (фамилия), а также записываются данные о книге (автор, название, дата выдачи книги). Определить, кто брал книгу А.Ефремова "Таис Афинская" 15.05.2010, сколько читателей брали книги А.С.Пушкина, кто и какие книги брали 21.04.2010.

16. В экзаменационной ведомости можно выделить сведения о ведомости (предмет, номер группы, дата экзамена), сведения о человеке (фамилия, номер зачетной книжки, оценка за экзамен). Определите, сколько человек не сдали информатику, выдать их список (фамилия, номер группы). Определите, сколько групп сдавали экзамены 11.06.2010 и какие, составьте списки студентов, сдавших информатику (фамилия, номер группы, оценка). (Номер группы – 2 цифры: 1-я номер курса, 2-я – номер группы. Например, 32 – это вторая группа третьего курса).


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

  1. Напишите программу, состоящую из трех процедур и основной программы. Первая процедура организует ввод двух целых чисел X и Y, вторая проверяет их сумму, третья выводи результат. Используйте эти процедуры в основной программе. Используйте X и Y как глобальные переменные.
  2. Напишите программу вычисления площади поверхности и длины экватора на основе известного радиуса планет солнечной системы. Форму планет будем считать шаром. Вычисление площади поверхности и длины экватора оформите отдельными функциями.
  3. Напишите программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух чисел.
  4. Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).
  5. Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.
  6. Напишите программу для вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N – количество элементов перебора. Используйте подпрограмму вычисления факториала.
  7. Напишите программу для определения НОД трех натуральных чисел.
  8. Даны действительные числа s,t. Составить программу вычисления выражения f(t, -2s, 1.17) + f(2.2, t, s-t), где f(a,b,c) = (2a – b – sin(c)) / (5 + |c|).
  9. Даны натуральные m и n (m
  10. Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N).
  11. Напишите программу подсчета числа четных цифр, используемых в записи N-значного числа M.
  12. Составьте программу вычисления суммы трехзначных чисел, в десятичной записи которых нет четных цифр.
  13. Составьте программу вывода на экран всех натуральных чисел, не превосходящих N и делящихся на каждую из своих цифр.
  14. Составьте программу нахождения наименьшего натурального N-значного числа X (X>=10), равного утроенному произведению своих цифр.
  15. Составьте программу подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен X.

Программирование графики на языке Pascal.


Вопросы

  1. Что вы знаете о графическом модуле GRAPH?
  2. Что такое графический драйвер?
  3. Сколько графических режимов имеет адаптер CGA (Color Graphics Adapter – цветной графический адаптер)?
  4. Назовите основные характеристики графических режимов адаптера CGA.
  5. Назовите основные характеристики графических режимов адаптера EGA.
  6. Назовите основные характеристики графических режимов адаптера MCGA.
  7. Назовите основные характеристики графических режимов адаптера VGA.
  8. Назовите основные характеристики графических режимов адаптера SVGA.
  9. Какая процедура инициализирует графический режим работы адаптера?
  10. Какие графические режимы допускает адаптер CGA?
  11. Какие графические режимы допускает адаптер EGA?
  12. Какие графические режимы допускает адаптер VGA?
  13. В случае неудачного завершения инициализации процедура InitGraph возвращает ошибку в параметре grdr. Какие значения в случае ошибки может принимать этот параметр grdr?
  14. Какая функция в модуле GRAPH возвращает код результата (тип integer) последнего вызова одной из графических функций?
  15. Какая процедура устанавливает новый графический режим работы адаптера.
  16. Система координат в графическом режиме.
  17. Какая процедура устанавливает новое положение графического курсора в относительных координатах
  18. Какие процедуры устанавливают текущий цвет выводимых линий и символов и цвет фона?
  19. Точку с заданным цветом выводит процедура …
  20. Какие процедуры очищают графический экран цветом фона и графическое окно
  21. Какие процедуры используются для изображения окружности, прямоугольника? Вид этих процедур.
  22. Какие процедуры используются для изображения дуг окружности? Вид этих процедур.
  23. Какие процедуры используются для изображения линий? Вид этих процедур.
  24. Какие типы линии можно задать, если использовать константы модуля GRAPH?
  25. Какая процедура устанавливает тип и цвет заполнения? Какие константы модуля GRAPH можно использовать для заполнения?
  26. Какое обращение имеет процедура, позволяющая вычерчивать трехмерное изображение параллелепипеда и закрашивающая его переднюю грань?
  27. Какая процедура вычерчивает и заполняет эллипсный сектор и сектор окружности?
  28. Вывод текста в графическом режиме.
  29. Какие процедуры выводят текстовую строку, начиная с текущего положения графического курсора и с заданного места?
  30. Какая процедура устанавливает стиль текстового вывода на экран?
  31. Что нужно сделать, чтобы корректно работать с русскими символами при выводе текста в графическом режиме?
  32. Сохранение и выдача изображений.
  33. Какие процедура помещает в память копию прямоугольного фрагмента изображения, а какая процедура выводит в заданное место копию фрагмента изображения, ранее помещенную в память?
  34. Какие значения может принимать способ параметр Mode в процедуре PutImage?
  35. Какие константы можно использовать при обращении к процедуре SetTextStyle?


Задание на графику

1. Изобразить на экране дисплея графики следующих функций (A принимает следующие значения: –1, 0.5, 1, 1.5):


1. y=A sin(cos(x))

x:=[ 3.2,3.2]

2. y=A cos(sin(x))

x:=[ 3.2,3.2]

3. y=A lg(x)

x:=[0.2,4]

4. y=A ln(sin(x))

x:=[0.01,4]

5. y=A ln(cos(x))

x:=[0.02,7]

6. y=A 2x

x:=[ 2,5]

7. y=A 3 x

x:=[ 2,2]

8. y=A esin(x)

x:=[ 4,4]

9. y=A ecos(x)

x:=[ 4,6]

10. y=A e-x2

x:=[ 3,3]

11. y=A ex(1/2)

x:=[1,7]

12. y=A (3x3 4x2+5x)sin(x)

x:=[ 10,10]

13. y=A (2x4 7x3+13x2 8x)cos(x)

x:=[ 2,5]

14. y=A tg(x)

x:=[ 1.4,1.4]

15. y=A2 tg(x)

x:=[ 1.4,2.8]

16. y=A tg(sin(x))

x:=[  , ]

17. y=A tg(cos(x))

x:=[ 7,7]

18. y=A (sin(x)+x2)

x:=[ 3,3]

19. y=A (3x3+4x2 7x+2)cos(x)

x:=[ 2,2]

20. y=A/x

x:=[1,8]

21. y=A/x2

x:=[ 2,2]

22. y=A sin(x)/x

x:=[0.1,50]

23. y=A cos(x)/(x*x)

x:=[1,12]

24. y=A ln(x) sin(x)

x:=[0.1,40]

25. y=A (3x3+7x)ecos5x

x:=[ 7,7]

26. y=A ln(x)cos(x)

x:=[ 35, 0.2]

27. y=A tg(x)(x3+5x2 7x)

x:=[ 1.4,1.3]

28. y=A lg(x)sin(x)

x:=[0.2,3]

29. y=A lg(x)cos(x)

x:=[0.2,25]

30. y=Aexcos(x)

x:=[0,6]