'

Задания части С

Понравилась презентация – покажи это...





Слайд 0

Апрель-май 2011 г. Выполнил: Шамов Сергей Ученик 11 б класса МОУ ФСОШ №2 «с углубленным изучение отдельных предметов» Апрель-май 2011 г. Задания части С


Слайд 1

Содержание: O Задание с1 OЗадание с2 OЗадание с3 OЗадание с4 O решение с1 Oрешение с2 Oрешение с3 Oрешение с4


Слайд 2

Программа: Var x, y: real; begin readln(x,y); if y<=sin(x) then if y>=1-x then if y>=0 then write(‘принадлежит’) else write(‘не принадлежит’) end. Вариант3 С1. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y-действительные числа и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.)


Слайд 3

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


Слайд 4


Слайд 5


Слайд 6


Слайд 7

С С2 Дан вещественный массив из 50 элементов. Элементы массива могут принимать произвольные значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит наименьший номер отрицательного элемента массива или сообщение, что такого элемента нет. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.


Слайд 8

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


Слайд 9

Задание с3 Имеются две кучи камней, в одной из которых 1, а в д другой-4 камня. Двум игрокам предлагается игра по следующим правилам. Каждый игрок обеспечивается неограниченным запасом камней. Игроки ходят по очереди. Ход состоит в том, что игрок производит одно из возможных действий: или утраивает число камней в одной из куч, или увеличивает на 3 количество камней в какой-либо куче. Выигрывает тот игрок, после хода которого суммарное число камней в двух кучах становится равным 22 или более камней. Кто выиграет при безошибочной игре обоих игроков-игрок, делающий первый ход, или игрок, делающий второй ход? Как должен ходить выигрывающий игрок?


Слайд 10

Ответ:


Слайд 11

Задание С4 После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик какой школы сколько набрал баллов. Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых: Программа должна вывести на экран номер такой школы и её средний балл. Если наибольший средний балл набрало больше одной школы-вывести количество таких школ. Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-учеников района. Также известно, что в районе школы с некоторыми номерами не существует. На вход программе сначала подаётся число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате: <Фамилия> <Имя> <Номер школы> <Количество баллов>


Слайд 12

где <Фамилия>- строка, состоящая не более чем из 30 символов без пробелов, <Имя>-строка, состоящая не более чем из 20 символов без пробелов,<Номер школы>-целое число в диапазоне от 1 до 99,<Количество баллов>-целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть, всего по три пробела в каждой строке). Пример входной строки: Иванов Иван 50 87 Пример входных данных: 50 74 Другой пример входных данных: 7


Слайд 13

Ответ: Var s,k:array [1..99] of integer; ch:char; I,N,sh,ball,max,nmax:integer; Begin for i:=1 to 99 do {обнуляем массивы} begin s[i]:=0; k[i]:=0; end; readln(N); {считали количество строк} for i:=1 to N do {перебираем все входные строки} begin repeat read(ch) until ch=‘ ‘; {считана фамилия} repeat read(ch) until ch=‘ ‘;{считано имя} readln(sh,ball); {считали номер школы и балл ученика} s[sh]:=s[sh]+ball; {считаем сумму баллов по школе} k[sh]:=k[sh]+1 {считаем количество учеников из школы} end;


Слайд 14

for i:=1 to 99 do if k[i]>0 then s[i]:= div k[i]; {считаем средний балл по каждой школе} max:=1; nmax:=1; for i:=2 to 99 do {ищем максимум среди средних баллов} if s[i]>s[max] then begin max:=I; nmax:=1 end; else if s[i]=s[max] then {считаем количество максимумов} nmax:=nmax+1; if nmax=1 then wrateln(max,’ ‘,s[max]) else writeln(nmax) End.


×

HTML:





Ссылка: