Был на уроке нечего не понял, как нужно делать напишите, пожалуйста полную программу.
С клавиатуры вводится 10 чисел (for) найти сумму чисел,количество положительных, сумму чисел кратных трех.
Домашние задания: Информатика
Напишите, пожалуйста программу на языке раскаль Pascal ABC
Вот (данные не с клавиатуры, а ДСЧ):

Нина Бабенко
?
Нина Бабенко
Хорошо
На халяву? Это вы сами Читайте учебник, можно 3 (ТРИ) раза.
Или положите денежку на телефон отличника (отличницы), а ПОТОМ попросите помочь.
И ОБА рады и ОБА знаете, что от учебы есть польза.
Или положите денежку на телефон отличника (отличницы), а ПОТОМ попросите помочь.
И ОБА рады и ОБА знаете, что от учебы есть польза.
Подробно что каждая строка означает распишу в комментариях к этому ответу. А пока что вот программа:
Program P1;
uses crt;
const a=3;
n=10;
type mas=array [1..n] of integer;
var i, np, sum, sumk: integer;
m: mas;
begin
clrscr;
np:=0;
sum:=0;
sumk:=0;
writeln ('Введите с клавиатуры по очереди ', n, ' целых чисел для последовательности. После ввода каждого числа нажимайте клавишу Enter.');
for i:=1 to n do begin
write ('Введите ', i, '-е число: ');
readln (m[i]);
end;
write ('Была введена последовательность:');
for i:=1 to n do begin
write (' ', m[i]);
end;
writeln (' ');
for i:=1 to n do begin
sum:=sum+m[i];
if m[i]>0 then np:=np+1;
if m[i] mod a=0 then sumk:=sumk+m[i];
end;
writeln ('В этой последовательности:');
writeln ('Сумма всех введенных чисел составляет: ', sum);
writeln ('Количество положительных (>0) чисел: ', np);
writeln ('Сумма чисел, кратных ', a, ' составляет: ', sumk);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Евгений Кривцов
Итак, расписываю подробно:
Program P1; - название программы. В данном случае - P1. Может быть любым, главное, чтобы не содержало русских букв, начиналось с буквы и не содержало пробелов и зарезервированных слов (тех, которые выделяются и др. команд, вроде "uses" и т.д.). В принципе, эту строку можно не писать. Я лишь написал, исходя из правил хорошего тона программиста (т.е. программа должна быть понятной (как пользователю, так и др. программистам, т.е. код тоже должен быть понятным), совместимой и оптимизированной. В данном случае, больше на совместимость был упор со старыми версиями Turbo Pascal (до 3-й версии - ибо, начиная с 3-ей уже понимают и без этой строки).
uses crt - подключаю модуль crt (т.е. текстовый экран + клавиатура). В Pascal ABC выведет маленькое окно. Можно не писать
Program P1; - название программы. В данном случае - P1. Может быть любым, главное, чтобы не содержало русских букв, начиналось с буквы и не содержало пробелов и зарезервированных слов (тех, которые выделяются и др. команд, вроде "uses" и т.д.). В принципе, эту строку можно не писать. Я лишь написал, исходя из правил хорошего тона программиста (т.е. программа должна быть понятной (как пользователю, так и др. программистам, т.е. код тоже должен быть понятным), совместимой и оптимизированной. В данном случае, больше на совместимость был упор со старыми версиями Turbo Pascal (до 3-й версии - ибо, начиная с 3-ей уже понимают и без этой строки).
uses crt - подключаю модуль crt (т.е. текстовый экран + клавиатура). В Pascal ABC выведет маленькое окно. Можно не писать
Евгений Кривцов
Чертово ограничение длины комментариев...
uses crt (заканчиваю про него) - тут больше исходя из правил хорошего тона - ибо в Turbo Pascal были бы полезные фишки от этого модуля, о чём речь пойдёт дальше в clrscr и readkey.
const a=3; - раздел описания констант, т.е. тех переменных, значение которых не меняется. Названия переменных могут быть любыми. В данный момент я лишь обозначил число a - число, которому должны быть кратны числа, n - число чисел в последовательности.
type mas=array [1..n] of integer; - type - раздел описания глобальных переменных. array - массив (т.к. проще так работать с данным заданием). mas - его название, [1..n] - размеры - т.е. от 1-го числа в последовательности до n (константы выше). integer - целочисленный тип элементов (т.е. не дробных и не символьных).
uses crt (заканчиваю про него) - тут больше исходя из правил хорошего тона - ибо в Turbo Pascal были бы полезные фишки от этого модуля, о чём речь пойдёт дальше в clrscr и readkey.
const a=3; - раздел описания констант, т.е. тех переменных, значение которых не меняется. Названия переменных могут быть любыми. В данный момент я лишь обозначил число a - число, которому должны быть кратны числа, n - число чисел в последовательности.
type mas=array [1..n] of integer; - type - раздел описания глобальных переменных. array - массив (т.к. проще так работать с данным заданием). mas - его название, [1..n] - размеры - т.е. от 1-го числа в последовательности до n (константы выше). integer - целочисленный тип элементов (т.е. не дробных и не символьных).
Евгений Кривцов
var i, np, sum, sumk: integer; - var - раздел описания локальных переменных. Тут я обозначил (да, забыл написать, что с переменными такая же штука (с названиями, что и с именем программы, т.е. латиница, без пробелов, цифры (если есть) - после букв, никаких зарезервированных слов и без повторения): i - собственно каждое число в последовательности, np - количество положительных чисел, sum - общая сумма (сумма всех), sumk - сумма, кратных 3. Ну и обозначил массив.
begin - собственно, начало программы (типа "сделать, выполнить до end" то, что ниже.
np:=0; - знак := - присвоение, человеком читается как просто =. Эти присвоения 0 можно не писАть, т.к. пока не задано иное значение, программа и так считает их =0.
writeln (и write) - вывести write - в строку, writeln - в столбец, т.е...
begin - собственно, начало программы (типа "сделать, выполнить до end" то, что ниже.
np:=0; - знак := - присвоение, человеком читается как просто =. Эти присвоения 0 можно не писАть, т.к. пока не задано иное значение, программа и так считает их =0.
writeln (и write) - вывести write - в строку, writeln - в столбец, т.е...
Евгений Кривцов
...т.е. с переходом на следующую строку (как бы автоматическое нажатие клавиши Enter). write (a) - вывести значение переменной a, write (' ') - вывести текст из апострофов (одинарных кавычек) на экран. В данном случае (writeln ('Введите с клавиатуры по очереди ', n, ' целых чисел для последовательности. После ввода каждого числа нажимайте клавишу Enter.'); ) выведется текст: "Введите с клавиатуры по очереди ', n, ' целых чисел для последовательности. После ввода каждого числа нажимайте клавишу Enter."
read и readln - аналогично считать текст, введённый с клавиатуры.
for i:=1 to n do begin - цикл for (счётчик) - т.е. для переменной i, принимающей значения от 1 до n (переменной, а в нашем случае - константы) с шагом 1, т.е. автоматически i+1 будет идти. Т.е. 1, 2, ..., 10 (т.к. n=10).
read и readln - аналогично считать текст, введённый с клавиатуры.
for i:=1 to n do begin - цикл for (счётчик) - т.е. для переменной i, принимающей значения от 1 до n (переменной, а в нашем случае - константы) с шагом 1, т.е. автоматически i+1 будет идти. Т.е. 1, 2, ..., 10 (т.к. n=10).
Евгений Кривцов
Итак, для i от 1 до n выполнить: считать очередное (i-е) число, предварительно запросив его, но текстом, а не просто мигающим курсором, если было бы опущено write.
end; - закончить промежуточные несколько действий.
Дальше мы выводим текст с пояснениями для пользователя, т.е. итоговая последовательность, которую он ввёл, выводим строкой на экран через пробел каждое число (для этого прописали пробел в апострофах, чтобы было, например, "1 10 5".., а не "1105".
Далее в for (вернее, через for) опять обращаемся к массиву и говорим программе найти/посчитать: к сумме прибавляем каждое число, если число положительное, то приплюсовываем 1 к количеству положительных, а mod - это остаток от деления, т.е. если число кратно, то оно делится без остатка, т.е. если число, которое делим на 3 дает остаток
end; - закончить промежуточные несколько действий.
Дальше мы выводим текст с пояснениями для пользователя, т.е. итоговая последовательность, которую он ввёл, выводим строкой на экран через пробел каждое число (для этого прописали пробел в апострофах, чтобы было, например, "1 10 5".., а не "1105".
Далее в for (вернее, через for) опять обращаемся к массиву и говорим программе найти/посчитать: к сумме прибавляем каждое число, если число положительное, то приплюсовываем 1 к количеству положительных, а mod - это остаток от деления, т.е. если число кратно, то оно делится без остатка, т.е. если число, которое делим на 3 дает остаток
Евгений Кривцов
...т.е. если число, которое делим на 3 дает остаток 0 (3 mod 3 =0), то видим, что число кратно, ну и складываем его.
Далее выводим текст и значения полученные.
Да, забыл расписать про clrscr - это - очистка экрана (в Pascal ABC можно не писать), а в Turbo Pascal желательно, чтобы не было мусора на экране вроде версии Паскаля и предыдущих значений вычислений (если программа запускалась несколько раз). Такая фишка есть только в модуле crt, поэтому я и подключаю данный модуль.
readkey - типа системная пауза - в Pascal ABC можно не писать. Ибо и так нормально работает. А вот Turbo Pascal может быстро прогнать программу и закрыть окно (в том числе быстро промелькнув) и не дать увидеть результат...
Далее выводим текст и значения полученные.
Да, забыл расписать про clrscr - это - очистка экрана (в Pascal ABC можно не писать), а в Turbo Pascal желательно, чтобы не было мусора на экране вроде версии Паскаля и предыдущих значений вычислений (если программа запускалась несколько раз). Такая фишка есть только в модуле crt, поэтому я и подключаю данный модуль.
readkey - типа системная пауза - в Pascal ABC можно не писать. Ибо и так нормально работает. А вот Turbo Pascal может быстро прогнать программу и закрыть окно (в том числе быстро промелькнув) и не дать увидеть результат...
Евгений Кривцов
...Вот эта команда это и исправляет, заставляя программу ждать нажатия пользователем любой клавиши. Присутствует тоже только в модуле crt, без него не поймёт. Если crt в Turbo Pascal не подключать, то исправление - readln (). Ну и ещё 1 полезная штука в модуле crt - можно украсить программу (интерфейс), например, сделать (изменить) цвет фона и цвет текста. Для этого используются команды textbackground ({цвет - либо текстом (англ) либо цифрой от 0 до 16}) - цвет фона, например textbackground (blue); - синий фон, и textcolor ({аналогично}) - цвет текста.
Евгений Кривцов
Ну и закончу комментирование тем, что расскажу, как внутри кода программы можно делать пояснения - для этого используются комментарии. Обозначаются они либо двумя дробями "/", т.е. "//" - тогда в 1 строку комментарий, либо в фигурные скобки, либо в скобки и звездочку - тогда между ними можно на несколько строк комментарий написать. Т.е. например:
//текст комментария
{текст комментария}
(*текст комментария*).
//текст комментария
{текст комментария}
(*текст комментария*).
если 1 урок то скажи что ниче не понял и попроси еще объяснить
Нина Бабенко
Нет уже 2 урок нечего не понимаю, разбираюсь не получается.
Нина Бабенко
Понимают, но объяснять не кто не будет ?
Похожие вопросы
- Дан некоторый числовой массив. Надо найти сумму положительных элементов этого числового массива. На Pascal ABC.
- Помогите пожалуйста решить задачу по программированию (Pasсal ABC.net).
- Короче, помогите написать программу на языке паскаля где нужно--->
- 8 класс напишите две программы, используя цикл for
- Программы на языке паскаль.Задачи
- Написать диалоговую программу, которая спрашивает у вас: «Какая сегодня дата?»
- Написать диалоговую программу, которая спрашивает у вас: «Какой твой любимый предмет, какую оценку ты по нему имеешь?».
- Напишите код программы для решения данной задачи.
- Написать диалоговую программу, которая спрашивает у вас: «Какой твой любимый предмет, какую оценку ты по нему имеешь?»
- Программирование, Напишите пожалуйста на Python внесение депозита на банковскую карту.