Цели урока:
Оборудование:
До сих пор мы с вами говорили о каких-то отвлечённых задачах из области математики. Сегодня мы поговорим о конкретной задаче, которая встречается у вас почти на каждом уроке. Это решение квадратного уравнения. Я хочу, чтобы вы на примере этой задачи поняли, что программирование — это не просто прихоть учителя, это действительно раздел информатики, который может нам помочь, например, в решении конкретных математических задач. Нужно только уметь разбираться в этом.
2. Математическое решение
Давайте вспомним, что понимают под квадратным уравнением?
Что из себя представляют числа a,b,c и как их называют?
С чего начинают решение квадратного уравнения?
Найдите вокруг себя формулу дискриминанта. (D=b 2 -4ac) (Приложение 3)
Как мы решаем далее квадратное уравнение? (сравнение D с нулём)
Какие выводы мы из этого делаем?
(если D 0, то два корня)
Как найти корни квадратного уравнения? Найдите формулы корней среди тех, что развешены повсюду.
Если я случай наличия корней квадратного уравнения сведу к условию D0, то что я получу в случае D=0?
(Два одинаковых корня)
Давайте ещё раз подробно разберём нашу задачу:
Итак, у нас есть квадратное уравнение ax 2 +bx+c=0.
Мы должны решить его, т.е. найти такие значения х, при которых правая часть уравнения =0. Мы знаем, что для этого нам надо:
Найти дискриминант D=b 2 — 4ac.
Сравнить его с нулём
D=b 2 -4ac=10 2 -4*3*3=100 — 36 =64
Х1=,
X2 =
3. Составление блок-схемы алгоритма.
По заданному решению попробуем составить блок-схему алгоритма в тетради. Кто справится первым, прошу к доске.
Подпишем основные элементы блок — схемы применительно к языку программирования.
4. Составление программы по блок — схеме.
Теперь, пользуясь нашими записями, составим программу и покажем её учителю. Тот, кто до конца урока составит только программу, не проверив её на компьютере, получит три, тот, кто наберёт программу на компьютере, но не проверит её на примерах, получит три. Тот, кто выполнит всё задание, получит пять.
А я раздам вам домашнее задание.
Var a,b,c,d,x1,x1: real;
Write(‘введите коэффициенты уравнения a,b,c’); readln(a,b,c);
Else writeln(‘действительных корней нет’)
1. Составить и набрать программу КВУР на компьютере.
Загрузка среды Pascal- 2ЩЛКМ по значку Pascal, нажать ALT+ENTER.
Запуск программы — ЩЛКМ по кнопке RUN выбрать RUN.
2. Решить следующие квадратные уравнения и показать учителю их решения (если нет такой возможности, то занести их в маршрутный лист (Приложение 4)
1,5х 2 -0,6х — 4,8 = 0
3. Переделайте программу КВУР таким образом, чтобы в ней учитывался случай, когда D=0 и уравнение имеет один корень.
4. Закрыть программу.
Подсказка: Меню File — Exit или ALT+X.
1. За простое воспроизведение (набор программы) без проверки оценка «3»
2. За проверку работы программы на примерах, представленных учителем оценка «4»
3. За решение всех заданий и дополнительное изменение программы для случая D=0, оценка «5»
4. Закрыть программу.
Подсказка: Меню File — Exit или ALT+X.
№ | Х1 | Х2 |
1 | 3,230139 | 0,1031947 |
2 | 1,464102 | -5,464102 |
3 | 1,106107 | -1,356107 |
4 | Корней нет | |
5 | Корней нет | |
6 | 1,6 | 0 |
7 | 2 | -1,6 |
8 | Корней нет | |
9 | 0,6872614 | -1,131706 |
10 | 9,486833 | -9,486833 |
Можно дать дополнительное задание:
Изменить программу так, чтобы ответ был с точностью до 2-х знаков после запятой.
1) Напишите программу проверки пароля. Пусть пароль — некоторое число, зафиксированное в программе. Программа печатает приглашение «введите пароль» и вводит число. Если введённое число совпадает с фиксированным паролем, то программа выводит приветствие, если нет — сообщает о том, что пароль не угадан.
7. Подведение итогов урока.
Итак, ребята, сегодня мы с вами решали конкретные задачи из математики, применяя свои умения по программированию. Вы получили следующие оценки за свои знания. (Перечисление оценок) На следующем уроке нам предстоит познакомиться с новыми алгоритмами — Циклическими.
На сегодня наш урок закончен. До свидания.
Литература:
- Informatics mccme ru решения задач
- Вы здесь
- http://informatics. mccme. ru/mod/statements/view3.php
- Сборник задач по программированию на Паскале
- Линейные алгоритмы
- 2. Разветвляющиеся алгоритмы
- 2.1 Условный оператор IF
- 2.2 Условный оператор CASE
- 3. Циклические алгоритмы
- 3.1 Оператор цикла FOR
- 3.2 Оператор цикла WHILE
- 4. Обработка массивов
- 4.1 Одномерные массивы
- 4.1.1 Алгоритмы поиска и присвоения значений элементам массива
- 4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- 4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- 4.1.4 Алгоритмы удаления, вставки и перестановки элементов
- 4.1.5 Алгоритмы сортировки числового массива
- 4.2 Двумерные массивы
- 4.2.1 Алгоритмы действий над элементами двумерного массива
- 💡 Видео
Видео:Задачи с массивами | Pascal | Сумма и поиск элементовСкачать
Informatics mccme ru решения задач
На данный момент решены задачи:
Задача №1. Коровы — в стойла
Задача №2. Приближенный двоичный поиск
Показать полностью…
Задача №3. Сложность двоичного поиска
Задача №4. Двоичный поиск
Задача №5. Дейкстра
Задача №7. Заправки
Задача №49. Списки по классам
Задача №50. Игра в пьяницу
Задача №51. Правильная скобочная последовательность
Задача №52. Постфиксная запись
Задача №54. Простой стек
Задача №55. Стек с защитой от ошибок
Задача №56. Стек неограниченного размера
Задача №57. Простая очередь
Задача №58. Очередь с защитой от ошибок
Задача №60. Простой дек
Задача №61. Дек с защитой от ошибок
Задача №63. A[0], A[2], A[4], .
Задача №64. Вывести четные элементы
Задача №65. Количество положительных элементов
Задача №66. Количество элементов, больших предыдущего
Задача №67. Есть ли два элемента с одинаковыми знаками
Задача №68. Количество элементов больших обоих соседей
Задача №69. Переставить элементы в обратном порядке
Задача №70. Переставить соседние элементы
Задача №71. Циклический сдвиг вправо
Задача №72. Максимум в массиве
Задача №73. Количество различных элементов в монотонном массиве
Задача №74. a + b = c
Задача №80. Двоичные строки заданной длины
Задача №81. Двоичные строки заданной длины в обратном порядке
Задача №82. Все строки длины n из k различных символов
Задача №83. Все строки длины n из k различных символов, k>10 в обратном порядке
Задача №84. Все двоичные строки длины n, содержащие ровно k единиц
Задача №85. Все перестановки заданной длины
Задача №87. Все возрастающие последовательности длины k из чисел 1..n
Задача №88. Все убывающие последовательности длины k из чисел 1..n
Задача №89. Разбиение на невозрастающие слагаемые, лексикографический порядок
Задача №90. Разбиение на невозрастающие слагаемые, обратный порядок
Задача №91. Разбиение на неубывающие слагаемые, лексикографический порядок
Задача №92. Разбиение на неубывающие слагаемые, обратный порядок
Задача №93. Мирные ферзи
Задача №101. Циклическая строка
Задача №102. Проверить, является ли символ цифрой
Задача №103. Перевести символ в верхний регистр
Задача №104. Изменить регистр символа
Задача №105. Совпадают ли строки?
Задача №106. Количество слов
Задача №107. Самое длинное слово
Задача №108. Является ли слово палиндромом?
Задача №109. Две одинаковые буквы
Задача №110. Поиск подстроки
Задача №111. Капитан Флинт
Задача №112. Является ли строка палиндромом?
Задача №113. Список квадратов
Задача №114. Сумма цифр числа
Задача №115. Количество нулей
Задача №116. Минимальная и максимальная цифры
Задача №117. Двоичная запись
Задача №118. Обращение числа
Задача №119. Количество палиндромов
Задача №120. 1/0!+1/1!+1/2!+.
Задача №121. Обнулить последние биты
Задача №122. 2^n+2^m
Задача №124. Установить значение бита в 1
Задача №125. Инвертировать бит
Задача №126. Установить значение бита в 0
Задача №127. Обнулить все биты, кроме последних
Задача №128. Определить значение бита
Задача №129. Вывести значение байта побитно
Задача №131. Сравнение чисел
Задача №132. Сумма чисел
Задача №133. Разность чисел
Задача №134. Вычитание со знаком
Задача №135. Умножение чисел
Задача №146. Сложить две дроби
Задача №147. Алгоритм Евклида
Задача №149. Теорема Лагранжа
Задача №150. Сумма двух кубов
Задача №151. Дружественные числа
Задача №152. Гипотеза Гольдбаха
Задача №153. N-е число Фибоначчи
Задача №154. НОД (рекурсивный вариант)
Задача №155. Генератор
Задача №156. Без массивов
Задача №160. Путь в графе
Задача №161. Один конь
Задача №162. Табличка
Задача №163. Два коня
Задача №164. Обход в глубину
Задача №167. Разминка
Задача №174. Города и дороги
Задача №175. Светофорчики
Задача №176. Цветной дождь
Задача №177. Издевательство
Задача №178. Форд-Беллман
Задача №187. Шахматы (CD)
Задача №188. Карточки
Задача №195. Обратная перестановка
Задача №200. Площадь комнаты
Задача №201. Числа Фибоначчи
Задача №202. Игра со спичками
Задача №203. Мячик на лесенке
Задача №205. Наибольшая возрастающая подпоследовательность (НВП)
Задача №206. Биномиальные коэффициенты
Задача №223. Линейный поиск — 1
Задача №224. Линейный поиск — 2
Задача №225. Ближайшее число
Задача №226. Линейный поиск — 3
Задача №227. Максимальный элемент массива
Задача №228. Номер максимального элемента массива
Задача №229. Максимальный — вперед
Задача №230. Сортировка выбором максимума
Задача №231. Вставка числа
Задача №232. Сортировка вставками
Задача №233. Пузырьковая сортировка
Задача №240. Негласный палиндром
Задача №241. Тапочки
Задача №246. Квадратные таблицы
Задача №247. 3A + 5B
Задача №248. Слоники
Задача №253. Високосный год
Задача №254. Ладья
Задача №255. Слон
Задача №256. Ферзь
Задача №257. Конь
Задача №258. Шоколадка
Задача №259. Фишки
Задача №260. Уравнение
Задача №261. Сложное уравнение
Задача №262. Сдача
Задача №264. Мороженое
Задача №265. Котлеты
Задача №266. Координатные четверти
Задача №269. Площадь треугольника
Задача №270. Уравнение прямой I
Задача №271. Уравнение прямой II
Задача №274. Принадлежность точки прямой
Задача №277. Расстояние от точки до прямой
Задача №292. Максимум из двух чисел
Задача №293. Какое из чисел больше?
Задача №294. Максимум из трех
Задача №295. Существует ли треугольник?
Задача №296. Количество равных из трех
Задача №298. Король
Задача №300. Юлианский календарь
Задача №301. Квадратное уравнение
Задача №302. Тип треугольника
Задача №303. Коровы
Задача №304. Билеты на метро
Задача №305. Билеты на метро — 2
Задача №307. Степень
Задача №309. Голосование
Задача №310. Проверка на простоту
Задача №315. Сумма квадратов
Задача №316. Факториал
Задача №317. Число сочетаний
Задача №319. Геометрическая прогрессия
Задача №320. Сумма
Задача №321. Сумма — 2
Задача №322. Наиболее удаленная точка
Задача №323. Центр тяжести
Задача №324. Диаметр множества
Задача №325. Сортировка точек
Задача №326. Максимальный периметр
Задача №327. Максимальная площадь
Задача №328. Средний балл по предметам
Задача №329. Учащиеся без троек
Задача №330. Лучшие учащиеся
Задача №332. Отсортировать по среднему баллу
Задача №333. Четные числа
Задача №334. Остаток
Задача №335. Квадраты
Задача №337. Сумма цифр
Задача №338. Переверни число
Задача №339. Минимальный делитель
Задача №340. Делители числа
Задача №341. Количество делителей
Задача №342. Сумма ста
Задача №343. Сумма чисел
Задача №345. Нули
Задача №346. Подсчет чисел
Задача №347. Ноль или не ноль
Задача №348. Уравнение по возрастанию
Задача №349. Уравнение по убыванию
Задача №350. Количество решений
Задача №351. Факториал
Задача №352. Степень
Задача №353. Сумма степеней
Задача №354. Побочная диагональ
Задача №355. Симметричная ли матрица?
Задача №356. Состязания
Задача №357. Состязания — 2
Задача №358. Состязания — 3
Задача №359. Состязания — 4
Задача №360. Состязания — 5
Задача №361. Таблица умножения
Задача №362. Треугольник Паскаля
Задача №363. Заполнение змейкой
Задача №364. Заполнение диагоналями
Задача №365. Заполнение спиралью
Задача №366. Камни
Задача №401. Слишком вложенные скобки
Задача №434. Положение точек вне прямой
Задача №441. Точка пересечения медиан
Задача №460. Проверка на неориентированность
Задача №461. Петли
Задача №462. Подсчет количества ребер неориентированного графа
Задача №463. Подсчет количества ребер ориентированного графа
Задача №464. От матрицы смежности к списку ребер, неориентированный вариант
Задача №465. От списка ребер к матрице смежности, неориентированный вариант
Задача №466. От матрицы смежности к списку ребер, ориентированный вариант
Задача №467. От списка ребер к матрице смежности, ориентированный вариант
Задача №468. Проверка на наличие параллельных ребер, неориентированный вариант
Задача №469. Проверка на наличие параллельных ребер, ориентированный вариант
Задача №470. Степени вершин
Задача №471. Степени вершин по спискам ребер
Задача №472. Полустепени вершин
Задача №473. Полустепени вершин по спискам ребер
Задача №474. Истоки и стоки
Задача №475. Регулярный граф
Задача №476. Полный граф
Задача №477. Полуполный граф
Задача №478. Турнир
Задача №479. Транзитивность неориентированного графа
Задача №480. Транзитивность ориентированного графа
Задача №501. Пароль
Задача №563. Парты
Задача №595. Диета
Задача №596. Утренняя пробежка — 1
Задача №597. Утренняя пробежка — 2
Задача №611. Простые числа
Задача №612. Выражение
Задача №614. Треугольник и точка
Задача №615. Степень
Задача №616. Покер
Задача №617. Простые числа(2)
Задача №618. Перестановки
Задача №619. Маршрут
Задача №621. Длинная сумма
Задача №622. Спираль
Задача №623. Разложение на простые множители
Задача №624. Перестановки(2)
Задача №628. Змейка
Задача №630. Разложение на слагаемые
Задача №632. Площадь многоугольника
Задача №634. Скобки
Задача №748. Binary to hexadecimal
Задача №766. Сортировка слиянием
Задача №842. Последняя цифра числа Фибоначчи
Задача №843. Простая последовательность
Задача №846. Футбол
Задача №849. Калькулятор
Задача №1001. Наибольшее произведение
Задача №100. Строчки
Задача №1023. Автобусная экскурсия
Задача №1119. 0-1 рюкзак: наибольший вес
Задача №1120. 0-1 рюкзак: точный вес
Задача №1209. Клавиатура
Задача №1228. Москва-сортировочная
Задача №1377. Остовное дерево
Задача №1409. Ревизия
Задача №1411. Пузырьковая сортировка: количество обменов
Задача №1412. Столбцы
Задача №1415. Шифр Юлия
Задача №1416. Шкаф
Задача №1417. Конвертирование
Задача №1418. Разные
Задача №1421. Удали пробелы
Задача №1422. Шестеренки
Задача №1427. Матрица
Задача №1430. ГНЧЭ-1
Задача №1433. Кролики
Задача №1435. IP-адрес
Задача №1438. Сообразим на троих!
Задача №1440. Серебряная медаль
Задача №1441. МегаНОД
Задача №1444. Сапер
Задача №1445. Координаты соседей
Задача №1446. Результаты олимпиады
Задача №1447. Контроперация
Задача №1448. Апельсины бочками
Задача №1450. Идеальный отряд
Задача №1451. Четные и нечетные числа
Задача №1453. Полярные единички
Задача №1456. Шеренга
Задача №1457. Двойной переворот
Задача №1458. Переворот
Задача №1459. Римская система счисления
Задача №1460. Суперсдвиг
Задача №1461. Шарики
Задача №1466. Сумма от 1 до N
Задача №1468. Количество дней от начала эры
Задача №1474. Сумма цифр четырехзначного числа
Видео:Программа решения квадратного уравнения. Паскаль 5.Скачать
Вы здесь
- Дистанционная подготовка
- / ► Ресурсы
- / ► Tutorual
- Авторизованный учитель
- Просмотр списка посылок
- Редактирование задач
- Создание групп школьников
- Создание курса
- О задачах
- Создание задач
- Редактирование задач
- Мониторы
- Статусы посылок
Задачи | Гость | Школьник | Команда | Учитель | Авторизованный учитель | Редактор |
---|---|---|---|---|---|---|
Просмотр материалов сайта | + | + | + | + | + | + |
Просмотр закрытых материалов | при наличии ключа | при наличии ключа | при наличии ключа | при наличии ключа | ||
Сдача решений в тестирующую систему | + | во время виртуального турнира | + | + | ||
Просмотр списка посылок | + | + | + | + | ||
Просмотр текстов и протоколов своих программ | + | + | + | + | ||
Просмотр чужих посылок | + | |||||
Создание групп школьников | + | + | ||||
Создание своих курсов и материалов | + | + | ||||
Создание задач | + | + | + | + | + | |
Редактирование условий, разборов, тем | + | |||||
Предложение новых тем к задаче | + | + | + | + | + | |
Создание мониторов | + | + | ||||
Комментирование посылок участников | + | + | ||||
Редактирование статусов посылок | + |
Статус авторизованного учителя на informatics.mccme.ru
На ресурсе informatics существует специальный тип пользователей — авторизованный учитель.
Он имеет возможность просматривать все посылки участников (исходные коды, протоколы и тесты).
Авторизованным учителями могут стать учителя и руководители кружков, которые смогут подтвердить свой статус учителя и пройти процедуру аккредитации.
Чтобы получить статус авторизованного учителя, зарегистрируйтесь как учитель и заведите тикет https://informatics.msk.ru/support/, приложив следующую информацию о себе:
Ваш логин в системе. Ссылка на страницу образовательной организации, в которой Вы работаете. Ссылка на свой курс на informatics Напоминаем, что при наличии роли авторизованного учителя строго запрещается:
Копировать и публиковать и распространять тесты к задачам. Изменять статусы посылок пользователей, которые не являются слушателями курса Авторизованного учителя.
Просмотр списка посылок
Всем пользователям сайта доступны списки посылок: собственных по данной задаче (отображаются на странице задачи), всех пользователей по данной задаче (ссылка Посылки над условием задачи), всех пользователей по задачам данного контеста и пользователей ваших групп по задачам данного контеста (отображаются слева от условий задач), а также все собственные посылки по всем задачам (ссылка Мои посылки на главной странице) и всех посылок на сайте (ссылка Последние посылки в разделе Статистика на главной странице сайта).
Кроме того, для собственных посылок (а для авторизованных учителей — для всех посылок всех пользователей) по ссылке подробнее можно просмотреть исходный код посылки, полный протокол проверки, а также входные и выходные данные на каждом тесте.
Отдельным пользователям дополнительно предоставляются права Редактор сайта. Эти пользователи могут редактировать условия и разборы всех задач, а также указывать новые и редактировать старые темы, отнесенные к задаче.
Кроме того, каждый пользователь может предложить добавить к задаче ту или иную тему из тематического рубрикатора. Эти предложения вступают в силу после авторизации администратором.
Создание групп школьников
Для наблюдения за успехами ваших школьников вы можете объединять их в группы. У вас, как у создателя группы, и у всех включенных вами в группу участников на странице каждого контеста появятся новые ccылки: таблица результатов данной группы и список всех посылок данной группы:
Группу может создать любой учитель. В группу можно включать как школьников, так и других учителей (при этом изменять состав группы может только ее создатель или администраторы сайта).
Для того, чтобы создать группу:
- На главной странице в левом верхнем углу щелкните по ссылке Управление группами.
- На открывшейся странице щелкните по ссылке новая группа
- Введите название группы (например, «школа 125, 9А класс» и нажмите на кнопку создать.
- В правом окошке размещен список всех пользователей сайта. Вам предстоит выбрать нужных вам участников и перетащить их мышкой в левую часть. Для поиска нужных людей вы можете воcпользоваться сортировкой по любому столбцу (для этого достаточно щелкнуть по его заголовку) а также поиском в столбце (для этого необходимо навести мышку на правый конец заголовка нужного столбца, щелкнуть по появившейся стрелочке, выбрать в меню Фильтр и ввести текст для поиска (например, фамилию ученика, номер школы или город).
- Найти нужного школьника и мышкой перетащить в левую таблицу. Он сразу же будет добавлен в группу.
Чтобы исключить школьника из группы, нужно перетащить его из левой таблички в правую.
Каждый учитель может создавать на сайте свои курсы:
Курс может включать в себя несколько разделов, состоящих из материалов различного типа: контестов, теоретических материалов, тестов, заданий, ссылок на файлы и веб-страницы, таблиц результатов и т.д. Ссылки на все созданные курсы отображаются на главной странице в разделе Кружки и уроки.
Для создания нового курса необходимо:
- Щелкнуть по ссылке Создать курс в левом верхнем углу главной страницы сайта.
- Указать Полное название курса. Оно обязательно должно содержать название учебного заведений или города!
- Выбрать короткое имя курса, которое будет указываться в строке меню.
- В поле количество недель/тем указать количество разделов (на рисунке выще они пронумерованы цифрами 1,2)
- Если вы хотите временно скрыть курс от посетителей сайта (до начала занятий или на время разработки), в пункте Доступность выберите Курс не доступен для студентов.
- Если вы не хотите допускать в курс посторонних, введите Кодовое слово и сообщите его всем участникам курса.
- Нажмите кнопку Сохранить. После этого вы окажетесь внутри созданного вами курса.
В дальнейшем вы всегда сможете изменить любой из указанных параметров курса.
Добавление учебных материалов
Для начала редактирования курса нажмите кнопку Редактировать в правом верхнем углу на страничке курса.
Курс состоит из вводного раздела (без номера), в котором собрана информация и материалы, относящиеся ко всему курсу целиком, а также пронумерованных разделов (1, 2, 3, . ) каждый из которых может соответствовать по вашему желанию одному занятию, одному классу, одному мероприятию и т.п.
Для указания названия (или вступления) к разделу, нажмите на в левом верхнем углу соответствующего раздела. В этом поле вы можете написать любой текст в формате html, например:
или просто указать название раздела, например:
Условный оператор
Далее, в каждый раздел вы можете добавить различные учебные материалы, выбрав соответствующую строчку в выпадающем меню. Приведем краткие описания наиболее полезных видов материалов.
- Условия задач: контест, составленный из задач, имеющихся в тестирующей системе сайта. Школьникам будут доступны условия задач и возможность сдачи решений в тестирующую систему. Отметим, что эти материалы являются основным содержанием сайта, и мы надеемся, что вы будете создавать курсы с использованием задач с автоматическим тестированием.
- Таблица результатов: сводная таблица по нескольким контестам для данной группы.
- Пояснение: небольшой фрагмент текста на странице курса (в формате html)
- Текстовая страница: отдельный текстовый документ, который вы планируете написать, со ссылкой на него со страницы курса.
- Веб-страница: то же, но в формате html
- Ссылка на файл или веб-страницу: ссылка на существующую страницу в сети интернет или на страницу или файл на данном сайте. Вы также можете предварительно закачать файлы в свой курс и поставить ссылку на них.
Также вы можете создавать тесты, задания. опросы и т.п.
После создания любого материала справа от него появятся значки: перенести вправо (сделать отступ), перенести (в другое место курса), редактировать (сам материал и/или его настройки), удалить, спрятать (от школьников).
Контест — это набор задач на одну тему, либо предлназначенный для решения на одной олимпиаде, тренировке итп.
Для каждого контеста доступна своя таблица результатов, а также список посылок, сделанных школьниками по задачам данного контеста. Одна задача может входить в разные контесты, при ее решении результаты (в таблице результатов и списке посылок) появляются сразу во всех контестах, содержащих данную задачу.
Для создания контеста выберите в выпадающем меню Добавить ресурс в соответствующем разделе вашего курса пункт Условия задач. В поле название укажите заголовок контеста (например: Условный оператор или Тренировка №5). Если вы планируете провести олимпиаду и контрольную работу, вы можете отметить флажок Не показывать разборы, темы и т.д. — в этом случае школьникам не будут показываться различные подсказки.
Если вы пока не хотите открывать данный контест для школьников, выберите в пункте Доступные вариант Спрятать.
Нажмите кнопку Сохранить.
После этого вы сможете выбрать задачи для данного контеста. Для этого есть два основных способа:
Выбрать задачи из тематического рубрикатора. После перехода по данной ссылке вы попадете в тематический рубрикатор. Там присутствуют не все, но большая часть задач, имеющихся в тестирующей системе, и он постоянно пополняется. Под каждой задачей есть ссылка добавить, которая перемещает данную задачу в ваш контест. После выбора всех необходимых задач нужно нажать ссылку Создать контест в левом верхнем углу.
Добавить задачи по id (идентификационному номеру). Вы можете предварительно выбрать интересующие вас задачи в других разделах сайта и выписать себе их номера, а затем ввести их, перейдя по данной ссылке.
Продвинутым пользователям, знакомым со структурой контестов в ejudge данного сайта, доступна также возможность выбирать задачи непосредственно из контестов в тестирующей системе.
После выбора задач вы можете менять их порядок и удалять или скрывать те или иные задачи.
Задача — это основной объект на данном сайте. Данный сайт в первую создавался в первую очередь как база задач по программированию для школьников с автоматической проверкой. Чтобы успешно использовать его в своей деятельности, необходимо прежде всего понять, что такое задача и как она устроена.
Каждая задача включает в себя:
- Id — уникальный числовой идентификатор, по которому вы можете получить доступ к данной задаче из окошка на главной странице, по которому вы можете добавить задачу в контест и который удобнее всего использовать при ссылке на данную задачу.
- Название задачи
- Условие задачи — хранится на сайте в формате html. Некоторые задачи опуликованы без условий, либо по лицензионным соображениям (задачи взяты из книг), либо потому что добавивший их учитель не хочет раньше времени показывать условие ученикам.
- Темы — большинству задач приписаны одна или несколько тем из Тематического рубрикатор. Вы можете предложить новые темы для каждой задачи, после одобрения администратором они будут прикреплены к задаче.
- Разбор — описание решения задачи. Как правило, разборы написаны школьниками-участниками сайта, и мы не несем ответственности за их содержание и грамотность. При этом данные тексты часто бывают полезны школьникам, поэтому пока мы оставили их на сайте в таком виде.
- Описание — краткий текст для учителя, описывающий задачу и/или ее решение.
- Тестирующий модуль: тесты и проверяющие программы — практически все задачи на сайте сопровождаются возможностью их автоматической проверки.
- Посылки — список всех посланных на проверку решений с указанием результатов проверки. Авторизованным учителям и администраторам также доступны тексты всех решений и тестов и правильных ответов. Остальным участникам доступны только тексты своих решений, протоколы проверки, а также — для некоторых задач, как правило, личных олимпиад начального уровня — тесты и правильные ответы.
- Результаты — таблица результатов по данной задаче. Одна и та же задача может присутствовать в разных контестах, при этом сдача решения в одном контесте влечет за собой появление информации о посылке и результатах данного участника по данной задаче во всех контестах, куда входит эта задача.
Список всех ваших посылок доступен в меню на главной странице сайта (ссылка Мои посылки).
Задачи на сайт добавляются при помощи системы Polygon. Более подробно о добавлении задач на сайт можно прочитать в этой инструкции.
Отдельным пользователям дополнительно предоставляются права Редактор сайта. Эти пользователи могут редактировать условия и разборы всех задач, а также указывать новые и редактировать старые темы, отнесенные к задаче.
Кроме того, каждый пользователь может предложить добавить к задаче ту или иную тему из тематического рубрикатора. Эти предложения вступают в силу после авторизации администратором.
Иногда бывает удобно объединить в одну таблицу результатов несколько контеcтов (например, все уроки данного класса или два тура одной олимпиады).
Создание таких таблиц результатов делается в два шага.
Создание набора контестов (монитора). На главной странице в разделе Рабочий стол учителя пройдите по ссылке Управление мониторами, далее: создать монитор и укажите название создаваемого монитора. Выберите контесты, которые необходимо в него включить и перетащите их мышью из правой таблицы в левую.
Создание таблицы результатов. Находясь в своем курсе, нажмите кнопку редактировать, в нужном разделе в выпадающем меню Добавить реcурс. выберите пункт Таблица результатов. Укажите ее название, выберите в пункте Таблица результатов созданный вами в п.1 монитор, а в пункте Группа — интересующую вас группу школьников либо пункт Все участники. Нажмите Сохранить.
В мониторе указываются только те участники, которые сделали в указанных контестах хотя бы одну посылку, и только те контестых, в которых указанные участники сделали хотя бы одну посылку.
Чтобы сделать монитор по секретной ссылке, можно сделать следующее:
- найти >Параметры: contest_ >
Можно сделать это например с помощью js в консоли браузера на сайте информатикса:
Из запроса вернётся JSON с токеном для доступа к монитору
Чтобы сгенерировать ссылку, нужно быть авторизованным учителем; чтобы увидеть монитор, нужно быть залогиненым
После автоматического тестирования каждое решение получает статус проверки: OK, неполное решение, превышен лимит времени, превышен лимит памяти, и т.д.
Авторизованные учителя могут вручную изменять статус проверки. Обычно вручную устанавливаются следующие статусы:
- Ошибка оформления кода: этот статус устанавливается учителем, если ему не нравится, как отформатирован код, как названы переменные и т.п.
- Проигнорировано: этот статус означает, что учитель по тем или иным причинам не хочет засчитывать данное решение (например, использован не тот алгоритм итп)
- Дисквалифицирован: решение не засчитано по причине списывания и т.п.
Эта работа успешно выполнена на онлайн-сервисе помощи студентам «Всё сдал!».
Видео:Сортировка массива пузырьком | PascalСкачать
http://informatics. mccme. ru/mod/statements/view3.php
Это место для переписки тет-а-тет между заказчиком и исполнителем.
Войдите в личный кабинет (авторизуйтесь на сайте) или зарегистрируйтесь, чтобы
получить доступ ко всем возможностям сайта.
Видео:Информатика 8 класс. Решение линейного и квадратного уравнения на PascalABCСкачать
Сборник задач по программированию на Паскале
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
«Актуальность создания школьных служб примирения/медиации в образовательных организациях»
Свидетельство и скидка на обучение каждому участнику
Сборник задач по программированию на языке Паскаль
Автор : Селезнева Наталья Николаевна, учитель информатики и ИКТ МОУ Рязанцевской СОШ
Описание материала: Сборник задач посвящен вопросам программирования на языке программирования Pascal 7.0. В нем подробно рассматриваются решения большого количества задач, от простых до достаточно сложных.
Сборник адресован учащимся, преподавателям, ведущим занятия по информатике и программированию, а также всем желающим самостоятельно овладеть искусством программирования на языке Pascal 7.0.
Сборник содержит условия задач и одно или два варианта их решения на языке программирования Pascal 7.0.
Задачи в сборнике классифицированы по основным разделам: линейные алгоритмы, р азветвляющиеся алгоритмы, циклические алгоритмы, обработка массивов, обработка строк и с оздание графических изображений. После каждого раздела предлагаются задачи для самостоятельного решения. Внутри каждого раздела задачи по мере возможности расположены по возрастанию степени трудности.
1. Линейные алгоритмы 4
2. Разветвляющиеся алгоритмы 5
2.1 Условный оператор IF 5
2.2 Условный оператор CASE 6
3. Циклические алгоритмы 8
3.1 Оператор цикла FOR 8
3.2 Оператор цикла WHILE 9
4. Обработка массивов 12
4.1 Одномерные массивы 12
4.1.1 Алгоритмы поиска и присвоения значений элементам массива 12
4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива 14
4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса 18
4.1.4 Алгоритмы удаления, вставки и перестановки элементов 21
4.1.5 Алгоритмы сортировки числового массива 22
4.2 Двумерные массивы 23
4.2.1 Алгоритмы действий над элементами двумерного массива 23
4.2.2 Алгоритмы формирования одномерного массива 28
4.2.3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива 31
4.2.4 Алгоритмы удаления, вставки и перестановки элементов 33
5. Обработка строк 34
5.1 Подсчет и вывод символов 34
5.2 Удаление символов 35
5.3 Вставка символов 36
5.4 Сложные варианты 37
6. Создание графических изображений. Модуль Graph 39
Видео:Паскаль с нуля [ч6]. Циклы. While, repeat-until, for.Скачать
Линейные алгоритмы
Задача 1. Даны две целые переменные A , B . Составить фрагмент программы, после исполнения которого, значения переменных поменялись бы местами (новое значение A равно старому значению B и наоборот).
Write (‘ Введите два значения ‘);
Задача 2. Решить предыдущую задачу, не используя дополнительных переменных (и предполагая, что значениями целых переменных могут быть произвольные целые числа).
Write (‘ Введите два значения ‘);
A := A + B; B := A — B; A := A — B;
Задача 3. Задан радиус окружности. Найти площадь и длину окружности.
Write (‘ Введите радиус окружности ‘);
WriteLn (‘ Площадь окружности = ’, S :4:2);
WriteLn (‘ Длина окружности = ‘, L :4:2);
Даны три действительных положительных числа. Найти среднее геометрическое и среднее арифметическое этих чисел.
Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.
Мальчик купил несколько тетрадей по сто рублей и несколько обложек по 50 рублей. Составить программу, которая могла бы подсчитать стоимость всей покупки.
Видео:Работа с массивами PascalСкачать
2. Разветвляющиеся алгоритмы
Видео:Практикум Pascal. Урок 4: Задача № 9. Квадратное уравнение.Скачать
2.1 Условный оператор IF
Задача 1. Определить является ли данное целое число R четным. Дать словесный ответ.
WriteLn(‘ Введите число ‘);
IF R MOD 2 = 0 Then WriteLn(‘ Число четное ‘)
Else WriteLn(‘Число не четное’);
Задача 2. Даны три целых числа. Выбрать из них те, которые принадлежат интервалу [1,3]
WriteLn(‘Введите три целых числа’);
Else WriteLn(‘Первое число не принадлежит заданному интервалу’);
Else WriteLn(‘Второе число не принадлежит заданному интервалу’);
Else WriteLn(‘Третье число не принадлежит заданному интервалу’);
Задача 3. Даны положительные целые числа A, B, C. Выяснить существует ли треугольник с длинами сторон A, B, C.
WriteLn(‘ Введите три числа ‘);
IF (A+B>C) AND (A+C>B) AND (B+C>A) Then WriteLn(‘ Треугольник построить можно ‘)
Else WriteLn(‘Треугольник построить нельзя’);
Заданы два числа X , Y . Меньшее из двух значений заменить на 0. Если же они равны – заменить нулями оба.
Поменять местами значения целых переменных A , B , C таким образом, чтобы оказалось A B C .
Заданы три числа X , Y , Z . Найти min ( XYZ , X + Y + Z ).
Видео:Pascal.Программа квадратное уравнение.Скачать
2.2 Условный оператор CASE
Задача 1. Составить программу, которая по введенному значению 1, 2, 3, 4 вычисляет площадь треугольника:
По основанию и высоте
По трем сторонам
По двум сторонам и углу между ними
WriteLn(‘Вычисление площади треугольника’); WriteLn;
WriteLn(‘1.По основанию и высоте’);
WriteLn(‘2.По трем сторонам’);
WriteLn(‘3.По двум сторонам и углу между ними’);
WriteLn(‘ Введите номер пункта ‘); ReadLn(X);
Write(‘Введите основание и высоту треугольника ‘); ReadLn(A,H);
WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;
Write(‘Введите значения сторон треугольника ‘);
WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;
Write(‘Введите значения двух сторон и угол между ними ‘);
WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;
WriteLn(‘Программа закончила свою работу’); ReadLn;
WriteLn(‘ Номер пункта ввели неверно ‘); ReadLn;
Задача 2. Составить программу, которая по введенному значению выводит оценки по математике, физике, информатике.
VAR X: INTEGER; M:CHAR;
W rite L n(‘ПРГ выводит оценки по математике, физике и химии’);
Write L n(‘1.Вывод оценок по предметам’);
Write L n(‘Введите номер пункта’);
WriteLn(‘ По какому предмету Вы хотите увидеть оценки’);
WriteLn(‘ М — математика’);
WriteLn(‘ Ф — физика ‘);
WriteLn(‘ Х — химия ‘);
‘ М ‘,’ м ‘:WriteLn(‘5 5 4 4 5 5 3 5 5 ‘);
‘ Ф ‘,’ ф ‘:WriteLn(‘5 4 5 3 5 4 5 5 5 ‘);
‘ Х ‘,’ х ‘:WriteLn(‘4 3 5 3 4 4 4 5 ‘);
WriteLn(‘ Программа закончена ‘);
WriteLn(‘ Номер неверен ‘); ReadLn;
Составить программу, которая по введенному значению 1, 2, 3 вычисляет:
Составить программу «Календарь XX столетия», которая определяет день недели любого дня XX -го столетия. По введенному значению 1, 2, 3 вычисляет
номер дня недели по формуле, где D — день, М-месяц, G -год:
N = K -7[ K /7] ( N -вычисляется от 0-воскресенье до 6-суббота, []-целая часть)
день недели по его номеру
Видео:Матрицы в паскале: задачи с массивами из задачника М. Э. Абрамян (Matrix27)Скачать
3. Циклические алгоритмы
Видео:4 урок Паскаль:Квадратное уравнение.Скачать
3.1 Оператор цикла FOR
Задача 1. Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений.
X: INTEGER; S, K, P: INTEGER; I: BYTE;
FOR I:=1 TO 10 DO Begin
WriteLn(‘ Введите ‘,I,’ — е значение ’); ReadLn(x);
IF X >0 Then P := P * X ;
WriteLn (‘ Произведение положительных значений = ‘, p );
WriteLn (‘ Сумма отрицательных значений = ‘, s );
WriteLn (‘ Количество отрицательных значений = ‘, k );
Задача 2. Из N целых чисел найти минимальное значение.
VAR MI, X: INTEGER; I,N: BYTE;
WriteLn(‘Введите количество значений’); ReadLn(n);
WriteLn(‘Введите первое значение’); ReadLn ( mi );
FOR I:=2 TO N DO Begin
WriteLn(‘ Введите ‘,I,’ — е значение ’); ReadLn(x);
WriteLn (‘Минимальное значение = ‘, MI );
Задача 3. Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений.
MI, MA, N, I, X: INTEGER; FL, FL1: BYTE;
WriteLn(‘Введите количество значений’); ReadLn(N);
FOR I:=1 TO N DO Begin
WriteLn(‘ Введите ‘,I,’ значение ‘); ReadLn(X);
IF (FL1=0) AND (X>0) Then Begin
IF (X MA) Then MA:=X;
IF FL =1 T hen W riteLn(‘максимальное среди отрицательных = ‘,ma)
E lse WriteLn(‘отрицательных нет’);
IF FL 1=1 T hen W riteLn(‘минимальное среди положительных = ‘,mi)
E lse WriteLn(‘положительных нет’);
Найти среднее арифметическое минимального и максимального элементов из 10 введенных.
Напечатать лучший результат заплыва среди 8 участников.
Из n введенных чисел найти максимальное значение среди положительных элементов.
В группе определить самого высокого мальчика и самую маленькую девочку.
В ЭВМ вводятся результаты соревнований по прыжкам в высоту. Число участников произвольно. Напечатать сообщение о победителе.
Видео:Pascal (Урок 4) Квадратное уравнениеСкачать
3.2 Оператор цикла WHILE
Задача 1. Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n.
A, N, B, K : INTEGER;
Write(‘ Введите два значения ‘); ReadLn(A,N);
While K N DO Begin
K := K + 1; B := B * A;
Write(‘ A в степени N = ’,B);
Другое решение той же задачи:
A, N, B, K : INTEGER;
Write (‘ Введите два значения ‘); ReadLn ( A , N );
While K 0 DO Begin
K := K — 1; B := B * A;
Write(‘ A в степени N = ’,B);
Задача 2. Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, .
A, B, C, K : INTEGER;
Write(‘ Введите два значения ‘); ReadLn(A,B);
While K B DO Begin
K := K + 1; C := C + A;
Задача 3. Дано натуральное (целое неотрицательное) число A и целое положительное число D . Вычислить частное Q и остаток R при делении A на D , не используя операций DIV и MOD . ( Согласно определению, А = Q * D + R , 0 R D .)
A, D, R, Q : INTEGER;
Write(‘ Введите два значения ‘); ReadLn(a,d);
WriteLn (‘ Частное = ’, Q );
WriteLn(‘ Остаток = ’,R);
Задача 4. Каждый год урожайность повышается на 5%. Через сколько лет урожай удвоится?
YR, KL: BYTE; YRG: REAL;
Write(‘ Введите урожайность ‘); ReadLn(YR);
WriteLn(‘ Новый урожай ‘,YRG:5:0);
W rite(‘Через ‘, KL ,’ лет урожай удвоится’);
Задача 5. Деду M лет, а внуку N лет. Через сколько лет дед станет вдвое старше внука. И сколько при этом лет будет деду и внуку.
M,N: BYTE; Kl: BYTE;
Write(‘Введите количество лет деда ‘); ReadLn(m);
Write(‘Введите количество лет внука ‘); ReadLn(n);
While (M>2*N) DO Begin
WriteLn(M,’ лет деду ‘);
WriteLn(N,’ лет внуку’);
WriteLn(‘Через ‘, KL ,’ лет дед вдвое станет старше внука’);
Задача 6. Поле засеяли цветами двух сортов на площади S 1 и S 2. Каждый год площадь цветов первого сорта увеличивается вдвое, а площадь второго сорта увеличивается втрое. Через сколько лет площадь первых сортов будет составлять меньше 10% от площади вторых сортов.
Write(‘Введите площадь, которую засеяли цветами 1-го сорта ‘); ReadLn(S1);
Write(‘Введите площадь, которую засеяли цветами 2-го сорта ‘); ReadLn(S2);
While (S1>0.1*S2) DO Begin
S1:=S1*2; S2:=S2*3; KL:=KL+1;
WriteLn(‘Площадь, которую засеяли цветами 1-го сорта ‘,S1);
WriteLn(‘Площадь, которую засеяли цветами 2-го сорта ‘,S2);
WriteLn(‘ Через ‘, kl,’ лет ‘);
Задача 7. Составить программу перевода числа из 10 системы счисления в 2 систему счисления.
Для этой задачи представлено два решения.
DES, OST, I, DW:INTEGER;
Write(‘ Введите десятичное число ‘); ReadLn(DES);
While (DES>=2) DO Begin
Write(‘Двоичная запись числа ‘, DW );
DES, OST, I:INTEGER;
DW:Array[1..100] OF INTEGER;
Write(‘ Введите десятичное число ‘); ReadLn(des);
While (des>=2) DO Begin
FOR I:=I DownTo 1 DO
Составить программу, печатающую квадраты всех натуральных чисел от 0 до заданного натурального n.
Дано натуральное n, вычислить n! (0!=1, n! = n * (n-1)!).
Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k >= 2. Дано n, вычислить a(n).
К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 100 мисок. Через какое время появятся лишние кошки, и сколько кошек при этом останется голодными.
Известна сумма номеров страниц, определить номер страницы.
Лягушка каждый последующий прыжок делает в два раза короче предыдущего. Достигнет ли она болота и за сколько прыжков. Длину первого прыжка задайте самостоятельно.
Видео:Паскаль с нуля [ч5]. Математические функции. Простой калькулятор. От блок-схемы к программеСкачать
4. Обработка массивов
Видео:Информатика 9 класс: Сортировка массива в ПаскалеСкачать
4.1 Одномерные массивы
4.1.1 Алгоритмы поиска и присвоения значений элементам массива
Задача 1. Составить программу обработки массива размерностью n , заполненного целыми числами, введенными с клавиатуры. Вывести индексы и значения положительных элементов массива.
A:ARRAY[0..N] OF INTEGER;
FOR I:=1 TO N DO Begin
Write(‘ Введите ‘,I,’ элемент массива ‘); ReadLn(A[I]);
IF A[I]>0 THEN WriteLn(‘ Положительный элемент = ‘,A[I],’ его индекс = ‘,I);
Задача 2. Составить программу обработки массива K, состоящего из 20 элементов. Заполнить массив случайными числами в диапазоне от -5 до 25. Все элементы массива К, значения которых находятся в интервале от -2 до 20 возвести в квадрат. Измененный массив вывести на экран.
K:ARRAY[0..20] OF INTEGER;
FOR I:=1 TO 20 DO Begin
FOR I:=1 TO 20 DO
IF (K[I] -2) THEN K[I]:=K[I]*K[I];
FOR I:=1 TO 20 DO
Задача 3. Составить программу вычисления и печати значений функции Y=sin(x-1)/2x. Значения аргументов задать в массиве X, состоящего из 6 элементов. Значения функции записать в массив Y.
X,Y:ARRAY[0..6] OF REAL;
FOR I:=1 TO 6 DO Begin
Write(‘Введите ‘,I,’ значение аргумента ‘); ReadLn(X[I]);
FOR I:=1 TO 6 DO Begin
Задача 4. Дан массив M, состоящий из 30 элементов. Элементы массива — произвольные целые числа. Выдать на экран значение каждого пятого и положительного элемента. Указанные элементы выдать в строку.
M:ARRAY[0..30] OF INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO 30 DO Begin
WriteLn(‘ Значения каждого пятого и положительного элемента массива’);
IF M[I] > 0 THEN Write(M[I]:3);
Задача 5. Из элементов массива Р сформировать массив М той же размерности по правилу: если номер четный, то М[I]=I*P[I],если нечетный, то M[I]=-P[I].
P, M: ARRAY[0..N] OF INTEGER;
WriteLn(‘ Значения элементов массива ‘);
FOR I:=1 TO N DO Begin
WriteLn(‘ Значения элементов сформированного массива M’);
FOR I:=1 TO N DO Begin
IF I mod 2 =0 Then M[I]:=P[I]*I Else M[I]:=-P[I];
Дан одномерный массив размерностью 10, заполненный целыми числами, введенными с клавиатуры, и величина N . Отрицательные элементы заменить на N . Измененный массив вывести на экран одной строкой.
Дан одномерный массив размерностью N , заполненный случайными числами в интервале от -15 до 20. Вывести на экран значения элементов массива, абсолютное значение которых >10.
Дан одномерный массив размерностью N , заполненный случайными числами. Каждый третий элемент массива возвести в квадрат, если элемент отрицательный. Измененный массив вывести на экран.
Составить программу вычисления и печати значений функции Y=(sinx+1) cos 4x. Значения аргументов задать в массиве X, состоящего из 10 элементов. Значения функции записать в массив Y.
Заменить первые К элементов массива на противоположные по знаку.
Из элементов массива А, состоящего из 25 элементов, сформировать массив D той же размерности по правилу: первые 10 элементов находятся по формуле Di = Ai + i , остальные — по формуле Di = Ai — i .
4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
Задача 1. Определить сумму элементов массива Р(n), значения которых > заданного Т
P:ARRAY[0..N] OF INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
Write(‘ Введите значение переменной ‘); ReadLn(T);
WriteLn(‘ Сумма элементов массива > заданного значения = ‘,S);
Задача 2. Дан массив целых чисел, состоящий из 25 элементов. Подсчитать сумму элементов массива, произведение положительных и количество нулевых элементов. Результат вычисления вывести на экран.
A:ARRAY[0..25] OF INTEGER;
I: BYTE; S,K: INTEGER; P: REAL;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO 25 DO Begin
FOR I:=1 TO 25 DO Begin
IF A[I]>0 THEN P:=P*A[I];
IF A[I]=0 THEN K:=K+1;
WriteLn(‘ Сумма элементов массива = ‘,S);
WriteLn(‘ Произведение положительных элементов массива = ‘,P:0:0);
WriteLn(‘ Количество нулевых элементов массива = ‘,K);
Задача 3. Дан массив четных чисел, состоящий из 15 элементов. Заполнить его с клавиатуры. Найти:
сумму элементов, имеющих нечетные индексы;
подсчитать количество элементов массива, значения которых больше заданного числа T и кратны 5;
номер первого отрицательного элемента, делящегося на 5 с остатком 2.
A:ARRAY[0..15] OF INTEGER;
I,NP,FL: BYTE; S,K: INTEGER;
FOR I:=1 TO 15 DO Begin
Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);
FOR I:=1 TO 15 DO Begin
IF I mod 2 =0 THEN S:=S+A[I];
IF (A[I]>T) AND (A[I] mod 5 =0) THEN K:=K+1;
WriteLn(‘ Сумма элементов,имеющих четные индексы = ‘,S);
WriteLn(‘ Количество элементов, значения которых > ‘,T,’ и кратны 5 = ‘,K);
WriteLn(‘ Номер первого отрицательного элемента, делящегося на 5 с остатком 2 = ‘,NP);
Задача 4. Дан массив четных чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
сумму положительных элементов, значения которых меньше 10;
вывести индексы тех элементов, значения которых кратны 5 и 3;
количество пар соседних элементов с суммой равной заданному числу.
A:ARRAY[0..10] OF INTEGER;
I: BYTE; S,K: INTEGER;
FOR I:=1 TO 10 DO Begin
Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);
WriteLn(‘ Индексы элементов, значения которых кратны 3 и 5’);
FOR I:=1 TO 10 DO Begin
IF (A[I] mod 3 =0) AND (A[I] mod 5 =0) THEN Write(I:3) ;
IF I10 THEN IF A[I]+A[I+1]=T THEN K:=K+1;
WriteLn(‘ Сумма положительных элементов, значения которых
WriteLn(‘ Количество пар соседних элементов с суммой равной ‘,T,’ = ‘,K);
Задача 5. Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
удвоенную сумму положительных элементов;
вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго);
количество пар соседних элементов с одинаковыми знаками.
A:ARRAY[0..10] OF INTEGER;
I: BYTE; S,K: INTEGER;
FOR I:=1 TO 10 DO Begin
Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);
WriteLn(‘ Индексы элементов, значения которых > значения предыдущего элемента’);
FOR I:=1 TO 10 DO Begin
IF (A[I]>0) THEN S:=S+A[I];
IF I1 THEN IF A[I] > A[I-1] THEN Write(I:3);
IF I10 THEN IF (A[I] * A[I+1])>0 THEN K:=K+1;
WriteLn(‘ Удвоенная сумма положительных элементов = ‘,S*2);
WriteLn(‘ Количество пар соседних элементов с одинаковыми знаками = ‘,K);
Задача 6. Дан массив C, состоящий из N элементов. Элементы массива — произвольные целые числа. Вывести на экран элементы массива в обратном порядке.
C:ARRAY[0..N] OF INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
WriteLn(‘ Значения элементов массива в обратном порядке’);
FOR I:=N DOWNTO 1 DO
Задача 7. Дан массив A, состоящий из N элементов. Элементы массива — произвольные целые числа. Распечатать элементы в две строки: в первой строке элементы с нечетными индексами, а во второй — элементы с четными индексами.
A:ARRAY[0..N] OF INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
WriteLn(‘ Элементы с нечетными индексами’);
WriteLn(‘ Элементы с четными индексами’);
Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
сумму отрицательных элементов;
количество тех элементов, значения которых положительны и не превосходят заданного числа А;
номер последней пары соседних элементов с разными знаками.
Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
сумму элементов, имеющих нечетное значение;
вывести индексы тех элементов, значения которых больше заданного числа А;
количество положительных элементов, кратных К. ( К вводится с клавиатуры ).
Дан массив целых чисел, состоящий из N элементов. Определить среднее арифметическое положительных элементов.
Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.
Оценки, полученные учащимися за урок, занесены в массив. Подсчитать количество «5» и «2», полученных учащимися за урок и средний балл.
В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.
4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
Задача 1. Дан массив K, состоящий из 45 элементов. Элементы массива — произвольные целые числа. Определить минимальный элемент массива и его индекс.
K:ARRAY[0..45] OF INTEGER;
I,IND: BYTE; MIN:INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO 45 DO Begin
FOR I:=2 TO 45 DO
WriteLn(‘ Минимальное значение = ‘,MIN);
WriteLn(‘ Индекс минимального значения = ‘,IND);
Задача 2. Дан массив B, состоящий из N элементов. Элементы массива — произвольные целые числа. Определить сумму элементов, расположенных до максимального элемента массива.
B:ARRAY[0..N] OF INTEGER;
I,IND: BYTE; MAX,S:INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
IF B[I]>MAX THEN Begin MAX:=B[I]; IND:=I; End;
WriteLn(‘ Максимальное значение = ‘,MAX);
FOR I:=1 TO IND-1 DO
WriteLn(‘ Cумма элементов, расположенных до максимального элемента =’,S);
Задача 3. Дан массив A, состоящий из N элементов. Элементы массива — произвольные целые числа. Заменить нулями все элементы массива, расположенные за минимальным элементом массива. Измененный массив вывести на экран.
A:ARRAY[0..N] OF INTEGER;
I,IND: BYTE; MIN:INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
WriteLn(‘ Минимальное значение = ‘,MIN);
FOR I:=IND+1 TO N DO
WriteLn(‘ Измененный массив’);
Задача 4. Дан массив A, состоящий из N элементов. Элементы массива — произвольные целые числа. Заменить нулями все элементы массива, расположенные между минимальным и максимальным элементами массива, кроме их самих. Измененный массив вывести на экран.
A:ARRAY[0..N] OF INTEGER;
I, IMIN, IMAX, k1, k2: BYTE; MIN, MAX:INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO N DO Begin
MIN:=A[1]; MAX:=A[1]; IMIN:=1; IMAX:=1;
FOR I:=2 TO N DO Begin
IF A[I]>MAX THEN Begin MAX:=A[I]; IMAX:=I; End;
WriteLn(‘ Минимальное значение = ‘,MIN);
WriteLn(‘ Максимальное значение = ‘,MAX);
ELSE Begin K1:=IMAX+1; K2:=IMIN-1; End;
FOR I:=K1 TO K2 DO
WriteLn(‘ Измененный массив’);
Задача 5. Дан массив чисел. Найти наибольший элемент, поставить его первым.
MAS: ARRAY[1..100] OF INTEGER;
Write(‘ Введите размер массива N= ‘); ReadLn(N);
FOR I:=1 TO N DO Begin
Write(‘ Введите ‘,I,’ элемент массива ‘); ReadLn(MAS[I]);
FOR I:=N DOWNTO 1 DO
IF MAS[I]>NEW THEN Begin NEW:=MAS[I]; K:=I; End;
WriteLn(‘ Измененный массив’);
Задача 6. Известны данные о среднемесячной температуре за год. Определить, какая была самая высокая температура летом и самая низкая зимой.
MAS: ARRAY[1..12] OF REAL;
I: INTEGER; MIN,MAX:REAL;
FOR I:=1 TO 12 DO Begin
Write(‘ Введите среднюю температуру за ‘,I,’ месяц ‘); ReadLn(MAS[I]);
IF MIN>MAS[I] THEN MIN:=MAS[I];
WriteLn(‘ Самая высокая температура летом ‘,MAX);
WriteLn(‘ Самая низкая температура зимой ‘,MIN);
Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.
Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.
Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива.
4.1.4 Алгоритмы удаления, вставки и перестановки элементов
Задача 1. Дан массив A, состоящий из 12 элементов. Элементы массива — произвольные целые числа. Поменять местами значения 1 и 2 элементов, 3 и 4 и т.д. Измененный массив вывести на экран.
A:ARRAY[0..12] OF INTEGER;
I: BYTE; PP:INTEGER;
WriteLn(‘ Значения элементов массива’);
FOR I:=1 TO 12 DO Begin
WriteLn(‘ Значения элементов измененного массива’);
FOR I:=1 TO 12 DO
Задача 2. Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из промежутка [-20,50].
Удалить из него все элементы, в записи которых есть цифра 5.
Вставить число K после всех элементов, кратных своему номеру (К вводится с клавиатуры).
Поменять местами первый положительный и последний отрицательный элементы.>
P,P1:ARRAY[0..15] OF INTEGER; P2:ARRAY[0..30] OF INTEGER;
I,J,E,D,PP,PO,FL: BYTE; K,PRP:INTEGER;
WriteLn(‘ Значения элементов массива P’);
FOR I:=1 TO 15 DO Begin
FOR I:=1 TO 15 DO Begin
E:=ABS(P[I]) mod 10;
IF (E5) AND (D5) THEN Begin P1[J]:=P[I]; J:=J+1; End;
WriteLn(‘ Массив, в котором нет элементов с цифрой 5’);
FOR I:=1 TO J-1 DO
Write(‘ Введите значение переменной ‘); ReadLn(K);
FOR I:=1 TO 15 DO Begin
IF ABS(P[I]) mod I = 0 THEN Begin P2[J]:=K; J:=J+1; End;
WriteLn(‘ Массив, в котором после элементов, кратных своему номеру, вставлено число =’,K);
For I:=1 TO J-1 DO
FOR I:=1 TO 15 DO Begin
IF (P[I]>0) AND (FL=0) THEN Begin PP:=I; FL:=1; End;
WriteLn(‘ Массив, в котором первый положительный и последний отрицательный’);
WriteLn(‘ поменяли местами’);
FOR I:=1 TO 15 DO
Дан массив целых чисел из 10 элементов, заполненный случайным образом из промежутка [-40, 30].
Удалить из него все элементы, которые состоят из одинаковых цифр ( включая однозначные числа).
Вставить число К перед всеми элементами, в которых есть цифра 1 (К вводится с клавиатуры)
Переставить первые три и последние три элемента местами, сохраняя порядок их следования.
4.1.5 Алгоритмы сортировки числового массива
Задача 1. Отсортировать числовой массив. Первый способ.
A:ARRAY[0..N] OF INTEGER;
I,J: BYTE; PP:INTEGER;
WriteLn(‘ Значения элементов массива ‘);
FOR I:=1 TO N DO Begin
FOR J:=N DOWNTO I DO
IF A[J-1]>A[J] THEN Begin PP:=A[J]; A[J]:=A[J-1]; A[J-1]:=PP; End;
WriteLn(‘ Отсортированный массив ‘);
Задача 2. Отсортировать числовой массив. Второй способ.
A:ARRAY[0..N] OF INTEGER;
I,J: BYTE; PP:INTEGER;
WriteLn(‘ Значения элементов массива ‘);
FOR I:=1 TO N DO Begin
FOR I:=1 TO N-1 DO
FOR J:=I+1 TO N DO
IF A[I]>A[J] THEN Begin PP:=A[I]; A[I]:=A[J]; A[J]:=PP; End;
WriteLn(‘ Отсортированный массив ‘);
Даны два упорядоченных массива целых чисел М1 и М2. Слить их в упорядоченный массив. Рассмотреть случаи, когда массивы М1 и М2 упорядочены одинаково и когда по-разному.
Видео:[pascal] 2 урок. 2 часть. решение квадратного уравненияСкачать
4.2 Двумерные массивы
4.2.1 Алгоритмы действий над элементами двумерного массива
Задача 1. В течение недели измерялась температура три раза в день: утром, в обед и вечером. Показания записали в таблицу размерностью 7х3. Определить среднюю температуру за каждый день.
T:ARRAY[0..7,0..3] OF INTEGER;
I,J:BYTE; S:INTEGER; ST:REAL; A:STRING[12];
FOR I:=1 TO 7 DO Begin
WriteLn(‘ Введите показания за ‘,I,’ день’);
💡 Видео
Решение задач по программированию на Pascal. Занятие 2Скачать
Программа для решения корней квадратного уравнения с использованием дискриминанта на языке ПаскальСкачать
Pascal ABC #3 repeat...until, if...then, sqr, sqrt решение квадратного уравненияСкачать
Pascal Coding Quadratic Решение квадратного уравненияСкачать
Pascal GUI Android - Решение квадратного уравнения ►◄Скачать