100 Задач по программированию
Описание
Сможешь бросить сам себе такой вызов?
В этом шаблоне собрано целых 100 задач по программированию от самых азов, до создания 3хмерных моделей анимации и взаимодействия. Если выполнить всё, что здесь указано (все задания) то можно стать одним из лучших разработчиков, так как тут собраны задачи которые далеко не каждому под силу.
Есть ли тут обучающий материал?
Нет. И не будет. Ты сам должен будешь выбрать свой Язык программирования и на нем осваивать всё с основ до сложных операций. Если у тебя нету своего ЯП, рекомендую выбрать опираясь на рейтинг языков программирования в интернете. Как только выберешь — изучи основы по нему и берись приступать выполнять задания.
Как выполнять задания, если я не знаю как?
У тебя нету интернета? Бери под руку интернет и начинай гуглить его вопросами. Окей гугл, как сделать то; окей гугл, как сделать это. И так далее. Всё делается по шаблонам, в данном вызове нету готовых инструкций, так как он учит самостоятельности. Ты должен сам научиться решать сложные задачи, которые перед собой ДО ТЕБЯ никто не ставил. Именно так рождаются уникальные разработчики чего-либо.
Я готов! Что мне делать?
Прочти описание (оно чуть-чуть ниже), ознакомься с задачами. Если тебя всё устраивает, то нажимай кнопку «установить шаблон», ставь его себе (как цель). Отредактируй, запихнув в категорию программистов и добавив пару штрихов (на своё усмотрение). По возможности оставь ссылку на этот шаблон (она встроена в описание). Что дальше? Приступай. Решай задачи и самосовершенствуйся.
Сколько стоит шаблон?
Он бесплатный. Мне не жалко.
Как отблагодарить?
Хотя бы про себя скажи «спасибо», этого будет вполне предостаточно 😉
Ну, или если сможешь, выполни этот вызов.
На создание шаблона ушло: 3 дня.
Версия шаблона: 1.0.0 (стартовая).
Описание, которое станет доступно после установки шаблона:
Я принял вызов!
А ты сможешь? [ссылка]
Суть вызова:
Подтянуть свои навыки в программировании, разработав порядка 100 программ на своем собственном языке программирования. Важно относится к данному вызову не как к разовому, а как к долгосрочному вызову (т.е. на это может уйти даже от полгода, до года), по этому если не готовы — не беритесь.
Задания:
Всего в вызове 100 заданий, которые нужно выполнить. Все они разложены по этапам.
ВАЖНО: Перед тем как браться за задачи, освойте следующее:
- Выберите свой язык программирования, на котором вы будете писать.
- Выберите программу на которой будете заниматься разработками.
- Изучите основы своего языка (можно во время выполнения задач).
- Изучите что такое ООП (на 2 этапе), научитесь пользоваться классами.
- Изучите создание библиотек классов (dll) перед 5 этапом.
Правила:
Чтобы всё правильно сделать и не ошибиться, стоит следовать простым и незаурядным правилам:
- Не спешите! Даже если вы в себе уверены, перед каждой задачей настраивайтесь!
- Не халтурьте. Старайтесь делать всё красиво, так, как будто вы делаете это для кого-то важного.
- Не зазнавайтесь. Если вы не уверены, что сможете такое разработать, упрощайте для себя задачу.
- Не тупите. Если вы застряли на каком-то этапе, выполняйте задачу заного, значительно упрощая её.
- Не тужтесь. Если вам не нравится задача, не заставляйте себя. Придумайте аналогичную и выполните её.
Этапы выполнения заданий:
Этап 1. Я консольщик.
На этом этапе из 10 задач, вашей, будет являться изучение работы с консолью и все десять приложений обязательно должны быть исполнены в консоли. Если вы новичок, не спешите, отводите на каждую задачу минимум день (чтобы освоиться и закрепить всё в своей голове). Если вы профи — можете сделать всё за раз в одной программе (только в том случае, если уверены в себе).
(10/100)
Этап 2. Мастер оконной разработки.
Второй этап посвящен изучение оконной разработки. В зависимости от того, какое IDE вы выбрали, какой путь оконной разработки вы выбрали, определите для себя свою ключевую задачу — освоить основные элементы разработки оконных приложений. На этом этапе ознакомьтесь с особенностями оконной разработки.
(20/100)
Этап 3. Различные задачки.
Собраны из интернета различные задачи, в количестве 20 штук.Ваша же задача решить эти задачи в виде алгоритма, предоставив пользователю определенную оконную программу, с которой он сможет взаимодействовать. Старайтесь не строить перед собой нерешаемых задач и к каждой относится с ответственностью, стараясь подбирать дизайн.
(40/100)
Между-этап. Гексагон.
Вы знаете о гексагонах? Почитайте в интернете. Интерфейс таких программ весьма сложен, но очень красив и своеобразен. Сумеете ли вы освоить разработку на уровне гексагонов? Постарайтесь выработать свой алгоритм разработки гексагонов.
(41/100)
Этап 4. Игры для компаний.
Дано 9 различных задач для приложения, которое может пригодиться практически в любой заскучавшей компании (как повод развеется), вам нужно решить данные задачи через программирование, разработав 9 соответствующих программ. Постарайтесь адаптировать программы так, чтобы их действительно было интересно использовать в компании (чем сможете как раз похвастаться перед друзьями).
(50/100)
Этап 5. Разработчик игр.
В этом этапе собрано аж 30 задач разного характера по разработке различных игр со своей собственной внутри игровой логикой. На этом этапе придется попотеть и он считается первым самым сложным этапом. На этом этапе вам придется разрабатывать ООП, логику программы и всё тщательно продумывать.
(80/100)
Этап 6. Разработчик софта.
На этом этапе перед вами встанет задача разработать различные программы, которые могут пригождаться как и для самого себя, так и для различных организаций. Переходной этап между двумя сложными, чтобы немного отдохнуть и расслабиться.
(90/100)
Этап 7. Трехмерная графика.
Самый последний и самый сложный этап, на котором вы столкнетесь с трехмерной графикой и начнете разрабатывать настоящие трехмерные приложения, или игры, в которых будет ваш собственный интерфейс взаимодействия персонажа с окружающим миром, в котором будет собственная физика.
(100/100)
В конце:
Если ты честно выполнил все задания, можешь пошуршать по этим сайтам и найти себе подходящий для своего развития. Но я не рекомендую даже заглядывать по этой ссылке, пока не пройдешь хотя бы 100 заданий из этого списка (смекаете, да?). По этому бери задачу, решай и так до конца.
About me
Обо мне? Так.. реализую свои идеи. Интересно если, можете посмотреть: [Гик-дневник] или просто посетить мою страницу и найти что-нибудь интересное для себя. Если тебе понравится шаблон — обязательно оставь отзыв. Если ты прошел его, или находишься на каком-либо моменте, скажи, как было бы по твоему лучше (я подправлю — сделав шаблон еще лучше).
smartprogress.do
Задачи по программированию. Где размять руки? | GeekBrains
7 ресурсов с практическими заданиями, которые помогут вам усовершенствовать навыки программирования.
Круглосуточный просмотр трансляций не сделает человека успешным спортсменом, а знание наизусть лекционного материала не гарантирует достойную карьеру врача. Ведь не секрет, что успех любого дела кроется в постоянных тренировках. И не грех повторить прописную истину: даже исключительный талант чахнет без развития и постоянной работы над собой.
В обучении программированию действует тот же принцип. Конечно, на GeekBrains вы получите практические задания и помощь преподавателей. Однако и после завершения курсов вы наверняка захотите размять руки, а также повысить свой уровень путем решения всевозможных задач. Чтобы помочь вам в этом, мы отобрали несколько ресурсов с упражнениями.
W3Resource
В первую очередь отметим, что знание английского языка, как и во многих иных жизненных ситуациях, существенно облегчит жизнь в повышении навыков программирования. Ведь большинство порталов, на которых размещены практические задания, англоязычные. Как, к примеру, W3resource.
Целевая аудитория сайта – начинающие web-разработчики. Именно им предназначено солидное количество задач по HTML, PHP, Python, JavaScript, на решение которых можно потратить не один день и даже неделю. Ни регистрации, ни дополнительного инструментария портал не требует: удобство пользования обеспечивает встроенный редактор, а также ссылки на правильные ответы, если решение задачи все же поставило вас в тупик.
Coding Bat
Схожей стратегии придерживается и Coding Bat. Создатели ресурса также предпочли узкую направленность, сконцентрировавшись на упражнениях по Java и Python. Малое разнообразие упражнений с лихвой компенсирует количество и качество задач, а также удобство пользования. Разумеется, опять же, встроенный редактор и ответы. Кроме того, портал подойдет как для начинающих, так и опытных разработчиков.
Code Abbey
Успех любого обучения кроется в правильной мотивации, которая, без сомнения, присутствует в Code Abbey. Так, любой пользователь, решивший 125 задач, может получить соответствующий сертификат. Разумеется, бесплатно. Еще один плюс ресурса – возможность выполнения заданий на практически любом распространенном языке (от C до Julia).
Top Coder
Впрочем, даже такая мотивация не столь действенна, как денежное вознаграждение. Так на Top Coder вы сможете не только повысить свой уровень, но и подзаработать: по факту ресурс представляет из себя список соревнований, победитель которых получит пусть и не поражающую воображение, но приятную награду. Наиболее же успешные участники вдобавок имеют шансы «засветиться». Мастодонты индустрии вроде Microsoft, Facebook или IBM периодически мониторят портал в поисках новых талантов.
Programmr
На данном портале в свое время также можно было участвовать в соревнованиях. Однако к текущему моменту все они потеряли актуальность. Тем не менее, ресурс по-прежнему являет собой богатую площадку для развития навыков. В первую очередь – за счет многочисленных задач по Java, C++, PHP, C#, Ruby, Python и Objective-C. В каждой из них нужно дописать большую часть кода. Как правило, на выполнение задания отводится 30 минут.
Кроме того, на данном ресурсе вы можете создать свой проект и поделиться им с миром – количество просмотров некоторых из таковых переваливает за 100 000.
Programming Skills
Тем же, кто устал от написания кодов и хочет привнести большего разнообразия в учебный процесс, подойдет портал Programming Skills. На нем можно найти серии тестов из 20 вопросов по C, HTML, C#, Java и другим языкам. На выполнение каждого дается 25 минут. Помимо них, на ресурсе содержится богатый перечень вопросов, с которыми вам, возможно, доведется столкнуться на собеседовании.
SQL-EX.RU
Наконец, для изучающих SQL идеально подойдет данный портал. Он предлагает огромное количество задач, охватывающих все типажи запросов. Для мотивации же пользователей введена рейтинговая система всех зарегистрировавшихся посетителей – за каждый верный ответ вы получите определенное число очков. Количество оных зависит от сложности задачи, в чем, к слову, кроется и еще один плюс ресурса. Ведь он подойдет как начинающим (или тем, кому достаточно базовых знаний), так и тем, чья служба невозможна без конструирования сложных запросов.
Единственный, но временами досаждающий минус – отсутствие альтернативных путей. Иными словами: правильность выполнения упражнения определяется не ответом, а методом решения. В результате порой возникают парадоксы, в которых фактически правильный ответ не засчитывается как верный.
Автор: Александр Мороз
Тем, кто только начинает свой путь в кодинге, рекомендуем бесплатный курс по Основам программирования.
geekbrains.ru
Задачи по программированию на C++ —
Задачи по программированию на C++Задача 1. Телешоу. Решение на C++
В новом интеллектуальном телешоу участнику, проходящему в суперфинал, предлагается следующая игра: на каждом из n секторов большого барабана записывается буква латинского алфавита li. После минуты на размышления игрок указывает одну из позиций на барабане i. Его выигрыш вычисляется по такому правилу: для каждой позиции j меньшее из расстояний по и против часовой стрелке от i до j, измеренное в секторах, умножается на абсолютною величину разности номеров в алфавите букв li и lj , после чего все такие величины суммируются.
А Вы можете написать программу, находящую способ получения наибольшего выигрыша?
Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 100000) — размер барабана. Во второй строке задаются разделенные пробелами строчные латинские буквы, записанные на барабане.
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите наибольший выигрыш, который можно получить при заданном расположении букв на барабане. Во второй строке выведите номер какого-нибудь из секторов, на который игрок должен для этого указать.
Задача 2. Треугольники — 4. Решение на C++
У Сени есть шоколадка, составленная из нескольких прилегающих друг к другу плиточек в форме правильных треугольников. Его брат Женя нашел эту шоколадку и решил сделать ее треугольной, съев все лишнее (ведь треугольные шоколадки намного вкуснее). Сколькими способами он может это сделать?
Например, из такой шоколадки:
можно сделать треугольную шоколадку со стороной 1 шестью способами или шоколадку со стороной 2 двумя способами. Итого восемь способов.
Входные данные
Форма шоколадки задается ее границей в порядке обхода по часовой стрелке. Первая строка входного файла INPUT.TXT содержит число n — количество отрезков на границе (1 ≤ n ≤ 5000). Далее n чисел от 1 до 6, задающих направление движения по границе (см. рисунок).
Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — количество способов.
Задача 3. Узор. Решение на C++
В комнате решили сделать паркетный пол. Причем есть задумка выложить на полу некоторый узор. Плитки паркета, которыми выкладывается пол комнаты, состоят из квадратиков 1×1, каждый из которых может быть либо белым, либо черным. В свою очередь, комната имеет размеры NxM. На плане комнаты указано, какой квадрат комнаты какого цвета должен быть. Существует несколько форм паркетных плиток:
Квадратики одной паркетной плитки могут быть окрашены по-разному. Может существовать несколько типов плиток одинаковой формы, но окрашенных по-разному. Плитки разных типов могут иметь разную стоимость. Количество плиток каждого типа не ограничено. Плитки разрешается как угодно поворачивать (на углы, кратные 90 градусам). Не разрешается разламывать плитки, а также класть их лицевой стороной вниз.
Изначально, какая-то часть пола может уже быть выложена плиткой. Требуется определить минимальную стоимость плитки, необходимой для того, чтобы замостить оставшуюся часть комнаты.
Входные данные
В первой строке входного файла INPUT.TXT записаны три числа: N, M (размеры комнаты) и K (количество доступных видов плитки). 1<=N<=8, 1<=M<=8, 1<=K<=10. Далее идет описание желаемой раскраски пола. Описание представляет собой N строчек по M чисел в каждой, где 0 обозначает белый цвет, 1 — черный, 2 — то, что квадрат уже выложен плиткой. В последних K строчках находятся описания доступных типов плитки в следующем формате:
<форма> <стоимость> <окраска>
<Форма> — это число от 1 до 4, описывающее форму плитки (см. рисунок выше)
<Стоимость> — это натуральное число, не превосходящее 10000, задающее стоимость одной плитки такого типа
<Окраска> — это от одного до трех чисел 0 или 1. Количество чисел совпадает с количеством квадратиков, из которых состоит плитка. Числа задают цвета квадратиков плитки в том порядке, в каком квадратики пронумерованы на рисунке.
Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число — минимальную стоимость укладки или –1, если требуемым образом уложить плитку невозможно.
bookflow.ru
ЗАДАЧНИК по программированию — PDF
Транскрипт
1 Воронежский государственный педагогический университет Кафедра информатики и методики преподавания математик В.А. ЧУЛЮКОВ ЗАДАЧНИК по программированию Воронеж — 000
2 Содержание ОПЕРАТОР ПРИСВАИВАНИЯ…5 ВВОД ДАННЫХ…11 Операторы Read, Readln…11 Операторы Read Data Restore…11 ПРОГРАММИРОВАНИЕ ВЕТВЛЕНИЙ…11 Условный переход…11 Оператор выбора…14 ПРОГРАММИРОВАНИЕ ЦИКЛОВ…15 Циклы с предварительным условием…15 Циклы с последующим условием…19 Циклы с параметром…0 ОРГАНИЗАЦИЯ ДАННЫХ В ВИДЕ МАССИВОВ…3 Одномерные массивы…3 Двумерные массивы…6 ПОДПРОГРАММЫ
3 Подпрограммы-функции…30 Подпрограммы-процедуры…30 РАБОТА СО СТРОКАМИ…30 РАБОТА С ФАЙЛАМИ
4 Оператор присваивания Задача 1. Вычислить объем пирамиды, основанием которой является треугольник, для значений А, В, С и Н данных в контрольном примере. Для вычисления площади основания использовать формулу Герона: где: Объем пирамиды: S = P( P A)( P B)( P C), A + B + C P =. SH V =. 3 Исходные данные взять из контрольного примера. Контрольный пример: A=3, B=4, C=5, H=6. Результат V=1. Задача. По заданным величинам радиусов оснований R и r и высоты h найти объем и площадь поверхности усеченного конуса по формулам: h V = π ( R + r + Rr) 3 S = πl( R + r) + π ( R + r ) l = h + ( R r) Исходные данные взять из контрольного примера. Контрольный пример: R=0, r=10, h=30. Результат: S= , V=
5 Задача 3. Дана длина ребра куба. Вычислить объем куба и площадь его боковой поверхности. Данные взять из контрольного примера. Контрольный пример: A=5. Результат: V=15, S=100. Задача 4. Даны два положительных действительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел. Данные взять из контрольного примера. Среднее геометрическое вычисляется по формуле: G = AB. Контрольный пример: А=4, B=9. Результат: среднее арифметическое = 6,5. Среднее геометрическое = 6. Задача 5. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь. Данные взять из контрольного примера. Контрольный пример: A=4, B=3. Результат: гипотенуза = 5, площадь = 6. Задача 6. Дана сторона равностороннего треугольника (взять из контрольного примера). Найти площадь треугольника по формуле Герона: S = P( P A)( P B)( P C), где: A + B + C P =. Контрольный пример: A=B=C=4. Результат: S= Задача 7. Даны два действительных числа. Найти среднее арифметическое и среднее геометрическое их модулей. Данные взять из контрольного примера. 6
6 Среднее геометрическое вычисляется по формуле: G = A B. Контрольный пример: А=-4, B=-9. Результат: среднее S = π R арифметическое = 6,5. Среднее геометрическое = 6. Задача 8. Три сопротивления R1, R, R3 соединены параллельно. Найти сопротивление соединения R0 по формуле: = + + R0 R1 R R3 Исходные данные взять из контрольного примера. Контрольный пример: R1=, R=4, R3=8. Результат: R0= Задача 9. По заданной длине окружности L найти площадь круга S, ограниченного этой окружностью. Длина окружности вычисляется по формуле: L = π R Площадь круга вычисляется по формуле: S = π R Данные взять из контрольного примера. Контрольный пример: L=6. Результат: S= Задача 10. Даны гипотенуза и катет прямоугольного треугольника. Найти второй катет и радиус вписанной окружности, который вычисляется по формуле: ( p a)( p b)( p c) r = p где p полупериметр. Исходные данные взять из контрольного примера. Контрольный пример: с=5, a=3. Результат: b=4, r = 1. 7
7 Задача 11. Найти площадь кольца, внутренний радиус которого 0, а внешний радиус больше 0. Площадь круга радиусом R вычисляется по формуле: Данные взять из контрольного примера. Контрольный пример: R внешний =30. Результат: Площадь кольца = Задача 1. Найти площадь равнобедренной трапеции по заданным величинам оснований A и B, и угла при большем основании. Исходные данные взять из контрольного примера. Контрольный пример: A=0, B=10, угол=45 о. Результат: S= Задача 13. Треугольник задан длинами сторон a, b, c. Найти длины высот. Длина высоты, проведенной на сторону a, вычисляется по формуле: S h a = a Площадь треугольника S вычислить по формуле Герона: S = P( P A)( P B)( P C), где: A + B + C P =. Исходные данные взять из контрольного примера. Контрольный пример: a=3, b=4, c=5. Результат: h a =4, h b =3, h c =.4. Задача 14. Треугольник задан длинами сторон a, b, c. Найти длины медиан. Длина медианы, проведенной на сторону a, вычисляется по формуле: m a = 0,5 ( b + с ) a 8
8 Исходные данные взять из контрольного примера. Контрольный пример: a=3, b=4, c=5. Результат: m a =4.7, m b =3.61, m c =.5. Задача 15. Треугольник задан длинами сторон a, b, c. Найти длины биссектрис. Длина биссектрисы, проведенной на сторону a, вычисляется по формуле: bc[( b + c) a ] l a = b + c Исходные данные взять из контрольного примера. Контрольный пример: a=3, b=4, c=5. Результат: l a =4., l b =3.35, l c =.4. Задача 16. Вычислить расстояние между двумя точками с заданными координатами x 1, y 1 и x, y. Исходные данные взять из контрольного примера. Контрольный пример: x 1 =1, y 1 =1, x =3, y =3. Результат: l =.83. Задача 17. Даны x, y, z. Вычислить a, b, если x 1 3 y ( x+3) a =, b = x( arctg( z) + e ). x y Исходные данные взять из контрольного примера. Контрольный пример: x=-1, y=-1, z=3. Результат: a = , b=
9 Задача 18. Даны x, y, z. Вычислить a, b, если x + y ( x + 4) 1+ cos( y ) a = ( 1+ y), b =. x 4 e + 1 ( x + 4) x + sin z Исходные данные взять из контрольного примера. Контрольный пример: x=1, y=1, z=3. Результат: a = , b= Задача 19. Даны x, y, z. Вычислить a, b, если cos( x π a = 1 + sin y 6), b = z z 1. 5 Исходные данные взять из контрольного примера. Контрольный пример: x=3, y=4, z=5. Результат: a = , b=4.15. Задача 0. Даны x, y, z. Вычислить a, b, если 1+ sin ( x + y) a = + x, + x x (1 + x y ) 1 cos b = arctg. z Исходные данные взять из контрольного примера. Контрольный пример: x=3, y=4, z=5. Результат: a = , b=
10 Ввод данных с клавиатуры Операторы Read, Readln Решить задачи 1-0 раздела «Оператор присваивания» с использованием оператора ввода. Операторы Read Data Restore Решить задачи 1-0 раздела «Оператор присваивания» для трех групп исходных данных. Программирование ветвлений Условный переход Задача 1. Даны три действительных числа X, Y, Z. Найти максимальное из этих трех чисел. Задача. Даны три действительных числа X, Y, Z. Найти минимальное из этих трех чисел. Задача 3. Даны три действительных числа X, Y, Z. Удвоить эти числа, если X Y Z, и заменить их абсолютными значениями, если это не так. Задача 4. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так. 11
11 Задача 5. Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в противном случае. Задача 6. Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3). Задача 7. Даны действительные числа X, Y ( X Y ). Меньшее из этих двух чисел заменить их полусуммой, а большее их удвоенным произведением. Задача 8. Даны три действительные числа. Возвести в квадрат те из них, значения которых неотрицательны. Задача 9. Даны два действительные числа X, Y ( X Y ). Найти большее из них, если X отрицательное число, и меньшее, если это не так. Задача 10. Точка задана координатами X, Y. Определить, находится ли эта точка внутри круга радиусом R с центром в начале координат. Задача 11. Даны действительные числа A, B, C и D. Если A B C D, то каждое число заменить наибольшим из них; если A<B<C<D, то числа оставить без изменения; в противном случае все числа заменяются их квадратами. Задача 1. Даны действительные числа X, Y. Если X и Y отрицательны, то каждое значение заменить его модулем; если отрицательно только 1
12 одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5,.0], то оба значения уменьшить в 10 раз; в остальных случаях X и Y оставить без изменения. Задача 13. Даны действительные положительные числа X, Y, Z. Выяснить, существует ли треугольник с длинами сторон X, Y, Z. Задача 14. Определить, верно ли, что при делении неотрицательного целого числа A на положительное целое число B получается остаток, равный одному из заданных чисел R или S. Задача 15. Дано натуральное число N ( N 100 ), определяющее возраст человека (в годах). Дать для этого числа наименование «год», «года» или «лет»: например, 1 год, 3 года, 45 лет и т.д. Задача 16. Найти значение функции, вычисляемое по формуле: y = cos x при 0 < x <, иначе y = 1 sin x. Задача 17. Перераспределить значения переменных X и Y так, чтобы в X оказалось большее из этих значений, а в Y меньшее. Задача 18. Переменной K присвоить номер четверти плоскости, в которой находится точка с координатами X и Y ( XY 0 ). Задача 19. По номеру Y (Y>0) некоторого года определить номер его столетия (учесть, что, к примеру, началом ХХ столетия был 1901, а не 1900 год). 13
13 Задача 0. Для заданных x, y, z найти: max x ( x, y, z) min( x, y, z) u = sin + max( x, y, z) / min( x, y, z) Контрольный пример: x=3, y=4, z=5. Ответ: 0, Задача 1. Значения переменных A, B и C поменять местами так, чтобы оказалось A B C Оператор выбора Задача 1. По введенному номеру дня недели вывести его словесное наименование. Например, 1 понедельник. Задача. По введенному номеру месяца вывести его словесное наименование. Например, 1 январь. Задача 3. Написать программу, позволяющую получить словесное наименование школьных оценок. Например, 1 очень плохо. Задача 4. Написать программу, которая по введенному номеру выводит фамилию студента вашей группы. Задача 5. По введенному номеру музыкальной ноты вывести ее словесное наименование. Например, 3 ми. Задача 6. По введенному номеру дня недели вывести количество часов занятий в вашей группе. 14
14 Задача 7. Написать программу, которая выводит возможные значения координат X и Y в зависимости от номера координатной четверти. Задача 8. Чтобы определить на какую цифру оканчивается квадрат целого числа, достаточно знать последнюю цифру самого числа. Написать программу, которая по одной из цифр 0,1,,3, 4,5,6,7,8,9 последней цифре числа N — находит последнюю цифру квадрата этого числа. Задача 9. Написать программу нахождения числа дней в месяце, если даны номер месяца и целая величина, равная 1 для високосного года и 0 в противном случае. Задача 10. Написать программу калькулятор, которая выполняет арифметические действия, задаваемые в виде: знак_операции, операнд1, операнд, где знак_операции 1-сложение, -вычитание, 3-умножение, 4- деление, операнды числа, над которыми выполняются действия. Например, при вводе 3, 4, 5 результат 0. Программирование циклов Циклы с предварительным условием Задача 1. С помощью цикла «пока» или цикла «до» написать программу возведения числа A в целую степень N. Задача. С помощью цикла «пока» или цикла «до» написать программу вычисления факториала заданного целого числа. 15
15 Факториал числа N вычисляется по следующей формуле: Задача 3. С помощью цикла «пока» или цикла «до» написать программу вычисления числа Фибоначчи, не превосходящего заранее заданное число N. Числа Фибоначчи вычисляются с помощью следующих соотношений: Задача 4. С помощью цикла «пока» или цикла «до» написать программу вычисления суммы S квадратов чисел от 1 до N. Задача 5. N! = N. F0 = 0; F1 = 1; Fi = Fi 1 + Fi для i > 1. Составить программу, вычисляющую для заданного x сумму: 3 x x x !! 3! При суммировании учитывать только слагаемые, большие по абсолютной величине заданного положительного числа E. Знак «!» после числа означает факториал этого числа. Факториал числа N вычисляется по следующей формуле: N! = N. Контрольный пример: x=1, E=0.1. Результат: Задача 6. С помощью цикла «пока» или цикла «до» написать программу вычисления суммы S квадратов четных и кубов нечетных чисел от 1 до N. Проверку числа на четность осуществить с помощью встроенной функции ODD. 16
16 Задача 7. x k Составить программу для определения k, при котором функция k становится меньше заданного числа A при заданном x для k=1,,3,. Контрольный пример: x=1, A=0.5. Результат: 5. Задача 8. Написать программу поиска суммы последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: 7. Задача 9. Написать программу поиска суммы последовательности положительных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: 11. Задача 10. Написать программу поиска суммы последовательности отрицательных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: -6. Задача 11. Написать программу поиска произведения последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному отрицательному числу. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,4,5,-. Результат:
17 Задача 1. Написать программу поиска произведения последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: 40. Задача 13. Написать программу поиска произведения последовательности положительных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: 30. Задача 14. Написать программу поиска произведения последовательности отрицательных чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,,3,-4,5,-,0. Результат: 8. Задача 15. Написать программу поиска чисел, лежащих в интервале от -5 до 5, в последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному нулю. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,10,-4,5,-16,-5,0. Результат: 1,-4,5,-5. Задача 16. Написать программу поиска чисел, лежащих в интервале от 3 до 13, в последовательности чисел, вводимых с клавиатуры, предшествующих первому введенному отрицательному числу. Указание: должен многократно выполняться оператор ввода. Контрольный пример: 1,3,16,7,13,10,,-1. Результат: 3,7,13,10. 18
18 Задача 17. Вычислить y первое из чисел sin x, sin sin x, sin sin sin x,, меньшее по модулю Задача 18. Не используя стандартные функции (за исключением abs), вычислить с точностью eps>0 4 n n y = cos x = 1 x! + x 4!… + ( 1) x (n)! +… Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps, — все последующие слагаемые можно уже не учитывать. Задача 19. Не используя стандартные функции (за исключением abs), вычислить с точностью eps>0 3 n 1 n y = ln(1 + x) = x x + x ( 1) x n +… ( x < 1) Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps, — все последующие слагаемые можно уже не учитывать. Задача 0. Не используя стандартные функции (за исключением abs), вычислить с точностью eps>0 3 5 n n+ 1 y = arctg x = x x 3+ x ( 1) x (n + 1) +…( x < 1) Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps, — все последующие слагаемые можно уже не учитывать. Циклы с последующим условием С помощью цикла «пока» или цикла «до» решить задачи 1 0 раздела «Циклы с предварительным условием». 19
19 Циклы с параметром Задача 1. Написать программу возведения числа A в целую степень N. Задача. Написать программу вычисления факториала заданного целого числа. Факториал числа N вычисляется по следующей формуле: Задача 3. Написать программу вычисления суммы S квадратов четных и кубов нечетных чисел от 1 до N. Проверку числа на четность осуществить с помощью встроенной функции ODD. Задача 4. N! = N. Написать программу выбора наименьшего из 10 данных чисел. Задача 5. Написать программу получения в порядке убывания всех делителей данного числа. Задача 6. Написать программу вычисления суммы положительных и количества отрицательных чисел, содержащихся среди данных 10 чисел. Задача 7. Написать программу, выясняющую, есть ли среди чисел: cosi 3 sin in, i = 1,…, n, меньшие Если такие числа есть вывести их на экран. Задача 8. Написать программу, выясняющую, есть ли среди чисел i 3-17in +n 3, i=1,,n 0
20 числа кратные заданному числу A и одновременно не кратные заданному числу B. Вывести найденные числа на печать. Контрольный пример: n=10, A=3, B=. Ответ: -699, Задача 9. Написать программу, выясняющую, есть ли среди данных 10 чисел точные квадраты. Если такие есть, то после ввода числа должно появляться сообщение «Точный квадрат». Задача 10. Написать программу, в которой определяется сумма S всех целых чисел в интервале, заданном переменными N и M, а также сумма SA четных и SB нечетных чисел в том же интервале. Задача 11. Вычислить сумму чисел от 1 до N, возведенных в степень M. Возведение в степень оформить как многократное умножение. (т.е. нельзя использовать знак возведения в степень «^»). Задача 1. Даны действительные числа. Вычислить их среднее арифметическое. Задача 13. Дано 10 вещественных чисел. Вычислить разность между максимальным и минимальным из них. Задача 14. Вычислить: Ответ: y =
21 Задача 15. Вычислить: Y = 1! +! + 3! + + N! (N>1) Факториал числа N вычисляется по следующей формуле: N! = N. Задача 16. Определить 0-е число Фибоначчи. Числа Фибоначчи вычисляются с помощью следующих соотношений: Ответ: F0 = 0; F1 = 1; Fi = Fi 1 + Fi для i > 1. Задача 17. Дано 10 вещественных чисел. Определить, образуют ли они возрастающую последовательность. Задача 18. Дана последовательность из 10 целых чисел. Определить, со скольких отрицательных чисел она начинается. Задача 19. Дано число N. Определить, является ли это число простым. Задача 0. Дано натуральное число n. Вычислить: K 1 1 n Задача 1. Написать программу, печатающую все буквы латинского алфавита от A до Z.
22 Задача. Написать программу, печатающую все буквы латинского алфавита от Z до A. Задача 3. Написать программу вывода последовательности букв: A AB ABC. ABC XYZ. Задача 4. Написать программу вывода последовательности букв: ZYYXXX AAA A. Организация данных в виде массивов Одномерные массивы Задача 1. В массиве из 15 чисел найти наибольший элемент и его индекс в массиве. Задача. В массиве из 15 чисел найти наименьший элемент и его индекс в массиве. Задача 3. В массиве из 15 чисел найти первый отрицательный элемент и его индекс в массиве. 3
23 Задача 4. В массиве из 15 чисел найти индекс первого нулевого элемента. Задача 5. В массиве из 10 чисел есть хотя бы один отрицательный элемент. Вычислить произведение элементов массива до первого отрицательного. Задача 6. В массиве из 10 чисел есть хотя бы один нулевой элемент. Вычислить сумму элементов массива до первого нуля. Задача 7. В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить сумму положительных элементов массива. Задача 8. В массиве из 10 чисел есть хотя бы один нулевой элемент. Вычислить произведение элементов массива до первого нуля. Задача 9. В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить сумму отрицательных элементов массива. Задача 10. В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать количество положительных элементов массива. Задача 11. В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить произведение положительных элементов массива. Задача 1. В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать количество отрицательных элементов массива. 4
24 Задача 13. В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить произведение отрицательных элементов массива. Задача 14. В массиве из 10 чисел подсчитать количество элементов, больших трех. Задача 15. В массиве из 10 чисел подсчитать сумму элементов, стоящих на четных местах. Задача 16. Дан массив X из 10 чисел. Воспользовавшись вспомогательным массивом такой же размерности, сдвинуть элементы массива X на заданное число K позиций влево. Контрольный пример: массив X =[1,,3,4,5,6,7,8,9,10]. Число K=4. Результат: полученный массив = [4,5,6,7,8,9,10,1,,3]. Задача 17. В массиве из 10 чисел переставить все нули в конец массива, не меняя порядок не нулевых элементов. Контрольный пример: исходный массив X =[1,0,3,4,0,0,7,0,9,10] Результат: полученный массив X =[1,3,4,7,9,10,0,0,0,0]. Задача 18. В массиве из 10 чисел поменять местами первое и десятое, второе и девятое и т.д. (т.е. перевернуть массив). Задача 19. В массиве из 10 чисел переставить минимальный элемент на последнее место. 5
25 Задача 0. Сформировать массив из 9 чисел, элементы которого равны квадратному корню из индекса элемента. Двумерные массивы Задача 1. Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Нечетные строки массива А заменить на Х. Задача. Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Четные столбцы массива А заменить на Х. Задача 3. Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Первые три строки массива А заменить на Х. Задача 4. Дан двумерный массив чисел А размером 6х6. Воспользовавшись одномерным массивом размером 6 элементов как вспомогательным, поменять местами 1-ю и -ю строки, 3-ю и 4-ю строки, 5-ю и 6-ю строки. Задача 5. В массиве чисел размером 6х6 элементов найти максимальный элемент, минимальный элемент и их индексы. Задача 6. Дана матрица чисел размером 3х4. Переставляя ее строки и столбцы, добиться того, чтобы ее наибольший элемент (один из них) оказался в верхнем левом углу. 6
26 Задача 7. Дана матрица А чисел размером 5х5 элементов. Найти сумму элементов массива А из заштрихованной области: Задача 8. Массив целых чисел размером 10х10 элементов заполнить следующим образом: K K K 0 K K Задача 9. a) б) в) Заполнить массив А из 6 строк и 9 столбцов по следующему правилу: A =. i ij x j Задача 10. Даны целые числа a 1, a, a 3. Получить целочисленную матрицу 3х3, для которой b = a a. Задача 11. ij i 1 K K 0 1 K 30 L K 3 j Получить действительную матрицу 7х7, первая строка которой задается формулой = j + 3, ( j = 1,,7), вторая строка a1 j K 1 3 K K K 8 K K 7
27 3 a j + 1 j следующая строка есть сумма двух предыдущих. задается формулой = j, ( j = 1,,7) Задача 1. K, а каждая Даны натуральное число n, действительная матрица размера n x 9. Найти среднее арифметическое каждого из столбцов. Задача 13. Даны натуральное число n, действительная матрица размера n x 9. Найти среднее арифметическое каждого из столбцов, имеющих четные номера. Задача 14. Дана действительная матрица размера n x m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший элемент. Задача 15. Дана действительная квадратная матрица порядка 6. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее. Задача 16. Даны натуральное число n, действительная матрица A размером n x n. Получить последовательность элементов главной диагонали A 11, A,, A nn. Задача 17. Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 6 заменить нулями. Задача 18. Дана действительная матрица размером 6 х 9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов. 8
28 Задача 19. Дана действительная матрица размером n x m. Найти сумму наибольших значений ее строк. Задача 0. В данной квадратной целочисленной матрице порядка 6 указать индексы всех элементов с наибольшим значением. 9
29 Подпрограммы Подпрограммы-функции Подпрограммы-процедуры Работа со строками Работа с файлами 30
docplayer.ru