Форум вопросов для участников дистанционного курса по обучению программирования в среде PascalABC
Ответов - 11
вс, 16/09/2012 - 19:35
Ирина Александровна Волкова
На сайте с: 12/01/2009
Баллы: 2617
Уважаемые коллеги!
Мы рады приветствовать Вас на дистанционном курсе "Подготовка к ЕГЭ: Основы программирования на языке Паскаль". Желаем Вам успешного обучения!
В случае, если у Вас возникнут вопросы по ходу обучения, Вы можете их задать на этом форуме. В вопросе указывайте номер задания, вызвавшего затруднение, и прикрепляйте файл, с которым вы работаете.
Здесь же можно обсудить методические приемы преподавания различных тем программирования.
Добрый день! У меня проблема: не смогла установить PascalABC.Net на нетбук (32-разрядная Windows 7 Начальная), они совместимы? Может нужно найти другой установочный файл?
Елена Николаевна, добрый день! Как бы они совместимы. Вариант установки подсказала коллега. Вы просто не говорите, какое сообщение выдает среда после запуска. Что значит "не смогла установить"? Не устанавливается? Или не запускается? Если не устанавливается, что говорит? Если не запускается, какое сообщение выдает?
Решаю задачу из 9 лаборатной работы, где нужно построить забор. Что самое интересное, вроде все правильно прописываю по координатам, а в одном месте ошибка. Вот поглядите! Прикладываю код! Жду ваших комментов!
uses graphABC;
begin
setpencolor(clrandom);
setpenwidth(5);
setbrushcolor(clrandom);
var dl:=20;
var x:=100;
var y:=100;
for var i:=1 to 10 do
begin
moveto(x,y);
lineto(x+50,y-50);
lineto(x+50,y-50);
lineto(x-100,y);
lineto(x,y-200);
moveto(x+100,y);
end;
end.
Анастасия Владимировна, доброго времени суток! В 9 лабе задача про забор не единственная. Да, что-то Ваши координаты пляшут. У Вас две одинаковые строки и не задействована переменная dl. Посмотрите этот вариант:
uses GraphABC;
var x,y,k:integer;
begin
x:=100;y:=100;
for k:= 1 to 5 do
begin
MoveTo(x,y);
LineTo(x-10,y+10);
LineTo(x-10,y+100);
LineTo(x+10,y+100);
LineTo(x+10,y+10);
LineTo(x,y);
FloodFill(x,y+10,clRandom);
x:=x+20;
end;
end.
Есть ещё задача про забор, где запрашивается кол-во досок и длина забора. Удачи!
Спасибо! Попробую ваш вариант. А почему координаты пляшут, мне даже не понятно, пыталась разбираться, а гдето упускаю момент. Что не одна я в курсе, на одной застряла!
Добрый день, коллеги! Извините, что не ответил сразу. Как-то не могу привыкнуть, что PascalABC.Net стоит не на всех компьютерах в ИРО и УрФУ.
Я бы Вашу задачу попытался решить все же как-то более универсально. Вообще возьмите за привычку не использовать внутри текста программы константы. Они должны быть в блоке констант (исключение - когда константа используется не более 1 раза и программа небольшая. Если большая - значит в блок констант!).
uses graphABC;
begin
var a:=40; // ширина доски
var h:=200; // высота доски
var x:=100;
var y:=100;
// начинаем рисовать с верхнего угла доски
for var i:=1 to 10 do
begin
moveto(x,y);
lineto(x+a div 2,y + a div 2); // линия с вершины вправо под углом
lineto(x+a div 2,y + a div 2 + h); // линия вниз
lineto(x-a div 2,y + a div 2 + h); // низ доски
lineto(x-a div 2,y + a div 2); // левый бок доски
lineto(x,y); // вернулись в исходную точку
floodfill(x,y+5, clrandom); // закрасить внутреннюю область доски
x+=a; // новая координата вершины новой доски
end;
end.
Комментарий был изменен с момента создания (doliner, Fri, 12/10/2012 - 13:54).
А координаты пляшут, поскольку вы повторяете все действия на одном месте - ведь после цикла ни одна переменная у вас не изменилась! Кроме того, похоже, есть проблемы с пониманием работы lineto. Фишка в том, что эта процедура рисует линию из текущей точки в точку, координаты которой указаны в параметрах процедуры. Следующая lineto рисует линию ИЗ НОВОЙ ТОЧКИ! См. пример.
Коллеги, добрый день! Я напоминаю, что на след. неделе у нас с вами итоговое занятия в пт., 26 октября.
Ждем вас к 10:00 в ауд. 205.
Разумеется, должны быть сделаны лабораторные работы и выпускная работа.
Напоминаю, что выпускная работа должна демонстрировать ваш уровень подготовки по программированию и может включать:
1) программу, ориентированную на использование в учебном процессе. Это может быть, например, тренажер по информатике, обеспечивающий отработку умений при подготовке к ЕГЭ и т.п.
2) методическая разработка, ориентированная на урок информатики (в идеале - программирования), в рамках которого используются фрагменты или готовые программы на языке Паскаль.
Уважаемые коллеги!
Мы рады приветствовать Вас на дистанционном курсе "Подготовка к ЕГЭ: Основы программирования на языке Паскаль". Желаем Вам успешного обучения!
В случае, если у Вас возникнут вопросы по ходу обучения, Вы можете их задать на этом форуме. В вопросе указывайте номер задания, вызвавшего затруднение, и прикрепляйте файл, с которым вы работаете.
Здесь же можно обсудить методические приемы преподавания различных тем программирования.
Успехов!