|
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Нужно найти и исправить ошибку21.02.2020, 11:14. Показов 2396. Ответов 5
Метки нет (Все метки)
Вот методичка с задачей.
Практическое занятие №2
Практическое занятие №2
Тема: Способы построения структурированных программ Цель: изучить способы построения структурированных программ Основные теоретические сведения. Принцип нисходящего проектирования алгоритмов и программ. Для создания “хороших” программ необходимо придерживаться определенных правил программирования. В связи с этим представляет интерес рассмотреть новый подход к разработке программ, получившей достаточно широкое распространение в последние годы - структурное программирование. Идеи структурного программирования были высказаны Э.Дейкстрой еще в 1965 г. Позже им были изложены основные положения структурного программирования в работе “Заметки по структурному программированию”. С тех пор термин “структурное программирование” широко используется, но в разных смыслах и без строгого определения. Структурное программирование - метод программирования, использование которого снижает вероятность ошибок в процессе составления программ, повышает их надежность, эффективность, упрощает понимание, обеспечивает создание программ, структура которых ясна и неразрывно связана со структурой решаемых задач. Целью структурного программирования - упростить процесс написания правильных программ, обеспечить возможность чтения программы от начала до конца, следуя логике, повысить надежность программ, обеспечить сопровождение и модификацию и ускорить разработку. Структурированные программы можно читать как обычный текст сверху вниз без перерыва, так как они имеют последовательную организацию, т.е. применение метода структурного программирования улучшает ясность и читабельность программ. Принцип нисходящего проектирования алгоритмов и программ иначе называют методом пошаговой детализации. Нисходящее проектирование программы, когда первоначально программа рассматривается, как совокупность действий, каждое из которых затем детализируется и представляется как последовательность более простых и конкретных действий, вплоть до отдельных операторов языка; такой подход позволяет реализовать наличие двух видов подпрограмм в языке – процедур и функций. Первоначально продумывается общая структура алгоритма без детальной проработки отдельных его частей, далее прорабатываются отдельные блоки, не детализированные на предыдущем шаге. Таким образом, на каждом шаге разработки уточняется реализация фрагмента алгоритма (или программы) , т.е. решается более простая задача. Полностью закончив детализацию всех блоков, получаем решение задачи в целом. Если на каждом шаге детализации использовать принципы структурного программирования, то получается хорошая структурированная программа в целом. Основная идея метода нисходящего проектирования - не пытаться программировать сразу. Пошаговая детализация (программирование "сверху вниз") автоматически заставляет человека формировать понятную ему же структуру программы. После завершение трансляции (также автоматически) формируется первичный набор тестов; каждый тест отлаживает конкретную подзадачу. Аккуратное проектирование обычно приводит к тому, что программист хорошо представляет себе работу каждой конкретной подзадачи, ее входные и выходные данные, и потому в состоянии протестировать именно ее. По окончании тестирования конкретной подзадачи, можно тестировать другие подзадачи независимо(!).Эта независимость дает также возможность тестировать подзадачи по ходу реализации программы, генерируя после трансляции уже первично отлаженный код. Технология нисходящего проектирования с пошаговой детализацией является неотъемлемой частью создания хорошо структурированных программ. При написании программы с использованием этой технологии вся задача рассматривается как единственное предложение (вершина), выражающее общее назначение программы. Так как вершина редко отображает достаточное количество деталей, на основании которых можно написать программу, то поэтому надо начинать процесс детализации. Вершина разделяется на ряд более мелких задач в том порядке, в котором эти задачи должны выполнятся. В результате получим первую детализацию. Далее каждая из подзадач разбивается на подзадачи, принадлежащие второму уровню детализации. Программист завершает процесс нисходящей разработки с пошаговой детализацией, когда алгоритм настолько детализирован, чтобы его можно было бы преобразовать в программу. Вывод: пошаговая реализация это тактика разработки программы, а нисходящее проектирование это стратегия программирования. Цели структурного программирования
ЗАДАЧА Известно количество посетителей технической выставки за неделю ее работы:
Определить:
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ Пусть i - номер возрастной группы, i=1..4;ПОСЛЕДОВАТЕЛЬНАЯ ФОРМАЛИЗАЦИЯ АЛГОРИТМА
ДЕТАЛИЗАЦИЯ ОТДЕЛЬНЫХ ШАГОВ АЛГОРИТМА И НАПИСАНИЕ ФРАГМЕНТОВ ПРОГРАММЫ (на языке Pascal)
ПРОГРАММА
При проектировании блок-схемы алгоритма, содержащего подпрограммы(процедуры или функции), следует составлять укрупненную блок- схему для всей программы и отдельные блок-схемы для каждой процедуры(или функции). ПРИМЕР УКРУПНЕННОЙ БЛОК-СХЕМЫ для описанной выше задачи: Ход работы:
А вот мой код.
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21.02.2020, 11:14 | |
|
Ответы с готовыми решениями:
5
Нужно исправить ошибку Нужно исправить ошибку Протабулировать функцию, нужно исправить ошибку |
|
Почетный модератор
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
||||||
| 21.02.2020, 11:42 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89
|
|
| 21.02.2020, 12:38 [ТС] | |
|
Оставим это readln( P[ i, k]);
Но ошибку это не исправило
0
|
|
|
Почетный модератор
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|
| 21.02.2020, 13:00 | |
|
Честно говоря в методичке написано неправильно, а в Вашем коде вообще чушь, поэтому я даже не беду в него лезть. Я бы написал совсем по другому.
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89
|
|
| 21.02.2020, 13:10 [ТС] | |
|
Было бы не плохо , если бы вы написал код к этой задаче )00)))))0)))
0
|
|
|
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
|
||||||
| 22.02.2020, 10:59 | ||||||
Сообщение было отмечено nink1338 как решение
Решение
1
|
||||||
| 22.02.2020, 10:59 | |
|
Помогаю со студенческими работами здесь
6
Найти и исправить ошибку (Паскаль) Помогите найти и исправить ошибку Найти ошибку в программе и исправить её Найти и исправить ошибку в коде Помогите найти ошибку в программе и исправить её Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|