Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Часть 3. Не забудьте перенести все ответы в бланк ответов № 1




Не забудьте перенести все ответы в бланк ответов № 1.

 

 

Для записи ответов на задания этой части (С1-С4) используйте бланк ответов № 2. Запишите сначала номер задания (С1, С2 и т.д.), а затем полное решение. Ответы записывайте четко и разборчиво.

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

 

ПРОГРАММА НА ПАСКАЛЕ ПРОГРАММА НА БЕЙСИКЕ ПРОГРАММА НА СИ
Var x,y: real; begin readln(x,y); if y<=x then if y<=-x then if y>=x*x-2 then write (‘принадлежит’) else write (‘не принадлежит’) end. INPUT x, y IF y<=x THEN IF y<=-x THEN IF y>=x*x-2 THEN PRINT “принадлежит” ELSE PRINT “не принадлежит” ENDIF ENDIF ENDIF END Void main (void) { float x,y; scanf(“%f%f”,&x,&y); if (y<=x) if (y<=-x) if (y>=x*x-2) printf (“принадлежит”) else printf (“не принадлежит”); }

Последовательно выполните следующее:

1) приведите примеры таких чисел х, у, при которых программа неправильно решает поставленную задачу.

 

Продолжение приложения 2

 

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

 

С2 Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее, что в исходном массиве хотя бы один элемент имеет нечетное значение.

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

 

Паскаль Бейсик
const N=30; var a: array [1…N] of integer; i, x, y: integer; s: real; begin for i:=1 to N raadln(a[i]); …   end. N=30 DIM A(N) AS INTEGER DIM I, X,Y AS INTEGER DUM S AS SINGLE FOR I = 1 TO N INPUT A(I) NEXT I   …   END
Си Естественный язык
#include <stdio.h> #define N 30 void main (void) {int a[N]; int i, x, y; float s; for (i=0; i<N; i++) scanf (“%d”,&a[i]); …   } Объявляем массив А из 30 элементов. Объявляем целочисленные переменные I,X,Y. Объявляем вещественную переменную S. В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.   …

 

Продолжение приложения 2

 

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

 

С3 Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй 4 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или удваивает число камней в какой-то кучке или добавляет 4 камня в какую-то кучку. Игрок, после хода которого общее число камней в двух кучках становится больше 25, проигрывает. Кто выигрывает при безошибочной игре обоих игроков - игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.

 

С4 На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение - число 0, запись которого содержит ровно один ноль.

Если требуемое число составить невозможно, то программа должна вывести на экран слово «NO». А если возможно, то в первой строке следует вывести слово «YES», а во второй - искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них.

Например, пусть на вход подаются следующие символы:

Do not 911 to 09 do.

В данном случае программа должна вывести

YES

 

 

ПРИЛОЖЕНИЕ 3

 




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 350; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.